Skip to content

Latest commit

 

History

History
539 lines (412 loc) · 20.6 KB

VERSIONS.md

File metadata and controls

539 lines (412 loc) · 20.6 KB

api-blockchain-core

Next Version

Features

Fixes

Deprecations

Version 2.20.0

Features

  • update identity contracts' purpose handling
    • to match updated purpose handling
    • VERSION_ID can be used to decide which version to use
    • newer identities will have version 1
    • keys can be added and removed with multiple purposes at once (addMultiPurposeKey, removeMultiPurposeKey)
    • accounts with purpose 3 can only be removed by themselves
    • only one account with purpose 3 is allowed per identity
  • add experimental support for identities on substrate via vade

Fixes

  • use activeIdentity for Onboarding.createProfile dataKey save

Version 2.19.0

Features

  • add sourceIdentity as optional parameter for setDidDocumentOffline to explicitly parse the signing identity
  • add check in createOfflineProfile for company profile type to create two profiles otherwise only create one
  • add method fillProfile to fill empty profile
  • add method getRuntimeForIdentity to create a runtime for a specific identity
  • add methods setIdentityAccess, removeIdentityAccess and getIdentityAccessList for managing access to identities
  • A DID document's @context and controller properties can now also be arrays
  • ensure support for Runtimes useIdentity flag in entire library
  • update following modules for useIdentity support
    • DigitalTwin
    • Onboarding
    • Payments (limited, will undergo further changes in future)
    • Verifications
    • Votings
  • added EvanIdentity as authorization parameter to result of utils.getSmartAgentAuthHeaders (for usage sample have a look to edge-server-seed)
  • add Identity class and add functions for grant / remove access to act on behalf of identity
  • support identity salting for encryptionKey generation for createDefaultRuntime

Fixes

  • Fixed bug where a new DID document proof would incorporate the old proof and thus would make the document increasingly larger
  • Fixed bug for default DID documents that had a checksum case ethereumAddress property which made the proof validating mechanism fail
  • add startBlock argument to loadChannelFromBlockchain in Payments to avoid long running function calls
  • update tests to allow running tests via identity
  • include identity tests to automatic test runs
  • throw correct error message when running setVerificationAndVc without useIdentity runtime
  • use useIdentity flag for createOfflineProfile
  • pass password to createOfflineProfile to enable dataKey generation based on the users identity
  • checked node 13 compatibility
  • reset executor signer for runtime initialization with account that has no identity

Version 2.18.0

Features

  • add methods deactivateDidDocument and didIsDeactivated to check and handle DID deactivation status
  • improve performance of shareProperties, unshareProperties, setContainerShareConfigs and related operations in Container
  • add methods deactivateDidDocument and didIsDeactivated to check and handle DID deactivation status
  • added additional properties updated, created, and proof to DID documents
  • added proof validation to getDidDocument (only for documents that actually contain a proof)
  • export config and runtimeConfig by createDefaultRuntime
  • introduced interfaces for did documents getDidDocument, setDidDocument, and setDidDocumentOffline

Fixes

  • fix credentialStatus.id uses short hand path for resolver links
  • add check for getRevokeVcStatus to throw error when non existing VC is passed
  • fix ipfsLib now uses the configured port
  • fix getListEntries in the api docs
  • fix buffer-to-string conversion, try to decode to utf8, if this fails, decode it to binary
  • add member-ordering rule to eslint config
  • fix container.getListEntry to not throw an exception on call anymore
  • replaced deprecated property owner in DID publicKey fields with controller
  • fix pending contract members after unshare
  • update verification keys for onboarding, when useIdentity is enabled
  • reset activeIdentity within createOfflineProfile when useIdentity is enabled

Version 2.17.0

Features

  • add support for identity based accounts to KeyExchange, Sharing and Profile modules
  • update test setup to support identity based accounts
  • adding DID generation upon onboarding
  • allow plugins property within DigitalTwin.create to create initial containers
  • add DigitalTwin.exportAsTemplate to copy a existing twin configuration
  • ensure DigitalTwin and Container description to use at least dbcpVersion 2
  • update root verification handling to use genesis account
  • add lookup method for an identity's owner's address
  • add deactivation mechanism for twins
  • add signer-identity to enable identity to getGasPrice using underlying account
  • add setVerificationAndVc function to enable VC creation for verification
  • update Verifications logic and tests to support identity based account

Fixes

  • use typescript version 3.7.4
  • fix behavior of DataContract for unencrypted data
  • fix did public key handling to properly support proofs
  • add checks for configured identity and account to prevent unintentional usage of active identity
  • add support for custom DID registries for DID tests

