Skip to content

Releases: hiero-ledger/hiero-sdk-js

v2.65.1

29 May 11:47
b8e20e4
Compare
Choose a tag to compare

What's Changed

This release introduces robust support for external transaction signing via Hardware Security Modules (HSMs), enabling secure workflows for enterprise and regulated environments. It also includes several enhancements and bug fixes aimed at improving SDK reliability and developer experience.

Upgrading

For detailed guidance on implementing HSM-based signing and transaction size tracking, refer to the updated SDK documentation and examples provided.

Enhancements

  • HSM Support for External Signing:

    • Introduced SignableNodeTransactionBodyBytes to encapsulate nodeAccountId, transactionId, and canonical bodyBytes.
    • Added Transaction.signableNodeBodyBytesList() to return node-specific, signable transaction bytes for HSM workflows.
    • Enables secure external signing (e.g., via HSM or KMS) and injection of signatures back into the transaction.
      #3119

    Usage Example:

    const bytesList = transaction.signableNodeBodyBytesList;
    // Sign bytesList[i] externally and append signature back to the transaction
  • Key Type Detection Enhancement:

    • Added a utility library to determine key types.
    • Updated existing logic to use the centralized utility for consistent behavior.
      #3068
  • Transaction Size Tracking:

    • Introduced getters for transaction size, including support for chunked transactions such as FileAppendTransaction.
      #2961

Bug Fixes

  • Transaction Regression Fixes:
    • Resolved regressions in ContractCreateTransaction and TokenCreateTransaction.
      #3125

Documentation

  • Added usage documentation and examples for the HSM signing API.
    #3119
  • Documented local code coverage command to improve developer workflow.
    #3116

Full Changelog: v2.64.5...v2.65.0

Full Changelog: v2.64.5...v2.65.1

v2.65.0

29 May 10:30
ad35c2d
Compare
Choose a tag to compare

What's Changed

This release introduces robust support for external transaction signing via Hardware Security Modules (HSMs), enabling secure workflows for enterprise and regulated environments. It also includes several enhancements and bug fixes aimed at improving SDK reliability and developer experience.

Upgrading

For detailed guidance on implementing HSM-based signing and transaction size tracking, refer to the updated SDK documentation and examples provided.

Enhancements

  • HSM Support for External Signing:

    • Introduced SignableNodeTransactionBodyBytes to encapsulate nodeAccountId, transactionId, and canonical bodyBytes.
    • Added Transaction.signableNodeBodyBytesList() to return node-specific, signable transaction bytes for HSM workflows.
    • Enables secure external signing (e.g., via HSM or KMS) and injection of signatures back into the transaction.
      #3119

    Usage Example:

    const bytesList = transaction.signableNodeBodyBytesList;
    // Sign bytesList[i] externally and append signature back to the transaction
  • Key Type Detection Enhancement:

    • Added a utility library to determine key types.
    • Updated existing logic to use the centralized utility for consistent behavior.
      #3068
  • Transaction Size Tracking:

    • Introduced getters for transaction size, including support for chunked transactions such as FileAppendTransaction.
      #2961

Bug Fixes

  • Transaction Regression Fixes:
    • Resolved regressions in ContractCreateTransaction and TokenCreateTransaction.
      #3125

Documentation

  • Added usage documentation and examples for the HSM signing API.
    #3119
  • Documented local code coverage command to improve developer workflow.
    #3116

Full Changelog: v2.64.5...v2.65.0

v2.64.5

14 May 10:02
ce932c0
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.64.4...v2.64.5

v2.64.3

13 May 16:30
4b7d56e
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.64.2...v2.64.3

v2.64.0-beta.1

30 Apr 12:55
f11a803
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.63.0...v2.64.0-beta.1

v2.63.0

17 Apr 09:14
5d5c465
Compare
Choose a tag to compare

This release introduces various enhancements to the Hedera JavaScript SDK, including improved browser support, extended ECDSA functionality, better error handling, and internal optimizations.

