Skip to content

Releases: symbol/symbol

Rest Gateway v2.5.0

08 Apr 17:41
2483aa0
Compare
Choose a tag to compare

Added

  • Light REST, which provides a limited set of endpoints and only communicates with the catapult server.
  • Coinbase Mesh(Rosetta) support for Symbol.
  • Coinbase Mesh(Rosetta) support for NEM.

Changed

  • Upgrade to MongoDB 7.x.
  • Update REST image to Node.js 20.
  • Migrate REST project from CJS to ES6.
  • Replace custom REST serialization to use JavaScript SDK.

Catapult Client v.1.0.3.8

08 Apr 17:41
2483aa0
Compare
Choose a tag to compare

Changed

  • update catapult dependencies:
    • RocksDB to v9.8.4
    • OpenSSL to 3.4.1
    • Clang compiler to v19
    • mongo-c-driver to v1.30.0
    • mongo-cxx-driver to v4.10.0

Symbol Python SDK 3.2.3

05 Dec 03:59
20f186c
Compare
Choose a tag to compare

Added

  • add to_json() to the generated model classes to get a JSON-safe representation of the model.
  • add extract_signing_payload() to facade to get signing payload which allows signing by hardware keys.
  • add cosign_transaction_hash() to facade and account to allow cosigning of transaction hash.

Changed

  • (BREAKING NEM) NEM cosignature transaction multisig_transaction_hash field renamed to other_transaction_hash

Fixed

  • (NEM) add non-verifiable cosignature transaction to allow signing of the cosignature transaction.

Symbol Javascript SDK 3.2.3

05 Dec 04:01
Compare
Choose a tag to compare

Added

  • add toJson() to the generated model classes to get a JSON-safe representation of the model.
  • add extractSigningPayload() to facade to get signing payload which allows signing by hardware keys.
  • add cosignTransactionHash() to facade and account to allow cosigning of transaction hash.

Changed

  • export bytesToBigInt(), bytesToInt(), deepCompare(), intToBytes(), isHexString() and tryParseUint() from sdk via utils
  • (BREAKING NEM) NEM cosignature transaction multisig_transaction_hash field renamed to other_transaction_hash

Fixed

  • (NEM) add non-verifiable cosignature transaction to allow signing of the cosignature transaction.

Symbol Python SDK 3.2.2

29 May 00:26
116d7f6
Compare
Choose a tag to compare

Added

  • generate sphinx documentation to provide class-level documentation for SDK
  • add useful functions from the SDK V2 that are missing
    • create address alias from namespace id
    • extract namespace ID from address alias
    • create address from decoded address hex string (REST format)
  • add metadata_generate_key() since there is no built-in way to convert a string to a metadata key.
  • add SymbolAccount class
    • add sign_transaction() to the SymbolAccount to match facade functionality
    • add cosign_transaction() to the SymbolAccount to match facade functionality
    • to improve discoverability, add a helper function(message_encoder) to SymbolAccount, which creates a MessageEncoder used to encrypt/encode messages
  • add SymbolPublicAccount class
    • add properties for address and publicKey for better discoverability
  • add NemAccount class
    • add sign_transaction() to the NemAccount to match facade functionality
    • to improve discoverability, add a helper function(message_encoder) to NemAccount, which creates a MessageEncoder used to encrypt/encode messages
  • add NemPublicAccount class
    • add properties for address and publicKey for better discoverability
  • add a create_public_account() and create_account() to the facade for both NEM and Symbol
  • add deserialize() function to TransactionFactory in SDK for better discoverability

Symbol Javascript SDK 3.2.2

29 May 00:30
116d7f6
Compare
Choose a tag to compare