Version 2.16.0

Features

  • add getPublicKey implementation to SignerIdentity
  • add Did module for managing DID documents
  • add possibility to instantiate a new SignerIdentity in two steps
    • can be used to create circular structures if required
    • first call constructor, you can omit config argument
    • when rest (e.g. verifications) has been set up you can call updateConfig to finalize SignerIdenty instantiation
  • add getService, setService to DidResolver
  • add Vc module for managing VC documents and revocations

Fixes

  • fix Container documentation links and add warning to ContainerUnshareConfig documentation
  • add interfaces used in exported classes to export list
  • update pre-commit hook to use eslint for typescript

Version 2.15.0

Features

  • add setContainerShareConfigs to Container API
  • add removeEntries to Container API
  • only allow unshareProperties for owner, if force attribute is set
  • add remove function to Ipfs
  • implement unPinFileHash function in dfs
  • remove old sharing ipfs hash within saveSharingsToContract
  • add signer-identity for making transactions via identity contract
  • add tests for encryption/decryption with identity based profiles

Fixes

  • move expirationDate in formatToV2 to details object
  • fix profile type iot device specification
  • ensure that content keys, before they get shared, are added to the Container keys
  • add EncryptionWrapperCryptorType, EncryptionWrapperKeyType, EncryptionWrapperOptions, EncryptionWrapper to index.ts exports
  • update naming of verifications (replace older occurrences of "validations" with "verifications")

Deprecations

  • remove registration company name and use accountName for all
  • remove stop function from Ipfs

Version 2.14.1

Fixes

  • export missing unshareProperties from index.ts
  • fix handling of empty values in mappings of data contracts
  • fix racing condition issue in sharing

Version 2.14.0

Features

  • use container logic for profile management
  • update onboarding logic to fit current profile setup
  • add more cleanup and hardening to unshareProperties for Container API
  • add support to remove sharings to Sharings API
  • improve support for working with profiles of other users via Profile API

Fixes

  • fix race conditions in sharings update, which could occur when sharings are updated in parallel

Version 2.13.0

Features

  • add setProfileProperties and getProfileProperties

Fixes

  • remove custom agpl appendix

Version 2.12.0

Features

  • add generic support for preparing and executing transactions via identity

Fixes

  • fix notEnsRootOwner check to allow each account that gets the /evan account from the ens root owner
  • fix typos in variable naming

Version 2.11.0

Features

  • update versions of dependencies
  • improve performance of (digital twin) container creation process
  • add helper for creating smart agent auth headers

Fixes

  • add node-scrypt as dependency to fix browserify build
  • fix executor-agent, executeContractCall to return correctly received BigNumber from smart-agent-executor

Version 2.10.0

Features

  • update versions of dependencies

Fixes

  • remove unnecessary dependencies

Version 2.9.0

Features

  • add support for timeout (adjusts transaction timeout) option to Wallet and ExecutorWallet

Fixes

  • fix executor agent to be compatible with web3 1.2 and 2.0

Version 2.8.4

Fixes

  • add toString to return correct value for verification.raw.topic BigNumber result returned by web3 1.0.0-beta.55

Version 2.8.3

Fixes

  • fix verification v2 status compute and statusComputer

Version 2.8.2

Fixes

  • fix dataKey generation with sha3

Version 2.8.1

Fixes

  • add support for web3 1.0.0-beta.55

Version 2.8.0

Features

  • add support for delegated issuing of verifications
  • add getNestedVerificationsV2 with updated interfaces and return values for clearer identity status
  • add evan light docs design

Version 2.7.1

Fixes

  • allow empty description for Container.create so it will fallback to default description
  • add empty check for recursive Container applyIfEncrypted calls

Version 2.7.0

Features

  • add default boolean defaultSchemas to DataContainer

Version 2.6.0

Features

  • add left padding for contract link setting and checking in Verifications as contract identity links are now stored as 32B

Fixes

  • reload DataContainer plugin definition before saving / deleting tree

Version 2.5.0

Features

  • add encryption-wrapper as a wrapper for encryption, that realizes a uniform way to en- and decrypt different types of data with different key storages

Fixes

  • add correct loadForAccount logic to DataContainer plugins
  • move DataContainer plugin saving to separated profile space

Version 2.4.1

Fixes

  • fix linkIdentity handling in verifications module during identity creation

Version 2.4.0

Features

  • add gasPrice option to runtime config
  • add support for contracts without description
    • add updateDescription flag to createIdentity to skip automatic description updates
    • add isIdentity flag to
      • executeOnIdentity
      • confirmVerification
      • deleteVerification
      • getVerifications
      • rejectVerification
      • executeOnIdentity (private)

