v2.77.0
This release introduces client-level timeout controls and significant improvements to the WebClient and AddressBookQuery behavior in the Hiero JavaScript SDK. These updates improve consistency across SDKs, enhance reliability in web environments, and ensure better handling of network and timeout conditions.
Enhancements
-
Client-level Timeout Controls
Introduced new client-level timeout configurations to align behavior with other SDKs and improve network resilience:Client.grpcDeadline(ms):
New per-RPC default deadline withsetGrpcDeadline(int)/getGrpcDeadline().
Default: 10,000 ms.
Used during warmup and as a fallback when aTransactiondoesn’t set its own deadline.Client.requestTimeout(ms):
New overall timeout for the fullexecute()lifecycle (including retries and backoff).
Default: 120,000 ms.- Both values must be positive, non-zero integers for validation consistency across SDKs.
-
Improved JS SDK Client Deadline Behavior
When a transaction-levelgrpcDeadlineis exceeded, the SDK now marks the node as unhealthy and rotates to the next available node instead of throwing a fatal error. This change improves network stability under transient load conditions. -
Fallback Deadline Handling
Executablenow applies the client-levelgrpcDeadlinewhen no explicit per-transaction deadline is set, ensuring consistent and predictable timeout behavior. -
Browser (gRPC-web / Envoy) Enhancements
Added an initial HTTP healthcheck to the proxy with a timeout equal togrpcDeadline.
Healthcheck results are cached per-node to minimize redundant checks and improve request performance.
Bug Fixes
-
Mirror Network Initialization
Fixed an issue where the mirror network was not correctly set in the client state when usingWebClient.forMirrorNetworkin web environments. -
AddressBookQuery Execution
Resolved a bug that preventedAddressBookQueryfrom executing when theClientclass had an empty network state. -
Node Model Definition
Corrected a model definition issue where a property in theNodemodel was not marked as optional.
Documentation
- Updated SDK documentation to describe the new client-level timeout APIs and their validation rules.
Full Changelog: v2.76.0...v2.77.0