Skip to content

Latest commit

 

History

History
906 lines (710 loc) · 50.5 KB

CHANGELOG.md

File metadata and controls

906 lines (710 loc) · 50.5 KB

CHANGELOG

All notable changes to this project will be documented in this file.

The changelog format is based on Keep a Changelog.

2.0.3 - 25-Oct-2022

Package Version Link
SDK Core v2.0.3 symbol-sdk
Catbuffer v1.0.2 catbuffer-typescript
Client Library v1.0.3 symbol-openapi-typescript-fetch-client
  • Bumped AggregateTransaction version to V2. Note that the ability to create or broadcast V1 aggregate transactions has been removed.
  • [Bug] Fixed incorrect Merkle hash calculation for aggregate transactions.
  • [Bug] Fixed the calculation of embedded transaction (also known as inner aggregate transaction) hashes without padding.

2.0.2 - 7-Oct-2022

Milestone: Symbol Mainnet

Package Version Link
SDK Core v2.0.2 symbol-sdk
Catbuffer v1.0.1 catbuffer-typescript
Client Library v1.0.3 symbol-openapi-typescript-fetch-client

[Bug] #843: Handle transaction meta's timestamp and feeMultiplier when value is undefined.

2.0.1 - 30-May-2022

Milestone: Symbol Mainnet

Package Version Link
SDK Core v2.0.1 symbol-sdk
Catbuffer v1.0.1 catbuffer-typescript
Client Library v1.0.3 symbol-openapi-typescript-fetch-client

[Bug] #839: Patch missing meta information to transaction dto.

[2.0.0] - 01-Mar-2022

Milestone: Symbol Mainnet

Package Version Link
SDK Core v2.0.0 symbol-sdk
Catbuffer v1.0.1 catbuffer-typescript
Client Library v1.0.3 symbol-openapi-typescript-fetch-client
  • [BREAKING CHANGE] The type of value field in AccountMetadataTransaction, MosaicMetadataTransaction, NamespaceMetadataTransaction classes is changed from string to Uint8Array.
  • fix: Fixed metadata value non-ascii utf8 encoding issue #834
  • fix: Upgraded Node to 12.22.1.
  • fix: Upgraded typescript to 4.5.4.
  • fix: Upgraded RXJS to 7.4.0.

[1.0.3] - 16-Nov-2021

Milestone: Symbol Mainnet

Package Version Link
SDK Core v1.0.3 symbol-sdk
Catbuffer v1.0.1 catbuffer-typescript
Client Library v1.0.3 symbol-openapi-typescript-fetch-client
  • fix: replaced instanceof statements. These statements are problematic when npm installs the dependency in multiples modules.
  • feat: added mosaic revocation support.

[1.0.2] - 25-Oct-2021

Milestone: Symbol Mainnet

Package Version Link
SDK Core v1.0.2 symbol-sdk
Catbuffer v1.0.0 catbuffer-typescript
Client Library v1.0.2 symbol-openapi-typescript-fetch-client
  • feat: Multisig multilevel subscription in web listener.
  • feat: Added Deployment data to ServerInfo.
  • fix: Fixed observable pipe in TransactionService's announce method.
  • fix: Allowing plain base32 addresses in rest payloads. Both address formats are supported.
  • fix: Cosigning from transaction hash only.
  • fix: Transaction signWith method broken into smaller methods.
  • fix: Removed unsued dependencies.

[1.0.1] - 24-May-2021

Milestone: Symbol Mainnet

Package Version Link
SDK Core v1.0.1 symbol-sdk
Catbuffer v1.0.0 catbuffer-typescript
Client Library v1.0.0 symbol-openapi-typescript-fetch-client
  • Fixed missing utf-8 dependency issue.
  • Fixed UnhandledPromiseRejection issue in http repository.

[1.0.0] - 13-Mar-2021

Milestone: Symbol Mainnet

Package Version Link
SDK Core v1.0.0 symbol-sdk
Catbuffer v0.1.1 catbuffer-typescript
Client Library v0.11.1 symbol-openapi-typescript-fetch-client
  • Added callback function in websocket listener for client to handle unsolicited websocket close event.
  • Release for Symbol mainnet.

[0.23.3] - 5-Mar-2021

Milestone: Catapult-server main(0.10.0.8)

Package Version Link
SDK Core v0.23.3 symbol-sdk
Catbuffer v0.1.1 catbuffer-typescript
Client Library v0.11.1 symbol-openapi-typescript-fetch-client
  • Fixed NodeVersion schema issue.
  • Added onclose event listener to capture unsolicited ws close event.

[0.23.2] - 15-Feb-2021

Milestone: Catapult-server main(0.10.0.7)

Package Version Link
SDK Core v0.23.2 symbol-sdk
Catbuffer v0.1.1 catbuffer-typescript
Client Library v0.11.1 symbol-openapi-typescript-fetch-client
  • Fixed subnamespaceId generation issue in NamespaceRegistrationTransaction.
  • Fixed mosaicRestrictionTransactionService error handling issue.
  • Fixed finalizationEpoch issue in the dto model.
  • Changed WebSocket listener subscription to use UnresolvedAddress without querying the rest-gateway.

[0.23.1] - 02-Feb-2021

Milestone: Catapult-server main(0.10.0.6)