Fixes

  • fix empty accountStore by initializing runtime with mnemonic and password
  • update docu for verifications
  • fix handling of properties with schemas without properties
  • replace null with empty string for aes-ecb createCipheriv

Deprecations

  • rename container template handling to plugin
    • ContainerTemplate to ContainerPlugin
    • defaultTemplate => defaultPlugin
    • profilePluginsKey => profilePluginsKey
    • templates => plugins
    • toTemplate => toPlugin
    • deleteContainerTemplate => deleteContainerPlugin
    • getContainerTemplate => getContainerPlugin
    • getContainerTemplates => getContainerPlugins
    • saveContainerTemplate => saveContainerPlugin
    • applyTemplate => applyPlugin

Version 2.3.1

Fixes

  • fix hashing of passwords for generated profiles

Version 2.3.0

Features

  • add profile creation in one line of code to Onboarding
  • add the ability to initialize the runtime with a mnemonic and password

Fixes

  • use lodash for cloning Container templates
  • export lodash from index.ts for ui libraries
  • use object dataSchema for DataContainer - ContainerFile
  • fix deprecation warnings on node 11+

Version 2.2.0

Features

  • add the ability to parse accountid + password in key config for runtime
  • add static functions to Container to save, get and delete templates on users profile
  • add ensureProperty, that allows to add entries or lists to containers without setting values
  • add default schemas for property types
  • add getContainerShareConfigs to retrieve all share configs
  • add file handling to Container module

Fixes

  • fix getMembers user fetching (now returns all accounts and not only the first 10)

Version 2.1.1

Fixes

  • allow remove spaces and special characters from ajv schema $id in DigitalTwin DataContainer
  • fix relative loaded ethereumjs-tx/index.js from libs/eth-lightwallet/keystore.js

Version 2.1.0

Features

  • add support for MultiSigWalletSG wallets to wallet wallet module
  • add tracking for file hashes saved with ipld module
  • fix ensureVerificationDescription to match getFullDescriptionDomainWithHash ens paths
  • use correct defaultVerifications topics loadActiveVerifications
  • add support for passing Logger instance to createDefaultRuntime
  • return Logger instance from createDefaultRuntime
  • add digital-twin module (wrapper for DigitalTwin contracts)
  • add container module (DataContract wrapper)
  • add support for type array in data-contract (if type is array, subproperty .items is used for list entry validation)
  • add support for templates to profile
  • add support to automatically add property to profile when storing properties
  • add support to check if an account can perform an operation to RightsAndRoles

Fixes

  • fix DataContract getEntry to load unencrypted data, when no profile for the requesting account exists
  • fix empty verification missing subjectIdentity
  • verifications from the root evan user are never self issued

Deprecations

  • remove build scripts for browserify bundle
  • remove bcc/bundles/bcc.ts file and switch to generalized index.ts for both, node and ui bundle (ui build job was moved to ui-dapps/evan-libs/bcc)
  • add dependency to RightsAndRoles to Profile

Version 2.0.0

Features

  • add support for contract creation to executor-wallet
  • add support for handling multiple confirmations to executor-wallet and wallet
  • use root level wallet factory (wallet.factory.evan) instead of a business center scoped wallet factory
  • add support for sending funds with transactions in wallet
  • executor-wallet now needs accountId option in constructor, which is used to execute internal transactions
  • add disableSubVerifications flags to verifications

Fixes

  • add keepaliveInterval to web3 in test-utils
  • remove request from ExecutorAgent and replace it with a build in https / http request

Deprecations

  • add accountId argument to ClaimHolder constructor
  • rename Claims to Verifications
  • add nested verification functions and deep validity checks

Version 1.7.1

Fixes

  • add ignoring of missing keys when decrypting unencrypted data

Version 1.7.0

Features

  • update setClaims to use issuers identity for setting claims on subject
  • add linking and checks for contract identities
  • add missing dbcpVersion to dbcp files
  • add licenses to dbcp files

Fixes

  • remove OriginIdentity, as ClaimHolder is used for identities

Version 1.6.1

Fixes

  • remove web3 initialization within the ServiceContract
  • use 1.0.0-beta.33, beta.37 will cause Websocket errors in Edge browser

Version 1.6.0

Features

  • add own ipfs handler
  • add ipfs identification header to enable future ipfs payments
  • add defaultClaims to Profile loadActiveClaims
  • add Votings helper for holding votes on-chain
  • add support for PayableRegistrar, that allows to by domain names with EVEs
  • add support for ENS registries with time limited nodes
  • add support for permanent ENS address on payable registrar
  • add support for retrieving proposals paged
  • add support for setting claims on contracts

