Skip to content

v2.65.0

Compare
Choose a tag to compare
@github-actions github-actions released this 29 May 10:30
· 73 commits to main since this release
ad35c2d

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