Releases: hiero-ledger/hiero-sdk-java
v2.58.0
What's Changed
Summary
This release enhances enterprise-grade transaction signing capabilities with new HSM support and improves code maintainability through strategic refactoring of core transaction handling methods.
Added
HSM-based Transaction Signing - Enhanced support for Hardware Security Module integration
- New SignableNodeTransactionBodyBytes class - Represents transaction body ready for external signing, explicitly paired with node account ID and transaction ID
- Transaction.signableNodeBodyBytesList() - Returns array of SignableNodeTransactionBodyBytes containing canonical bodyBytes with their respective nodeAccountId and transactionId for signing workflows
Changed
Transaction.fromBytes() Refactoring - Improved code organization and maintainability
- Extracted smaller private methods following single responsibility principle
- Enhanced readability and maintainability of transaction deserialization logic
Dependency Changes
- chore(deps): bump com.google.code.gson:gson from 2.13.0 to 2.13.1 in /hiero-dependency-versions by @dependabot in #2313
- chore(deps): bump org.jetbrains.kotlin:kotlin-stdlib from 2.1.20 to 2.1.21 in /hiero-dependency-versions by @dependabot in #2339
- chore(deps): bump io.netty:netty-bom from 4.2.0.Final to 4.2.1.Final in /hiero-dependency-versions by @dependabot in #2327
- chore(deps): bump com.esaulpaugh:headlong from 13.2.1 to 13.2.2 in /hiero-dependency-versions by @dependabot in #2316
- chore(deps): bump com.google.guava:guava from 33.4.7-android to 33.4.8-android in /hiero-dependency-versions by @dependabot in #2312
- chore(deps): bump org.springframework.boot:spring-boot-dependencies from 3.4.5 to 3.5.0 in /hiero-dependency-versions by @dependabot in #2346
- chore(deps): bump com.fasterxml.jackson.core:jackson-core from 2.18.3 to 2.19.0 in /hiero-dependency-versions by @dependabot in #2315
- chore(deps): bump step-security/ghaction-import-gpg from 6.1.0 to 6.3.0 by @dependabot in #2351
Full Changelog: v2.57.0...v2.58.0
v2.57.0
What's Changed
Summary
This release introduces support for HIP-1046 and enhances node configuration with a new gRPC web proxy field in the address book schema, enabling node operators to manage web proxies directly. It also adds the grpcWebProxyEndpoint field to NodeCreateTransaction and NodeUpdateTransaction for non-gRPC client compatibility. Additionally, new APIs allow for transaction size estimation prior to submission, supporting better fee calculation, validation, and batching logic.
Added
- Support for HIP-1046. https://hips.hedera.com/hip/hip-1046
- Introduced new grpc web proxy field in the address book schema, making node operators manage their web proxies. #2337
- NodeCreateTransaction
- Endpoint grpcWebProxyEndpoint - A web proxy for gRPC from non-gRPC clients.
- Endpoint getGrpcWebProxyEndpoint()
- NodeCreateTransaction setGrpcWebProxyEndpoint(Endpoint)
- NodeUpdateTransaction
- Endpoint grpcWebProxyEndpoint - A web proxy for gRPC from non-gRPC clients.
- Endpoint getGrpcWebProxyEndpoint()
- NodeUpdateTransaction setGrpcWebProxyEndpoint(Endpoint)
- Support transaction size calculation before submission. This is useful for fee estimation, transaction validation, and batching logic. #2330
- Following APIs were implemented: #2324
-
Transaction.size: uint
Returns the total size (in bytes) of the protobuf-encoded transaction, including signatures and metadata. -
Transaction.bodySize: uint
Returns the protobuf-encoded transaction body size (excluding signatures), using a placeholder node account ID. -
ChunkTransaction.bodySizeAllChunks: uint[]
For chunked transactions (e.g. FileAppendTransaction, TopicMessageSubmitTransaction), returns an array of body sizes for each chunk.
-
- Following APIs were implemented: #2324
Dependency Changes
- chore(deps): bump gradle/actions from 4.3.1 to 4.4.0 by @dependabot in #2341
- build: bump Gradle to 8.14 / gradle-conventions to 0.4.1 / example deps by @jjohannes in #2343
- chore(deps): bump mockito from 5.17.0 to 5.18.0 in /hiero-dependency-versions by @dependabot in #2345
New Contributors
- @jwagantall made their first contribution in #2342
Full Changelog: v2.56.1...v2.57.0
v2.56.1
What's Changed
Added
Support for decline reward in node create and node update transaction.
Full Changelog: v2.56.0...v2.56.1
v2.56.0
What's Changed
Summary
This release enhances the Hedera SDK with improved account creation key management and network configuration fixes. The update focuses on more flexible key handling in account creation transactions and resolves an issue with address book propagation in network configuration.
Enhancements
Improved setECDSAKeyWithAlias and setKeyWithAlias for AccountCreateTransaction (#2319)
Updated and unified method signatures to accept a more flexible input type (Key)
Now properly handles both scenarios:
- If a PrivateKey is provided: Uses it to set the key and internally derives the alias from its corresponding public key
- If a PublicKey is provided: Uses it directly to set the key and derives the alias from that public key
Consistent outcome regardless of key input type is ensured (#2318)
Bug Fixes
Fixed issue where Client.setNetwork() did not propagate address book (#2317)
Now correctly attaches the corresponding address book on Node creation after setNetwork() invocation (#2322)
Dependency Changes
- chore(deps): bump org.springframework.boot:spring-boot-dependencies from 3.4.4 to 3.4.5 in /hiero-dependency-versions by @dependabot in #2314
Full Changelog: v2.55.0...v2.56.0
v.2.55.0
What's Changed
Summary
This release introduces HIP-551 Batch Transaction support, enabling atomic execution of transaction sequences with ACID properties through a new BatchTransaction class and related mechanisms. Additional improvements include TokenAirdropTransaction support, enhanced file handling for non-zero shards/realms, and a more robust retry mechanism for THROTTLED_AT_CONSENSUS responses using backoffs.
Added
-
HIP-551 Batch Transaction Support
-
Implemented HIP-551, enabling execution of dependent transactions as a single atomic unit satisfying ACID properties
-
New BatchTransaction class containing lists of inner transactions and their IDs
-
Introduced batchKey field in Transaction class that must sign the BatchTransaction
-
Created new batchify method to prepare transactions for inclusion in a batch:
- Sets the batch key
- Marks transaction as part of a batch (inner transaction)
- Signs with client operator
- Freezes the transaction
-
Enhanced freezeWith method to check if batchKey is null:
- Null: Indicates transaction is not part of a batch
- Present: Indicates transaction belongs to a batch (sets nodeAccountId to 0.0.0)
-
TokenAirdropTransaction Support
- New TCK method to handle TokenAirdropTransaction
Enhancements
- Not verifying the receipt for multiple
THROTTLED_AT_COSENSUS
responses. Also enhancing the retry mechanism for this status code using backoffs.
Dependency Changes
- chore(deps): bump step-security/harden-runner from 2.11.1 to 2.12.0 by @dependabot in #2306
- chore(deps): bump mockito from 5.16.1 to 5.17.0 in /hiero-dependency-versions by @dependabot in #2304
- chore(deps): bump com.google.guava:guava from 33.4.0-android to 33.4.7-android in /hiero-dependency-versions by @dependabot in #2295
- chore(deps): bump grpc from 1.71.0 to 1.72.0 in /hiero-dependency-versions by @dependabot in #2303
- chore(deps): bump com.google.code.gson:gson from 2.12.1 to 2.13.0 in /hiero-dependency-versions by @dependabot in #2296
New Contributors
Full Changelog: v2.54.0...v2.55.0
v2.54.0
What's Changed
Summary
This release adds support for HIP-1021, automatically assigning the autoRenewAccountId to the payer when no Admin Key is provided during topic creation. It also fixes issues with TopicUpdateTransaction
, enabling proper clearing of custom fees, feeExemptKey, and feeScheduleKey. Several dependency updates improve stability and compatibility, including updates to JUnit, Mockito, Netty, and more. Additional enhancements improve overall SDK behavior and align with protocol changes.
Enhancements
- Support for HIP-1021: Improve Assignment of Auto-Renew Account ID for Topics (https://hips.hedera.com/hip/hip-1021). The autoRenewAccountId will automatically be set to the payer_account_id of the transaction
if an Admin Key is not provided during topic creation #2301
Bug Fixes
- Upon
TopicUpdateTransaction
you are not able to clear the custom fees, feeExemptKey and feeScheduleKey #2284
The logic is updated as follows:- If we have null list (that is the default value) → Do nothing (don’t send a request).
- If we have empty list → Send a request to clear the list.
- For Non-empty list → Send a request with the provided list.
clearFeeScheduleKey
sets the key to empty KeyList.
Dependency Changes
- chore(deps): bump step-security/harden-runner from 2.11.0 to 2.11.1 by @dependabot in #2282
- chore(deps): bump crazy-max/ghaction-import-gpg from 6.2.0 to 6.3.0 by @dependabot in #2277
- chore: update protos to
v0.61.1
by @0xivanov in #2275 - chore: switch import gpg key action to step-security maintained version by @PavelSBorisov in #2292
- chore(deps): bump actions/setup-java from 4.7.0 to 4.7.1 by @dependabot in #2291
- chore(deps): bump actions/setup-node from 4.3.0 to 4.4.0 by @dependabot in #2294
- chore(deps): bump org.junit.jupiter:junit-jupiter-api from 5.12.1 to 5.12.2 in /hiero-dependency-versions by @dependabot in #2297
- chore(deps): bump com.esaulpaugh:headlong from 13.1.1 to 13.2.1 in /hiero-dependency-versions by @dependabot in #2293
- chore(deps): bump org.mockito:mockito-core from 5.15.2 to 5.16.1 in /hiero-dependency-versions by @dependabot in #2247
- chore(deps): bump io.netty:netty-bom from 4.1.119.Final to 4.2.0.Final in /hiero-dependency-versions by @dependabot in #2286
- release: v2.54.0 by @0xivanov in #2302
Full Changelog: v2.53.0...v2.54.0
v2.53.0
What's Changed
This release includes multiple feature enhancements for dependency updates and improvements to gRPC functionality. The update focuses on maintaining dependency health.
Added
- Enabled gRPC retry option for more stable connection with nodes #2264
Dependency Updates
- Upgraded com.esaulpaugh from 12.3.3 to 13.1.1. #2262 #2270
- Upgraded org.springframework.boot from 3.4.3 to 3.4.4. #2271
- Upgraded org.jetbrains.kotlin from 2.1.10 to 2.1.20. #2269
- Upgraded grpc from 1.70.0 to 1.71.0. #2254
- Upgraded org.junit.jupiter from 5.11.4 to 5.12.0. #2239
- Upgraded actions/setup-node from 4.2.0 to 4.3.0. #2261
- Upgraded gradle/actions from 4.3.0 to 4.3.1. #2274
v2.52.0
What's Changed
- chore: fix committers group access by @PavelSBorisov in #2234
- chore(deps): bump slf4j from 2.0.16 to 2.0.17 in /hiero-dependency-versions by @dependabot in #2245
- chore(deps): bump protobuf from 4.29.3 to 4.30.0 in /hiero-dependency-versions by @dependabot in #2255
- chore(deps): bump org.springframework.boot:spring-boot-dependencies from 3.4.2 to 3.4.3 in /hiero-dependency-versions by @dependabot in #2240
- chore: add example for network update schedule by @naydenovn in #2257
- revert: automatic setting of autorenew account for topic create by @0xivanov in #2259
- release: release version 2.52.0 by @naydenovn in #2260
Full Changelog: v2.51.0...v2.52.0
v2.51.0
What's Changed
- fix:
EthereumFlow
with large contract create by @0xivanov in #2232 - chore(deps): bump step-security/harden-runner from 2.10.4 to 2.11.0 by @dependabot in #2227
- feat: introduce new HIP-1021 by @naydenovn in #2241
- chore: update protos path by @0xivanov in #2237
- chore: deprecate methods that explicitly set shard and real to 0, adjust code so it doesn't uses them by @naydenovn in #2242
- chore: Investigate 0 shard realm assumptions by @naydenovn in #2243
- chore(deps): bump com.fasterxml.jackson.core:jackson-core from 2.18.2 to 2.18.3 in /hiero-dependency-versions by @dependabot in #2248
- chore(deps): bump io.netty:netty-bom from 4.1.118.Final to 4.1.119.Final in /hiero-dependency-versions by @dependabot in #2246
- chore(TCK): change port to 8544 by @0xivanov in #2251
- release: v2.51.0 by @0xivanov in #2252
Full Changelog: v2.50.0...v2.51.0
v2.50.0
What's Changed
- chore: Snyk Integration by @rbarker-dev in #2224
- fix: Update address books script by @0xivanov in #2221
- Update README.md by @hendrikebbers in #2218
- chore: adjust documentation by @naydenovn in #2181
- feat: introduce new AccountAllowance endpoints by @naydenovn in #2222
- chore: update protos to v0.59.0 by @0xivanov in #2216
- #284 fix account params by @naydenovn in #2235
- feat(HIP-991): Permissionless revenue topics by @naydenovn in #2233
- release: v2.50.0 by @0xivanov in #2236
New Contributors
- @hendrikebbers made their first contribution in #2218
Full Changelog: v2.49.0...v2.50.0