Version 1.5.0

Features

  • add description to claims
  • add addClaimWithMetadata function to claims for setting claim and metadata at the same time
  • add creation block data to claim information
  • claims are not overwritten anymore, but a new claim is created per set call
  • add description setting (on central claims ENS domain)
  • add description resolval to get function

Deprecations

  • claims are no longer updateable, a new claim is created for every setClaim transaction

Version 1.4.0

Features

  • adjust claims service to be ERC725/ERC735 compliant
  • add loadActiveClaims and setActiveClaims function to profile to handle users active claims

Version 1.3.1

Fixes

  • fix Profile.exists check, that threw if profile contract cannot be found

Version 1.3.0

Features

  • add getKeyHistory to sharings to retrieve all keys for an account and a section
  • add bumpSharings to sharings, that adds a new key for all given accounts for given section
  • add removeBcContract to profile to remove profile entries that were written using addBcContract
  • export crypto library, DBCP Validator, DBCP Envelop
  • export createDefaultRuntime within the bcc frontend bundle + adjust it for frontend smartcontracts usage

Fixes

  • fix ipld deleting issue, that occurred when deleting linked nodes in linked subtrees

Version 1.2.2

Fixes

  • move require(@evan.network/smart-contracts-core) within createDefaultRuntime to capsuled scope, to be able to require it only in backend scope
  • fix window checks on node environments
  • fix initailization of aesblob with dfs
  • fix rights and roles 0x0 encoding

Version 1.2.1

Fixes

  • replace interruptStep = 200 with interruptStep = 2000 to fix old / mobile browser breaking by calling to many setTimeouts
  • add AesBlob to index export and runtime

Version 1.2.0

Features

  • add NameResolver class, that extends DBCPs version with claimAddress that allows to claim domains from a fifs registrar node
  • add functions for editing sharings with Sharings module in bulk
  • improve ServiceContract call creation performance
  • add encryptioncontext to dataContract

Fixes

  • fix contract references in service contract calls
  • fix decryption issues in service contracts

Version 1.1.0

Features

  • add support for wallet/proxy contracts (current implementation allows n wallet owner with a required confirmation count of 1, to allow grouping of accounts)
  • add ExecutorWallet, that wraps calls to Wallet, but behaves like the normal Executor
  • add ExecutorAgent, that wraps contract creation and interaction to edge-server actions
  • add Claims module for issuing and managing claims about other parties
  • add getCallOwner to get a ServiceContractss call creator

Fixes

  • add validation for service definitions, calls and answers to ServiceContract
  • remove @evan.network/smart-contracts-admin dependency
  • ServiceContractss getter for calls and answers now return null, if unable to decrypt to allow retrieving multiple calls/answers and ignore unrelated ones

Deprecations

  • remove endpoint property from service contracts

Version 1.0.2

Features

  • add support for adding sharing file hashes to cache to avoid duplicate contract calls
  • add paging to getCalls and getAnswers in ServiceContract module
  • add function to clear sharing caches to Sharing module
  • add support for nested encryption to ServiceContract module
  • rename to api-blockchain-core

Fixes

Deprecations

  • change service call encryption schema to multi-sharings based encryption

Version 1.0.1

Features

  • add docu for rights-and-roles.ts, ipld.ts
  • use @evan.network for package name and dependencies scopes
  • add .npmignore
  • (deprecation) rights-and-roles.ts:hasUserRole second argument "accountId" will be dropped, as it isn't required anymore
  • rename contractus variables to evan
  • rename bcc-core bundle to bcc
    • rename BCCCore to CoreRuntime
    • rename BCCProfile to ProfileRuntime
    • rename BCCBC to BCRuntime
  • allow overwriting runtimes nameResolver with runtimeConfig
  • fix unbound entry retrieval in DataContract.getListEntries by adding paging to it
  • add removeAccountFromRole and transferOwnership to RightsAndRoles for better permission management
  • make extendSharings publicly accessible for adding properties to sharings without saving them
  • add createSharing to DataContract and accept a sharings hash in createContract , which allows to decouple sharing creation and contract creation
  • accept ipld hashes in storeForAccount in Profile to decouple tree encryption and property storing
  • add support for multi-sharings to Sharings module
  • add multi-sharing support to ServiceContract module

Version 1.0.0

  • DBCP update
  • Fix web3 reconnect
  • Add iframe support for dapps

Version 0.9.0

  • initial version and release candidate for 1.0.0