Added

  • generate basic TS-style documentation using typedoc to provide class-level documentation for SDK
  • add useful functions from the SDK V2 that are missing
    • create address alias from namespace id
    • extract namespaceID from address alias
    • create address from decoded address hex string (REST format)
  • add metadataGenerateKey() since there is no built-in way to convert a string to a metadata key.
  • add SymbolAccount class
    • add signTransaction() to the SymbolAccount to match facade functionality
    • add cosignTransaction() to the SymbolAccount to match facade functionality
    • to improve discoverability, add a helper function to SymbolAccount, which creates a MessageEncoder used to encrypt/encode messages
  • add SymbolPublicAccount
    • add properties for address and publicKey for better discoverability
  • add NemAccount class
    • add signTransaction() to the NemAccount to match facade functionality
    • to improve discoverability, add a helper function to NemAccount, which creates a MessageEncoder used to encrypt/encode messages
  • add NemPublicAccount class
    • add properties for address and publicKey for better discoverability
  • add a createPublicAccount() and createAccount() to the facade for both NEM and Symbol
  • add deserialize() function to TransactionFactory in SDK for better discoverability

Changed

  • improve typescript support by generating type-annotated descriptors that accept strongly typed arguments
  • calculating fee for aggregate transaction is not easy to configure via createTransactionFromTypedDescriptor. Add cosignatureCount optional parameter to SymbolFacade createTransactionFromTypedDescriptor

Fixed

  • NetworkTimestamp.timestamp is BigInt but models.Timestamp (NEM) is a Number that leads to a mismatch during creation. Add logic to BaseValue to automatically coerce input of Number|BigInt to the desired underlying type when possible.

Symbol Javascript SDK 3.2.1

23 Apr 01:57
5e9187d
Compare
Choose a tag to compare

Fixed

  • facade.now() method previously returned an incorrect timestamp due to a bitwise OR operation that only works with signed 32-bit integers. Switched to Math.trunc() resolved this.
  • in certain JavaScript/TypeScript environments, package subpath exports were not working. To increase compatibility, the 'import' was added, and the 'default' export was moved to last. The TypeScript requirements are Node16 with ES2020 functionality.

Symbol Python SDK 3.2.0

10 Apr 01:51
0ff44ca
Compare
Choose a tag to compare

Added

  • added now() to the facade for getting the current timestamp, improving on a previously verbose interface.
  • python 3.11 removes named zero flags from the Flag class - manually add 'none' => 0 mapping in the add_flags_parser.

Changed

  • removed duplicate code from the generator and significantly reduced the size of generated models.

Fixed

  • replaced the deprecated ByteString typing in Python 3.9 with bytes | bytearray | memoryview

Symbol Javascript SDK 3.2.0

10 Apr 01:54
0ff44ca
Compare
Choose a tag to compare

Added

  • added now() to the facade for getting the current timestamp, improving on a previously verbose interface.
  • added an alternative javascript implementation for WASM since certain runtimes (namely React Native) do not support WASM.
  • added a static getter that can be used instead of a constructor in typescript, as a workaround for a known typescript limitation.
  • use exports in package.json as recommended in newer NodeJS versions.

Changed

  • previously, the sdk did not support named imports; to improve discoverability, a single entry point has been split into default, nem, and symbol.
  • symbol-crypto-wasm-node package is no longer enforced, and has now been made an optional dependency.

Fixed

  • removed duplicate code from the generator and significantly reduced the size of generated models.
  • previously, the sdk could not be run in a browser were global is not defined - now, globalThis is used instead of global for WebAssembly for browser compatibility.
  • added better support for mm-snap by requiring default export to be last.
  • fixed an issue in Cipher.js failing in ReactNative environments because of Buffer polyfill limitations by wrapping all Uint8Arrays in Buffer.
  • updated inline rust code to use dalek 4.
  • pruned a customized tweetNaCl implementation.

  • fixed a known issue with javascript minification dropping ‘constructor.name’ which prevented the discovery of a specific class - as a temporary workaround, added the class name to a nc module to find transactions by class name.

Rest Gateway v2.4.4

06 Apr 14:09
Compare
Choose a tag to compare

What's Changed

Added

  • Added support for filtering blocks by timestamp.
  • Added routes and support for decoding Metal-compliant metadata. Metal is a community-developed protocol for arbitrary data storage.

Changed

  • Upgraded MongoDB to v6.0.14
  • Upgraded NodeJS to v18 (LTS)