Skip to content

Releases: hiero-ledger/hiero-sdk-go

v2.73.0

28 Oct 09:35
v2.73.0
4547027

Choose a tag to compare

What's Changed

Enhancements

  • Grpc deadline and timeout to the client #1538
    New APIs for Client:
    • GetGrpcDeadline & SetGrpcDeadline - the grpc deadline for a single grpc request
      New APIs for transactions and queries:
    • GetRequestTimeout & SetRequestTimeout - the total time budget for a complete Transaction or Query execute operation

Bug Fixes

  • The SDK not switching nodes when it receives bad grpc status code #1538

Internal Changes

  • Refactor for FileAppend and MessageSubmit to share execute logic #1549
  • Replace HasSuffix+TrimSuffix with CutSuffix #1548

Dependency Changes

  • Chore(deps): Bump hiero-ledger/hiero-solo-action from b76850c1ac44466900f8e7412b309c3aa0f539c1 to 6a1a77601cf3e69661fb6880530a4edf656b40d5 by @dependabot[bot] in #1541
  • Chore(deps): Bump google.golang.org/grpc from 1.75.1 to 1.76.0 by @dependabot[bot] in #1522
  • Chore(deps): Bump golang.org/x/crypto from 0.41.0 to 0.43.0 by @dependabot[bot] in #1523

New Contributors

Full Changelog: v2.72.0...v2.73.0

v2.72.0

14 Oct 12:57
v2.72.0
1a61967

Choose a tag to compare

What's Changed

Bug Fixes

Dependency Changes

  • Chore(deps): Bump actions/setup-node from 5.0.0 to 6.0.0 by @dependabot[bot] in #1533
  • Chore(deps): Bump google.golang.org/protobuf from 1.36.9 to 1.36.10 by @dependabot[bot] in #1518

New Contributors

Full Changelog: v2.71.0...v2.72.0

v2.71.0

30 Sep 09:34
v2.71.0
205e274

Choose a tag to compare

What's Changed

Summary

This release introduces improvements to Mirror Node REST API integration, enhances performance through optimized string handling, and simplifies code by leveraging built-in Go functions. It also includes important fixes for chunked transaction execution, dependency updates, and welcomes new contributors to the project.

Enhancements

  • Introduced Client.GetMirrorRestApiBaseUrl getter to provide the full Mirror Node REST API base URL, including scheme and port #1507
  • Updated AccountId.populateAccountEvmAddress, AccountId.populateAccountNum MirrorNodeContractQuery to construct URLs using mirrorRestApiBaseUrl instead of manually parsing strings #1507
  • Used strings.Builder in String methods for various structs #1508
  • Replaced custom min func with built-in function min. #1506

Bug Fixes

  • TransactionSign and TransactionExecute to work with chunked transactions by calling the overridden implementations #1505

Dependency Changes

  • Chore(deps): Bump google.golang.org/protobuf from 1.36.7 to 1.36.9 by @dependabot[bot] in #1491
  • Chore(deps): Bump hiero-ledger/hiero-solo-action from 0.10.0 to 0.13.0 by @dependabot[bot] in #1504
  • chore: bump solo action by @0xivanov in #1502

New Contributors

Full Changelog: v2.70.0...v2.71.0

v2.70.0

16 Sep 10:32
v2.70.0
40c4f50

Choose a tag to compare

What's Changed

Summary

This release improves validation consistency, simplifies internal code, and addresses bug fixes around status codes and error handling. It also updates several dependencies to their latest versions for better stability and security.

Enhancements

  • Validation to NodeUpdateTransaction setters to align with JS SDK #1490
  • Utilized slices.Equal to simplify code #1476

Bug Fixes

  • Status codes StatusServiceEndpointsExceededLimit, StatusInvalidGossipCaCertificate, StatusInvalidIPV4Address has swapped places #1486
  • Freeze error not being checked in some flows #1486

Dependency Changes

  • Chore(deps): Bump google.golang.org/grpc from 1.74.2 to 1.75.0 by @dependabot[bot] in #1473
  • Chore(deps): Bump github.com/stretchr/testify from 1.10.0 to 1.11.0 by @dependabot[bot] in #1474
  • Chore(deps): Bump golang.org/x/crypto from 0.40.0 to 0.41.0 by @dependabot[bot] in #1467
  • Chore(deps): Bump google.golang.org/protobuf from 1.36.6 to 1.36.7 by @dependabot[bot] in #1466
  • Chore(deps): Bump actions/checkout from 4.2.2 to 5.0.0 by @dependabot[bot] in #1469

Full Changelog: v2.68.0...v2.69.0

v2.69.0

29 Aug 11:45
v2.69.0
b33ac47

Choose a tag to compare

What's Changed

Summary

This release introduces several enhancements to transaction handling and contract updates, including support for setting AutoRenewPeriod in seconds, mutual exclusivity between SetStakedAccountID and SetStakedNodeID, the ability to use both private and public keys in SetAdminKey for contract updates, the option to remove an auto-renew account by setting it to 0.0.0, and new customFeeLimits support for scheduled transactions (currently for TopicSubmitTransaction)

Full Changelog: v2.68.0...v2.69.0

v2.68.0

05 Aug 08:44
v2.68.0
1a7bfdd

Choose a tag to compare

What's Changed

Summary

This release includes key enhancements and improvements to the SDK. Notably, a new method has been added to support removal of the gRPC proxy endpoint, and topic message submissions now support configurable chunk sizes. Additionally, the SDK now allows updating a topic memo to an empty string, and has been upgraded to Go 1.24.