Package Version Link
SDK Core v0.23.1 symbol-sdk
Catbuffer v0.1.1 catbuffer-typescript
Client Library v0.11.1 symbol-openapi-typescript-fetch-client
  • Added FromHeight and ToHeight filters in Receipt search endpoint.
  • Added optional parameter in websocket listener channels to automatically subscribe multisig account for cosigners.

[0.23.0] - 14-Jan-2021

Milestone: Catapult-server main(0.10.0.5)

Package Version Link
SDK Core v0.23.0 symbol-sdk
Catbuffer v0.1.1 catbuffer-typescript
Client Library v0.11.1 symbol-openapi-typescript-fetch-client
  • Re track to catapult-server main branch
  • All entity versions reset to v1 for Symbol mainnet release
  • [BREAKING CHANGE] Finalization proof modle removed messageGroup.schemaVersion and BMTreeSignaure.top
  • [BREAKING CHANGE] Removed VotingKeyLinkV1Transaction.
  • [BREAKING CHANGE] PrivateTest network type changed from 0x80 to 0xA8.
  • Added Node specific property: minFeeMultipler in transactionFees.
  • Removed padding buffer in account state serialization.
  • Voting key length set to 32 bytes.

[0.22.2] - 12-Dec-2020

Milestone: Catapult-server finality(0.10.0.4)

Package Version Link
SDK Core v0.22.2 symbol-sdk
Catbuffer v0.0.25 catbuffer-typescript
Client Library v0.10.5-1 symbol-openapi-typescript-fetch-client
  • [BREAKING CHANGE] Deadline.create requires the configurable epochAdjustment from the network properties. The value can be retrieved using RepositoryFactory.getEpochAdjustment() or calling catapult-rest's network/properties endpoint.
  • [BREAKING CHANGE] NetworkCurrency subclasses replaced with Currency objects. You can retrieve the network currencies with RepositoryFactory.getCurrencies().
  • [BREAKING CHANGE] SecretLockRepository.getSecretLock has been updated. It now takes the composite hash as parameter.
  • [BREAKING CHANGE] Replaced BlockInfo with the new block types: NormalBlockInfo and NemesisImportanceBlockInfo.
  • Added FinalizationRepository.
  • Added transferMosaicId, fromTransferAmount, toTransferAmount to transaction searches.
  • Added CurrencyService to allow loading Network and custom Currency objects from the rest API.
  • Added UnlockedAccount endpoint in NodeRepository to check harvester's unlocking status on the selected node.
  • Added StateProofService to verify the different states.
  • Added serialize() to state objects AccountInfo, MosaicInfo, NamespaceInfo, MultisigAccountInfo, AccountRestrictions, MosaicGlobalRestriction, MosaicAddressRestriction, MetadataEntry, SecretLockInfo, HashLockInfo to generate the state proof hashes.
  • Added version field to state objects.
  • Added /merkle endpoints to the repositories of the different states which returns the state Merkle-Patricia tree.
  • Added stremer() to repositories to simplify PaginationStreamer objects creation.
  • Improved search endpoints allowing "empty" criteria in order to paginate over all the objects.
  • Listener now accepts address aliases as UnresolvedAddress objects.
  • Added V1 and V2 Voting Key transaction support.
  • Updated FinalizationProof object with the new SignatureSchema for catapult-server tree testnet/v3.
  • Fixed finalization proof schema version compatibility issue.

0.21.0 - 25-Sep-2020

Milestone: Catapult-server finality(0.10.0.3)

Package Version Link
SDK Core v0.21.0 symbol-sdk
Catbuffer v0.0.22 catbuffer-typescript
Client Library v0.10.0-3 symbol-openapi-typescript-fetch-client
  • [BREAKING CHANGE] Updated MetadataRepository replacing old endpoints with new search endpoint.
  • [BREAKING CHANGE] Updated ReceiptRepository replacing old endpoints with new search endpoint.
  • [BREAKING CHANGE] Updated ChainRepository merging Height and Score into Info object. Added finalized block information.
  • [BREAKING CHANGE] Updated RestrictionMosaicRepository replacing old endpoints with new search endpoint.
  • [BREAKING CHANGE] Updated RestrictionAccountRepository removed getAccountRestrictionsFromAccounts endpoint.
  • [BREAKING CHANGE] Updated TransactionRepository search endpoint. Added fromHeith and toHeight search criteria.
  • [BREAKING CHANGE] Updated toDTO method in Message class. Removed payload and type returns only message string in hexadecimal format.
  • [BREAKING CHANGE] Updated property names in BlockInfo:
    1. Changed numTransactions to totalTransactionsCount.
    2. Changed numStatements to statementsCount.
    3. Added transactionsCount.
  • [BREAKING CHANGE] Removed totalPages and TotalEntries from 'Page' object for all pagination endpoints.
  • Added SecretLockRepository and HashLockRepository
  • Added support for topic/data payload wrapper in WS Listener allowing users to reuse the connection for different channels.
  • Added finalizedBlock WS Listener subscription
  • Added symbol-bootstrap integration for automated e2e testing.
  • Fixed bug in websocket listener's isOpen() method for injected ws instance.
  • Updated message extraction method (internal) which now takes message string (hex) rather than object from rest response payload.

0.20.7 - 14-Aug-2020

Milestone: Gorilla.1(0.9.6.4)

