Releases: hiero-ledger/hiero-sdk-go
v2.73.0
What's Changed
Enhancements
- Grpc deadline and timeout to the client #1538
New APIs forClient: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
FileAppendandMessageSubmitto 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
- @rocksload made their first contribution in #1548
- @reddaisyy made their first contribution in #1546
Full Changelog: v2.72.0...v2.73.0
v2.72.0
What's Changed
Bug Fixes
ThrottledAtConsensusfor chunked transactions by @0xivanov in #1509- Usage metrics get version by @0xivanov in #1514
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
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.BuilderinStringmethods for various structs #1508 - Replaced custom min func with built-in function min. #1506
Bug Fixes
TransactionSignandTransactionExecuteto 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
- @joemicky made their first contribution in #1496
- @mickychang9 made their first contribution in #1508
Full Changelog: v2.70.0...v2.71.0
v2.70.0
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
NodeUpdateTransactionsetters to align with JS SDK #1490 - Utilized
slices.Equalto 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
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
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
DeleteGrpcWebProxyEndpointforNodeUpdateTransactionthat effectively sets the proxy tonullin the mirror node api and removes it from the address book state #1444 - Chunk size option for
TopicMessageSubmitTransaction, addedSetChunkSizeandGetChunkSize#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
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
nodeIDis not set forNodeUpdateandNodeDeleteby @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
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()forAccountId,ContractId,ContractDelegateId,TopicId,TokenId, andFileId. #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.
- Returns a 20-byte EVM-compatible address:
-
Introduced new method:
<EntityId>FromEvmAddress(shard, realm, evmAddress)forTopicId,TokenId, andFileId. #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
FromSolidityAddressin AccountId, ContractId, DelegateContractId, FileId, TokenId, and TopicId #1391ToSolidityAddressin AccountId, ContractId, DelegateContractId, FileId, TokenId, and TopicId #1391EthereumFlow, with the introduction of jumbo transactions, it should always be less cost and more efficient to useEthereumTransactioninstead #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
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 itClientFromConfig: can now accept shard and realm into the json schemaGetShardGetRealm
Changed
- Replaced bip39 library (https://github.com/tyler-smith/go-bip39), since it is no longer available #1418
Deprecated
ClientForMirrorNetworkWithRealmAndShard: UseClientForMirrorNetworkWithShardAndRealminstead.ClientForNetwork: UseClientForNetworkV2instead.
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
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. -
GetTransactionBodySizeAllChunksFor 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