Enhancements

  • Introduced new method DeleteGrpcWebProxyEndpoint for NodeUpdateTransaction that effectively sets the proxy to null in the mirror node api and removes it from the address book state #1444
  • Chunk size option for TopicMessageSubmitTransaction, added SetChunkSize and GetChunkSize #1448

Changed

  • Now it's possible to update the topic memo to empty string using the setter, as previously the value would be ignored #1448
  • Migrated to Go version 1.24 #1452

Dependency Changes

  • Chore(deps): Bump google.golang.org/grpc from 1.73.0 to 1.74.2 by @dependabot[bot] in #1456

Full Changelog: v2.67.0...v2.68.0

v2.67.0

22 Jul 13:56
v2.67.0
903d5c9

Choose a tag to compare

What's Changed

Summary

This release includes improved error handling and code simplification. Notably, an error is now returned when nodeID is missing in NodeUpdate or NodeDelete operations. Additionally, internal code was refactored for clarity using slices.Contains. Dependency versions were also updated. Welcome to @geekvest for their first contribution!

Enhancements

  • fix: Return error when nodeID is not set for NodeUpdate and NodeDelete by @0xivanov in #1426
  • refactor: use slices.Contains to simplify code by @geekvest in #1442

Dependency Changes

  • Chore(deps): Bump step-security/harden-runner from 2.12.2 to 2.13.0 by @dependabot[bot] in #1443
  • Chore(deps): Bump hiero-ledger/hiero-solo-action from 54caccbfb28c2d1638e2c51a0219568f54f75b5d to a39acf8cfbaa2feb195a86530d0ab643a45aa541 by @dependabot[bot] in #1435

New Contributors

Full Changelog: v2.66.0...v2.67.0

v2.66.0

08 Jul 12:54
v2.66.0
e4305a4

Choose a tag to compare

What's Changed

Summary

This release introduces support for EVM-compatible entity address conversion via the new ToEvmAddress() and FromEvmAddress() methods across multiple types. These methods do not encode shard and realm values in the address, see this document. Additionally, several legacy SolidityAddress methods have been deprecated in favor of the new EVM methods. The EthereumFlow feature is also deprecated, with EthereumTransaction now recommended for all use cases. Minor dependency updates are included.

Enhancements

  • Introduced new method: <EntityId>.ToEvmAddress() for AccountId, ContractId, ContractDelegateId, TopicId, TokenId, and FileId. #1391

    • Returns a 20-byte EVM-compatible address:
      • If the entity has an alias address, it is returned directly.
      • Otherwise, a long-zero address is returned with only the entity number encoded in the last 8 bytes (big-endian).
    • Shard and realm values are not included in the output.
  • Introduced new method: <EntityId>FromEvmAddress(shard, realm, evmAddress) for TopicId, TokenId, and FileId. #1391

    • Parses only long-zero EVM addresses that encode the entity number.
    • If a non-long-zero address is passed, an error is thrown to enforce correctness.

Deprecated

  • FromSolidityAddress in AccountId, ContractId, DelegateContractId, FileId, TokenId, and TopicId #1391
  • ToSolidityAddress in AccountId, ContractId, DelegateContractId, FileId, TokenId, and TopicId #1391
  • EthereumFlow, with the introduction of jumbo transactions, it should always be less cost and more efficient to use EthereumTransaction instead #1428

Dependency Changes

  • Chore(deps): Bump step-security/harden-runner from 2.12.1 to 2.12.2 by @dependabot in #1427

Full Changelog: v2.65.0...v2.66.0

v2.65.0

25 Jun 11:05
v2.65.0
06ad29d

Choose a tag to compare

What's Changed

This release introduces persistent shard and realm support in the Client, improving configuration flexibility and consistency across environments. Key client constructors now support shard and realm handling directly. Additionally, the deprecated bip39 library has been replaced due to its unavailability, and older client methods have been deprecated in favor of newer, more robust alternatives.

Summary

Enhancements

  • Add persistent shard and realm support to Client #1395
    • ClientForNetworkV2 : extracts the shard and realm from the network map and persists it
    • ClientFromConfig : can now accept shard and realm into the json schema
    • GetShard
    • GetRealm

Changed

Deprecated

  • ClientForMirrorNetworkWithRealmAndShard : Use ClientForMirrorNetworkWithShardAndRealm instead.
  • ClientForNetwork : Use ClientForNetworkV2 instead.

Dependency Changes

  • Chore(deps): Bump step-security/harden-runner from 2.12.0 to 2.12.1 by @dependabot in #1409

Full Changelog: v2.64.0...v2.65.0

v2.64.0

10 Jun 08:24
v2.64.0
f0dcd64

Choose a tag to compare

What's Changed

Summary

This release introduces enhanced transaction size inspection APIs, enabling developers to measure transaction sizes with and without signatures. It also includes bug fixes for protobuf methods in Pause and Unpause transactions.

Enhancements

Transaction Size #1392
New APIs in Transaction.go:

  • GetTransactionSize -Returns the total size (in bytes) of the protobuf-encoded transaction, including signatures and metadata.

  • GetTransactionBodySize - Returns the protobuf-encoded transaction body size (excluding signatures), using a placeholder node account ID.

  • GetTransactionBodySizeAllChunks For chunked transactions (e.g. FileAppendTransaction, TopicMessageSubmitTransaction), returns an array of body sizes for each chunk.

Bug Fixes

  • Pause/UnpauseTransaction's protobuf methods #1393

Full Changelog: v2.63.0...v2.64.0