Package Version Link
SDK Core v0.20.7 symbol-sdk
Catbuffer v0.0.21 catbuffer-typescript
Client Library v0.9.6 symbol-openapi-typescript-fetch-client
  • [BREAKING CHANGE] Refactored Account, Namespace, Receipt and Metadata endpoints. Added new search endpoints and removed old endpoints.
  • [BREAKING CHANGE] Updated encryption / decryption algorithm from AES-CBC to AES-GCM to meet the security standard.
  • [BREAKING CHANGE] Updated PersistentDelegatedHarvesting message marker. Also added VRF private key parameter in PersistentDelegatedHarvesting message & transaction creation.
  • Added optional parameter TransactionHash in AggregateTransaction.signWith method.
  • Updated encoding methods to support emoji in message payload.

0.20.6 - 02-Jul-2020

Milestone: Gorilla.1(0.9.6.2)

Package Version Link
SDK Core v0.20.6 symbol-sdk
Catbuffer v0.0.21 catbuffer-typescript
Client Library v0.9.4 symbol-openapi-typescript-fetch-client
  • Changed to use default fetchAPI (node-fetch) in repository construction (not relying on repository factory builders).

0.20.5 - 30-Jun-2020

Milestone: Gorilla.1(0.9.6.2)

Package Version Link
SDK Core v0.20.5 symbol-sdk
Catbuffer v0.0.21 catbuffer-typescript
Client Library v0.9.4 symbol-openapi-typescript-fetch-client
  • Added maxVotingKeysPerAccount, minVotingKeyLifetime and maxVotingKeyLifetime in ChainProperties.
  • Updated fetch client version to 0.9.4.

0.20.4 - 29-Jun-2020

Milestone: Gorilla.1(0.9.6.2)

Package Version Link
SDK Core v0.20.4 symbol-sdk
Catbuffer v0.0.21 catbuffer-typescript
Client Library v0.9.3-1 symbol-openapi-typescript-fetch-client
  • Fixed symbol-openapi-typescript-fetch-client Typescript 3+ compatibility issue.
  • Fixed window.fetch default value issue in RepositoryFactory.

0.20.3 - 26-Jun-2020

Milestone: Gorilla.1(0.9.6.2)

Package Version Link
SDK Core v0.20.3 symbol-sdk
Catbuffer v0.0.21 catbuffer-typescript
Client Library v0.9.3 symbol-openapi-typescript-fetch-client
  • [BREAKING CHANGE] Added startPoint and endPoint in VotingKeyLinkTransaction.
  • [BREAKING CHANGE] Renamed SupplementalAccountKeys to SupplementalPublicKeys. The new SupplementalPublicKeys has been changed from array type to an object containing: linked, node, vrf and voting key(s).
  • [BREAKING CHANGE] Changed to use the SDK's own enums for order, orderBy, blockOrderBy and meklePosition.
  • [BREAKING CHANGE] Added TransactionGroup parameter in getTransactionsById which can query unconfirmed and partial transactions now.
  • Changed base client library from symbol-openapi-typescript-node-client to symbol-openapi-typescript-fetch-client for better client / brower usability. There is no need to browserify the packages or special webpack processing
  • Made Fetch API injectable via RepositoryFactory which works like the injected websocket in Listener.

0.20.2 - 18-Jun-2020

Milestone: Gorilla.1(0.9.6.1)

Package Version Link
SDK Core v0.20.2 symbol-sdk
Catbuffer v0.0.20 catbuffer-typescript
Client Library v0.9.2 symbol-openapi-typescript-node-client
  • Fixed missing TransactionGroup export issue.
  • Added contributors..
  • Fixed issues in travis scripts.

0.20.0 - 18-Jun-2020

Milestone: Gorilla.1(0.9.6.1)