Enhancements

  • UMD Browser Support: Added a UMD example demonstrating usage of the SDK in browser environments. #3028

  • PrivateKey Recovery ID Calculation: Added PrivateKey.getRecoveryId(r, s, message) method to enable recovery ID (v) calculation from raw ECDSA signature components. This addition allows developers to compute the recovery ID directly, enabling full support for signing and serializing Ethereum transactions (including EIP-155) within the SDK. It enhances compatibility with external Ethereum clients and tooling. #3021

  • Ethereum Address Example: Added an example demonstrating how to sign and recover Ethereum addresses using the Hedera SDK, Ethereum-style signature hashing (EIP-191), and the ecrecover contract. #3029

  • Dynamic Protobuf Generation: Implemented dynamic generation of RequestType.js and Status.js by parsing protobuf definitions. #3018

  • Improved Query Reliability: Enhanced reliability of getReceiptQuery and getRecordQuery, which are single-node requests. These queries now retry up to 10 times with a delay when encountering node-specific issues (e.g., "All nodes are unhealthy") to handle transient network or node health problems more gracefully. #3038

  • Internal Code Optimization: Extracted _makePaymentTransaction function used by both Query and CostQuery for initiating payment transactions. #3017

Bug Fixes

  • TopicUpdateTransaction Bug: Fixed a bug in TopicUpdateTransaction related to the handling of feeExemptKeys and customFees properties when they are unset. Previously, the transaction would include empty arrays for these fields, unintentionally clearing existing values on the topic. This change ensures that unset properties are treated as null, preserving existing topic configurations. #3031

Removed

  • Removed MyHbarWallet gRPC web proxies. #3053

Documentation

  • Updated README.md to reflect support for the UMD package. #3028

v2.63.0-beta.1

02 Apr 11:49
f22107e
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.62.0...v2.63.0-beta.1

v2.62.0

01 Apr 13:17
eca814c
Compare
Choose a tag to compare

What's changed

This release enhances account alias handling in the SDK and introduces new testing and documentation improvements for contract queries and transaction verification. It also includes development dependency upgrades to maintain compatibility and security.

Enhancements

  • Improved Account Alias Handling: Added support for hollow account detection (num=0 with alias) in AccountId. This ensures more accurate handling of aliases and improves protobuf conversion logic.

  • Protobuf Conversion Updates: Enhanced AccountId behavior with more explicit conversion rules for:

    • Both AccountId number and alias set
    • Only alias set
    • Only number set
      Comprehensive test coverage has been included.
      Contributed by @ivaylonikolov7 in #2994

Documentation

  • Mirror Node Contract Queries: Added usage documentation to help developers correctly configure sender addresses using ECDSA keys and aliases in contract queries.
    Contributed by @ivaylonikolov7 in #2993

Tests

  • PublicKey Verification: Added unit tests for PublicKey.verifyTransaction, ensuring correct behavior in signature verification.
    Contributed by @0xivanov in #2971

Dependency Upgrades

  • Development Dependencies:
    • Upgraded chromedriver from 133.0.3 to 134.0.5 (including in the cryptography package)
    • Upgraded sinon from 19.0.2 to 20.0.0
    • Upgraded vite from 6.1.0 to 6.1.3 (including in the cryptography package)
    • Upgraded axios from 1.7.7 to 1.8.2 in `/examples/simple_rest_signature_p

Full Changelog: v2.61.0...v2.62.0

v2.62.0-beta.3

31 Mar 13:21
92e69a5
Compare
Choose a tag to compare

This release adds support for generating UMD build files to allow the library to be used directly in browsers via CDN distribution.

Added

  • Generation of UMD build files (dist/) for browser compatibility, enabling direct script usage in HTML.
  • UMD files are available for easy CDN hosting via unpkg.com, simplifying integration and deployment in web projects.

Full Changelog: v2.62.0-beta.2...v2.62.0-beta.3

v2.62.0-beta.2

25 Mar 16:43
d21c8cb
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.62.0-beta.1...v2.62.0-beta.2