Package Version Link
SDK Core v0.20.0 symbol-sdk
Catbuffer v0.0.20 catbuffer-typescript
Client Library v0.9.2 symbol-openapi-typescript-node-client
  • [BREAKING CHANGE] Model property name changes:

    1. MetadataEntry: senderPublicKey: string => sourceAddress: Address; targetPublicKey: string => targetAddress: Address
    2. MultisigAccountGraphInfo: multisigAccounts => multisigEntries
    3. MultisigAccountInfo: account: PublicAccount => accountAddress: Address; cosignatories: PublicAccount[] => cosignatoryAddresses: Address; multisigAccounts: PublicAccount[] => multisigAddresses: Address[]
    4. BlockInfo / NewBlock: beneficiaryPublicKey: PublicAccount | undefined => beneficiaryAddress: Address | undefined
    5. MosaicId: owner: PublicAccount => ownerAddress: Address
    6. MosaicInfo: owner: PublicAccount => ownerAddress: Address; height => startHeight.
    7. NamespaceInfo: owner: PublicAccount => ownerAddress: Address
    8. ChainProperties: harvestNetworkFeeSinkPublicKey => harvestNetworkFeeSinkAddress
    9. MosaicNetworkProperties: mosaicRentalFeeSinkPublicKey => mosaicRentalFeeSinkAddress
    10. NamespaceNetworkProperties: namespaceRentalFeeSinkPublicKey => namespaceRentalFeeSinkAddress
    11. NetworkProperties: publicKey => nemesisSignerPublicKey
    12. BalanceChangeReceipt: targetPublicAccount: PublicAccount => targetAddress: Address
    13. BalanceTransferReceipt: sender: PublicAccount => senderAddress: Address
  • [BREAKING CHANGE] Transaction property name changes:

    1. AccountMetadataTransaction: targetPublicKey: string => targetAddress: UnresolvedAddress
    2. MosaicMetadataTransaction: targetPublicKey: string => targetAddress: UnresolvedAddress
    3. NamespaceMetadataTransaction: targetPublicKey: string => targetAddress: UnresolvedAddress
    4. MultisigAccountModificationTransaction: publicKeyAdditions: PublicAccount[] => addressAdditions: UnresolvedAddress[]; publicKeyDeletions: PublicAccount[] => addressDeletions: UnresolvedAddress[]
    5. AggregateTransactionService: cosignatories: string[] => cosignatories: Address[]
  • [BREAKING CHANGE] Address format changed from 25 bytes to 24 bytes. See new address test vector here.

  • [BREAKING CHANGE] MosaicId creation (from Nonce) changed from using PublicKey to Address. See new mosaicId test vector here.

  • [BREAKING CHANGE] Added 8 bytes (uint64) version field in CosignatureSignedTransaction and AggregateTransactionCosignature with default value 0.

  • [BREAKING CHANGE] Removed all transaction get endpoints from AccountHttp and BlockHttp.

  • [BREAKING CHANGE] Added TransactionGroup (required) parameter in getTransaction endpoint in TransactionHttp.

  • Added Search endpoints to TransactionHttp, BlockHttp, and MosaicHttp.

    Note:

    1. Search endpoints returns pagination payload (Page<t>) rather than raw arraes.
    2. For AggregateTransaction, transaction search endpoint only returns the aggregate wrapper transaction WITHOUT embedded transactions. complete aggregate payload can be get from getTransaction or getTransactionByIds endpoints.
  • Added SearchCriteria interfaces for the new search endpoints.

  • group filter in TransactionSearchCriteria to be mandatory due to rest endpoint changes.

  • Added streamer for the 3 new search endpoints (block, mosaic, transaction) to improve pagination querying.

  • Added size in BlockInfo model.

0.19.2 - 26-May-2020

Milestone: Gorilla.1(0.9.5.1)

Package Version Link
SDK Core v0.19.2 symbol-sdk
Catbuffer v0.0.19 catbuffer-typescript
Client Library v0.8.11 symbol-openapi-typescript-node-client
  • [BREAKING CHANGE] Replaced constructor parameter config with url in Listener class. The constructor is now only using a complete websocket url (e.g. http://localhost:3000/ws or ws://localhost:3000/ws) but not rest-gateway url anymore (It will NOT append /ws suffix to the input url).
  • [BREAKING CHANGE] RepositoryFactory: Optional constructor parameters has been moved into RepositoryFactoryConfig interface (optional).
  • [BREAKING CHANGE] Added websocketInjected (optional) parameter to the RepositoryFactoryConfig interface. RepositoryFactory.createListener() can now take injected websocket instance to create Listener object.
  • [BREAKING CHANGE] Added websocketUrl (optional) parameter to the RepositoryFactoryConfig interface. it allows custom websocket url to be used to create the Listener object. By default (not provided), the factory will use rest-gateway url with '/ws' suffix appended (e.g. http://localhost:3000/ws
  • [BREAKING CHANGE] Listener.newBlock channel is now returning new object NewBlock rather than sharing with BlockInfo used by rest-gateway payload.
  • Added stateHashSubCacheMerkleRoots to BlockInfo.

0.19.1 - 21-May-2020

Milestone: Gorilla.1(0.9.5.1)

Package Version Link
SDK Core v0.19.1 symbol-sdk
Catbuffer v0.0.19 catbuffer-typescript
Client Library v0.8.11 symbol-openapi-typescript-node-client
  • [BREAKING CHANGE] RemotePublicKey has been renamed to LinkedPublicKey in AccountKeyLinkTransaction.
  • [BREAKING CHANGE] AccountRestrictionFlags has been split into 3 separate flags: AddressRestrictionFlag, MosaicRestrictionFlag and OperationRestrictionFlag for better compile time and runtime validation.
  • [BREAKING CHANGE] Added NamaspaceRepository interface to Listener constructor parameters for resolving alias purpose. Listener object can still be instantiated by using RepositoryFactory.createListener() with no coding change.
  • Added signer and signature as optional parameters to the create methods in transaction classes. TransactionMapping.createFromPayload is now including signer and signature.
  • Refactored address filter in websocket listener channels which now filters on recipientAddress, targetAccount, signerPublicKey fields in all transaction types. The Listener can filter on unresolved (alias) addresses now.
  • Added optional transactionHash parameter in websocket listener channel subscribers which can be used for specific transaction monitoring now.

0.19.0 - 15-May-2020

Milestone: Gorilla.1(0.9.5.1)

Package Version Link
SDK Core v0.19.0 symbol-sdk
Catbuffer v0.0.18 catbuffer-typescript
Client Library v0.8.10 symbol-openapi-typescript-node-client
  • [BREAKING CHANGE] Transaction signing is now using GenerationHashSeed from NodeInfo or NetworkProperties. GenerationHash on Nemesis block (block:1) is NOT used for signing purposes.
  • [BREAKING CHANGE] Renamed AccountLinkTransaction to AccountKeyLinkTransaction.
  • [BREAKING CHANGE] Renamed networkGenerationHash to networkGenerationHashSeed in NodeInfo.
  • [BREAKING CHANGE] replaced linkedPublickKey with supplementalAccountKeys array in AccountInfo.
  • Added new transaction VrfKeyLinkTransaction.
  • Added new transaction VotingKeyLinkTransaction.
  • Added new transaction NodeKeyLinkTransaction.
  • Added new properties proofGamma, proofScalar, proofVarificationHash in BlockInfo
  • Added new properties harvestNetworkPercentage, harvestNetworkFeeSinkPublicKey in NetworkProperties.
  • Added new KeyType: Unset / Linked / VRF / Voting / Node / All.
  • Added package shx for cross-platform building purpose.
  • Fixed AggregateTransaction.getMaxCosignatures() to return distinct cosignature set.
  • Fixed a few documentaion issues.

0.18.0 - 20-Apr-2020

Milestone: Fushicho.4(RC3 0.9.3.2)

Package Version Link
SDK Core v0.18.0 symbol-sdk
Catbuffer v0.0.11 catbuffer-typescript
Client Library v0.8.9 symbol-openapi-typescript-node-client
  • [BREAKING CHANGE] Stopped NodeJS v8 and v9 support. From this version (v0.18.0) onwards, Symbol-SDK will target on Node v10+.
  • [BREAKING CHANGE] Removed Keccac_256 from LockHashAlgorithm (enum index changed).
  • [BREAKING CHANGE] Updated enum name HashType to LockHashAlgorithm.
  • [BREAKING CHANGE] Updated property name hashType to hashAlgorithm in SecretLockTransaction and SecretProofTransaction.
  • [BREAKING CHANGE] Removed redundant argument NetworkType from Transaction.createTransactionHash() and Address.isValidRawAddress().
  • [BREAKING CHANGE] Added setMaxFeeForAggregate() for AggregateTransaction. Transaction.setMaxFee() can only be used by standalone transaction objects.
  • [BREAKING CHANGE] Refactored SimpleWallet model and wallet private key Encryption / Decryption methods to patch potential security risk.
  • Added AccountService to resolve mosaic alias and return namespace name.
  • Migrated from TSLint to ESLint. Added Prettier support.
  • Removed metadata value size validation (1024 bytes).
  • Fixed PublicAccount.verifySignature bug when verify string in hexadecimal format.
  • Added check on UInt64.compact() which throw exception on over flow.
  • Added Network currency resolver for e2e tests.

0.17.4 - 07-Apr-2020

Milestone: Fushicho.4(RC3 0.9.3.2)

Package Version Link
SDK Core v0.17.4 symbol-sdk
Catbuffer v0.0.11 catbuffer-typescript
Client Library v0.8.9 symbol-openapi-typescript-node-client
  • Added SimpleWallet.toDTO() method which returns JSON serialized object.
  • Applied latest Symbol OpenAPI generated code (v0.8.9).
  • Added automated release scripts for Travis.
  • Added multiple version spport for TS-Doc.
  • Optimised unit tests and improved test coverage.
  • Changed internal method getSigningByte to public.
  • Removed constant of namespace MaxDepth (default: 3) which can be retrieved from network properties endpoint.
  • Fixed Github security alert on minimist package.

0.17.3 - 04-Mar-2020

Milestone: Fushicho.4(RC3 0.9.3.1)

Package Version Link
SDK Core v0.17.3 symbol-sdk
Catbuffer v0.0.11 catbuffer-typescript
Client Library v0.8.5 symbol-openapi-typescript-node-client
  • Fixed MosaicNonce issue handling signed integer from rest payload.
  • [BREAKING CHANGE] Updated NodeTime model to use UInt64.

0.17.2 - 02-Mar-2020

Milestone: Fushicho.4(RC3 0.9.3.1)

Package Version Link
SDK Core v0.17.2 symbol-sdk
Catbuffer v0.0.11 catbuffer-typescript
Client Library v0.8.5 symbol-openapi-typescript-node-client
  • [BREAKING CHANGE] Added s-part of transaction signature to transaction hash.
  • Added numStatements to blockInfo model.
  • Fixed mosaicNonce issue in createTransactionFromPayload.
  • Improved error handling in WS listener and TransactionService.
  • Improved test coverage.

0.17.1 - 24-Feb-2020

Milestone: Fushicho.4(RC3 0.9.3.1)

Package Version Link
SDK Core v0.17.1 symbol-sdk
Catbuffer v0.0.11 catbuffer-typescript
Client Library v0.8.5 symbol-openapi-typescript-node-client
  • Rebranded nem2-sdk to symbol-sdk. Please be noted the package name changes.
  • [BREAKING CHANGE] Changed QueryParameters and TransactionFilter to use deconstructed argument (JSON object) in the constructor.
  • Added node/peers endpoint.
  • Fixed security issues reported by github.

0.17.0 - 17-Feb-2020

Milestone: Fushicho.4(RC3 0.9.3.1)

Package Version Link
SDK Core v0.17.0 nem2-sdk
catbuffer v0.0.11 catbuffer
Client Library v0.8.4 nem2-sdk-openapi-typescript-node-client
  • [BREAKING CHANGE] Changed hashing algorithm to cope catapult-server changes. All Key derivation and signing are now using SHA512. Removed SignSchema so NetworkType is no longer bonded to the schema anymore (sha3 / keccak). This change will affect all existing keypairs / address (derived from public key) and transaction signatures.
  • [BREAKING CHANGE] Added new TransactionFilter parameter to AccountHttp which is now support filtering with list of transaction type.
  • Added GenerationHash to the payload in node/info endpoint.
  • Added enum for block merkle path item positions (left / right) to replace previous number type value (1 / 2).
  • Added new BlockService for Transaction and Receipt block merkle proof auditing.
  • Added new node type Dual to the existing RoleTypeEnum.
  • Added new endpoint node/health in NodeHttp.
  • Moved getStorageInfo and getServerInfo from DiagnosticHttp to NodeHttp repository.
  • Improved e2e testing by using async / await.
  • General legacy code refactoring and cleanup.

0.16.5 - 30-Jan-2020

Milestone: Fushicho.4(RC3)

Package Version Link
SDK Core v0.16.5 nem2-sdk
catbuffer Library v0.0.11 catbuffer
Client Library v0.7.20-beta.7 nem2-sdk-openapi-typescript-node-client
  • Fixed circular reference issue after removed InnerTransaction class.

0.16.4 - 30-Jan-2020

Milestone: Fushicho.4(RC3)

Package Version Link
SDK Core v0.16.4 nem2-sdk
catbuffer Library v0.0.11 catbuffer
Client Library v0.7.20-beta.7 nem2-sdk-openapi-typescript-node-client
  • Core 0.9.2.1 compatible. Changed hash algorithm for shared key derivation to HKDF-HMAC-Sha256.
  • Removed senderPrivateKey in Persistent Delegation Request Transaction. Instead, it uses an ephemeral key pair and the EphemeralPublicKey is now attached in the PersistentDelegationMessage payload.
  • Removed salt encryption and decryption functions which uses HKDF-HMAC-Sha256 instead. This only affects the encrypted payload.
  • Added missing export in Infrastructure classes / interfaces.
  • Applied latest catbuffer builder codes for ResolutionStatement.
  • Updated TransactionType & TransactionVersion enum key name to match catabuffer schema definition.
  • Changed signature type for Height from numeric string to UInt64 in Block & Receipt respostiories
  • Fixed a few ts lint issues.

0.16.3 - 09-Jan-2020

Milestone: Fushicho.3

Package Version Link
SDK Core v0.16.3 nem2-sdk
catbuffer Library v0.0.7 catbuffer
Client Library v0.7.20-beta.6 nem2-sdk-openapi-typescript-node-client
  • Fixed http client (OpenAPI client package) does not support ES6 issue.

0.16.2 - 06-Jan-2020

Milestone: Fushicho.3

Package Version Link
SDK Core v0.16.2 nem2-sdk
catbuffer Library v0.0.7 catbuffer
Client Library v0.7.20-alpha.6 nem2-sdk-openapi-typescript-node-client
  • Refactored to replace generated codes by public library package for both catbuffer and OpenAPI Http Client.
  • Added unresolved (mosaicId, address) support in MosaicRestrictionTransaction.
  • Added toHex() in MosaicNonce class.
  • Exposed MultisigAccountGraphInfo class constructor to public.
  • Fixed transaction status issue in both Http and Websocket due to schema update.

0.16.1 - 23-Dec-2019

Milestone: Fushicho.3

  • Added basic operations for UInt64 (Add(), Substract()).
  • Added RepositoryFactoryHttp which creates concrete http classes in a factory patten.
  • Added NetworkType and GenerationHash cache for all Http repositories which reduces the number of rest calls.
  • Added static mathod to create SimpleWallet from rest DTO payload.
  • Added TransactionType filter in AccountHttp which can be used for filtering account transactions by type.
  • Added IntegrationTestHelper which optimised e2e / integration tests by automatically tracking the changes from catapult rest. Also support loading test accounts directly from catapult-bootstrap-server generated nemesis addresses.
  • Replaced Records limitation steps (25,50,75,100) with just number input.
  • Fixed TrandactionStatus not returning correct error code bug.
  • Fixed spread operation issue in SetMaxFee and ResolveAlias which results in missing super class properties bug.
  • Fixed epochAdjustment static value not in UTC bug.
  • Fixed known issues in catbuffer Typescript Generator over EntityTypeDto and AggregateTransactionBuilder. Aggregate transaction's InnerTransactions and Cosignatures are now in array format (EmbeddedTransactionBuilder and CosignatureBuilder) instead of using Uint8Array.

0.16.0 - 09-Dec-2019

Milestone: Fushicho.3

  • Added epochAdjustment introduced in catapult-server v0.9.1.1 (Fushicho.3)
  • Added setMaxFee to Transaction which calculate max transaction fee using feeMultiplier * transaction.size.
  • Optimised resolveAlias implementation in transaction using object spread operator.
  • Fixed couple of bugs in blockHttp and unit tests

0.15.1 - 06-Dec-2019

Milestone: Fushicho.2

  • Added networkType as an optional paramter in Http abstract to recude the number of requests to the catapult-rest server
  • Added resolveAlias in transaction for resolving UnresolvedAddress and UnresolvedMosaic inside a transaction.
  • Added TransactionService class.
  • Added resolveAlias service in TransactionService which resolves alias(es) in transaction(s) from block ResolutionStatement.
  • Consolicated transaction announcement and websocket confirmed listener into one service call in TransactionService.
  • Consolidated AggregateBonded tranaction announcement (aggregateBonded + lockFund) into one service call in TransactionService.

0.15.0 - 21-Nov-2019

Milestone: Fushicho.2

  • Applied latest Fushicho2 schema changes to both transaction serialization and http client codes.
  • Added addCosignatures method for filling cosignatures offline.
  • Added compare function in UInt64 class for unsigned 64 bytes numbers comparison.

0.14.4 - 31-Oct-2019

Milestone: Fushicho.1

  • Added Address.isValidAddress for plain address string validation.
  • Added Address filter in transaction status websocket listener channel.
  • Changed MetadataTransactionService return type from Transaction to Union types.
  • Made decodeHex method and EmptyAlias class public.
  • Fixed const network type used in AliasToRecipient method.
  • Fixed SecretLock and SecretProof transaction not using UnresolvedAddress issue.
  • Fixed Size method issues for transactions.
  • Fixed other JSDoc issues.

0.14.3 - 18-Oct-2019

Milestone: Fushicho.1

  • Fixed MetadataTransactionSercie value delta issue.

0.14.2 - 18-Oct-2019

Milestone: Fushicho.1

  • Fixed Address alias deserialization issue from catapult-rest dto payload.
  • Fixed MosaicSupplyChangeTransaction schema mismatch issue.

0.14.1 - 14-Oct-2019

Milestone: Fushicho.1

  • Added Receipt serializer & hash generator for auditing receipt merkle proof.
  • Added Unresolved (NamespaceId) support on MosaicRestriction and MosaicMetadata transactions.
  • Fixed Mosaic array ordering in TransferTransaction.
  • Fixed issues in PersistentDelegationRequestTransaction.
  • Other small fixes from community feedbacks.

0.14.0 - 08-Oct-2019

Milestone: Fushicho.1

  • Added KeyGenerator class for generating UInt64 Keys from string.
  • Fixed MosaicAmountView issue. Now return observable of array.
  • Optimised Account restriction endpoints by returning simple payload.
  • Fixed http repository error handling issues.
  • Fixed bugs in Alias interface.
  • Fixed MosaicId significant byte not detected properly in TransactionPayload.
  • Fixed only PRIVATE_TEST network type allowed in NetworkTypeHttp.
  • Applied latest OpenAPI doc (v0.7.19).
  • Changed SignedTransaction class constructor to public.
  • Changed MosaicRestrictionKey format to be Hexadecimal.
  • Other small fixes.

0.13.4 - 04-Oct-2019

Milestone: Elephant.3 / Fuschicho.1

  • Added Metadata rest api endpoints and DTOs
  • Added MosaicRestriction rest api endpoints and DTOs
  • Added MetadataTransactionService which eases the meta data transaction creation without knowing previous meta data values
  • Added MosaicRestrictionTransactionService which eases the mosaic restriction transaction creation without knowing previous restriction details.
  • Changed MetadataTransaction and Metadata state value to use raw string (utf8 encoding).
  • Fixed Namespace/Names endpoint issue
  • Fixed Mosaic endpoint issue
  • Improved unit and e2e tests

0.13.3 - 27-Sep-2019

Milestone: Elephant.3

  • Added new alias transaction PersistentDelegationRequestTransaction which extends TransferTransaction to send special message to server for persistent delegation harvesting unlock request.
  • Added new message type PersistentHarvestingDelegationMessage
  • Fixed websorket listener notitification issue when cosignatory added through MultisigModifictionTransaction.
  • Changed value parameter in MetadataTransactions from Uint8Array to string (utf8 encoding)
  • Added utf8ToUint8 and uint8ToUtf8 converters for above changes
  • Made previousRestrictionValue optional in MosaicAddressRestrictionTransaction
  • Made referenceMosaicId optional in MosaicGlobalRestrictionTransaction
  • Made EncryptedPrivateKey class public
  • Made createFromRawAddress in Address class public
  • Fixed a few JSDoc issues
  • Fixed NPM audit vulnerabilities

0.13.2 - 20-Sep-2019

Milestone: Elephant.3

  • Added Metadata Transactions (Account, Mosaic and Namespace).
  • Added new account restriction type to support Outgoing addresses and transaction types.
  • catbuffer builder codes fully implemented. Flatbuffer codes removed.
  • Models and services updated to be compatible with latest server (milestone Elephant: patch-3) schema updates.
  • Refactored Uint64 to support UInt64 to/from: numeric/hex string.
  • Refactored Signature Schema to support both NIS1 and Catapult. Network idendifier is now used to identify Signature Schema on model level. PrivateKey reversal has been removed for NIS1 schema.
  • Added new Namespace Pruned receipt type.
  • Added new static method addTransactions to AggregateTransction to support offline embedded transactions' manipulation.
  • Mosaic definition / info model refactored with MosaicProperties removed.
  • Various bugs fixed in http repositories.
  • Various bugs fixed in model and core components

0.13.1 - 26-Jul-2019

Milestone: Elephant

  • Added Mosaic Restriction (New models and transactions)
  • Fixed RXJS compatibility issue (after run npm update)
  • Fixed signTransactionGivenSignatures signature not verified issue
  • Fixed version texts in Readme.md

0.13.0 - 03-Jul-2019

Milestone: Elephant

  • Added SignSchema to make KeyPair generation compatible with either of Catapult and NIS.
  • Added SignSchema with KECCAK_REVERSED_KEY and SHA3. The SDK by default uses SHA3 which is the Catapult signature schema.
  • Fixed transaction versions back to version 1
  • Added signTransactionGivenSignatures to cope with off chain aggregated complete transaction co signing.

0.12.4 - 03-Jul-2019

Milestone: Dragon

  • Added export for Sha3Hasher
  • Added export for nacl_catapult
  • Added changelog milestone attribution

0.12.3 - 20-Jun-2019

Milestone: Dragon

  • Fixed null mosaic property in MosaicHttp
  • Added NodeHttp
  • Fixed Uint8 conversions (control char added)
  • Fixed ResolutionStatementDTO in exports

0.12.2 - 17-Jun-2019

Milestone: Dragon

  • Removed nem2-library dependency
  • Added infrastructure/model/ with DTOs
  • Added infrastructure/api with APIs
  • Added infrastructure/buffers and infrastructure/schemas

0.12.1 - 05-Jun-2019

Milestone: Dragon

  • Fixed alias and modification type field names in Http

0.12.0 - 04-Jun-2019

Milestone: Dragon

  • Added 'Receipt'
  • Added 'generationHash' to transaction.sign(...) to prevent transactions from being replayed on different networks by prepending the network generation hash to transaction data prior to signing and verifying.
  • Added 'recipient' (unresolved address) field to SecretProofTransaction.
  • BlockChainHttp routes into 3 routes (Block, Chain, Diagnostic).
  • New endpoints
    1. AccountHttp: getAccountsNames(accountIds: Address[]): Observable<AccountNames[]>;
    2. MosaicHttp: getMosaicsNames(mosaicIds: MosaicId[]): Observable<MosaicNames[]>;
  • Updated Dto models from latest rest swagger doc.
  • Fixed / updated e2e tests.
  • Removed Mosaic Levy property from both model and transaction.

0.11.6 - 03-Jun-2019

Milestone: Cow

  • Version lock for cow compatibility
  • Fixed #150, AccountHttp.transactions outputs aggregate transactions supplementary data

0.11.5 - 18-Apr-2019

Milestone: Cow

  • Fixed #125, maxFee DTO value errors with in-aggregate MosaicSupplyChange and HashLock transactions

0.11.4 - 17-Apr-2019

Milestone: Cow

  • Fixed #117, Typo in AddressAliasTransaction and MosaicAliasTransaction comments
  • Fixed several typos in documentation
  • Fixed CreateTransactionFromDTO to allow message to be undefined
  • Added transaction/EncryptedMessage
  • Added QueryParams.order order parameter

0.11.3 - 10-Apr-2019

Milestone: Cow

  • Added Transaction.maxFee optional property in create() methods. (fixes #53)
  • Added service/AggregateTransactionService with isComplete() validates cosigners (fixes #4)
  • Fixed issue in createFromDTO with JSON format (fixes #107)
  • Added model/transaction/EncryptedMessage for encrypted message payloads
  • Fixed MosaicProperties to make duration optional (fixes #109)
  • Added service/AggregateTransactionService with validateCosignatories for completeness check (fixes #4)

0.11.2 - 1-Apr-2019

Milestone: Cow

  • Added TransactionMapping (fixes #56 )
  • Added CreateTransactionFromPayload (fixes #56 )
  • Added SerializeTransactionToJSON
  • Added several toDTO() methods for serialization (fixes #56 )
  • Added multisigAccountAdded in Listener
  • Added accountAddedToMultisig in Listener

0.11.1 - 18-Mar-2019

  • Todo

0.11 - 14-Mar-2019

Milestone: Cow

  • Fixed NetworkCurrencyMosaic, NetworkHarvestMosaic
  • Added exposed UInt64.fromHex and UInt64.toHex
  • Added MosaicId.createFromNonce
  • Added MosaicNonce, MosaicNonce.createRandom
  • Fixed AliasDTO.mosaicId to be UInt64
  • Added nem2-library@v0.9.8 version update (cow compatibility)
  • Added cow network update base compatibility
  • Added AliasTransaction, AddressAliasTransaction, MosaicAliasTransaction
  • Changed MosaicDefinition to hold MosaicNonce
  • Changed SecretLock transaction to work with Sha3_256 instead of Sha3_512
  • Added delegated harvesting
  • Fixed #38: error message for aggregate as inner tx
  • Added TransferTransaction.recipient NamespaceId argument type

0.10.1-beta - 27-Jun-2018

Milestone: Cow

  • added replyGiven in Transaction model
  • several linter fixes

[0.10.0-beta] - 27-Jun-2018

Milestone: Cow

  • update rxjs to v6
  • use observableFrom

0.9.5 - 27-Jun-2018

Milestone: Alpaca

  • data signatures
  • nodejs version 10 updates

0.9.0 - 30-Mar-2018

Milestone: Alpaca

  • Initial code release.