github hiero-ledger/hiero-json-rpc-relay v0.77.0

4 hours ago

Overview

v0.77.0 is a significant release with improvements spanning performance, reliability, operator tooling, and EVM compatibility. Before upgrading, please review the breaking changes section carefully — several configuration defaults and behavioral contracts have changed in this release.


⚠️ Breaking Changes

Review all items below and update your configuration before upgrading.

Item Before After Notes
REDIS_ENABLED true false Redis is now opt-in. Set REDIS_ENABLED=true to restore previous behavior. (#4792)
RATE_LIMIT_DISABLED false true IP-based rate limiting is now opt-in. Set RATE_LIMIT_DISABLED=false to re-enable. (#4792)
HBAR_RATE_LIMIT_TINYBAR 25000000000 (250 HBAR) 0 HBAR spending budget no longer capped by default. Set explicitly to enforce a limit. (#4792)
USE_ASYNC_TX_PROCESSING true false eth_sendRawTransaction now waits for full confirmation. Set USE_ASYNC_TX_PROCESSING=true to restore immediate hash-return behavior. (#4792)
ENABLE_TX_POOL false true Internal transaction pool now enabled by default. (#4792)
SUBSCRIPTIONS_ENABLED false true eth_subscribe over WebSocket now on by default. (#4792)
WORKERS_POOL_ENABLED true false CPU-intensive tasks now run on the main event loop by default. Set WORKERS_POOL_ENABLED=true to restore thread pool behavior. (#5288)
Balance response values HBAR weibar eth_getBalance and other balance-returning methods now return weibar values, aligned with Mirror Node. Applications expecting HBAR-denominated values must be updated. (#5134)
SDK package @hashgraph/sdk @hiero-ledger/sdk Direct SDK imports must be updated to the rebranded package. (#5354)

Highlights

  • Relay consolidated into a single package with Lerna removed, simplifying installation and build pipelines. (#5074)
  • Relay CLI introduced with base and extended operator command sets for direct relay interaction. (#5150, #5188)
  • All HTTP JSON-RPC methods are now available over WebSocket connections. (#5217)
  • Two-lock nonce sequencing resolves a race condition in concurrent eth_sendRawTransaction submissions. (#5356)
  • gasUsedRatio now populated in eth_feeHistory responses for improved EIP-1559 fee estimation compatibility. (#5140)
  • Memory footprint reduced via selective ethers.js submodule imports and removal of unnecessary pino worker threads. (#5147, #5149)

Beyond the highlights and breaking changes above, this release also includes a number of targeted bug fixes — among them a WebSocket ping interval resource leak on connection close, a Redis lock acquisition issue that could cause requests to become permanently stuck, and a null to field in debug_traceTransaction responses for contract creation transactions. As with every release, a broad set of dependency updates is included to keep the codebase current and address known vulnerabilities across the stack.


Full Changlog

  • chore: audit by @PavelSBorisov in #5073
  • feat: updates Dockerfile to use bookworm for build by @simzzz in #5153
  • feat: reduce memory footprint by replacing full ethers.js import with selective submodule imports by @quiet-node in #5147
  • fix: eliminate unnecessary pino worker threads to reduce memory footprint by @quiet-node in #5149
  • feat: retry Mirror Node connection on startup with configurable backoff by @quiet-node in #5158
  • chore(release): Bump versions for v0.77.0-SNAPSHOT by @swirlds-automation in #5142
  • feat: remove mirror node polling for successful transactions in sendrawtransactionprocessor (#4861) by @jasuwienas in #5154
  • feat: removes lerna and merge relay into a single package by @simzzz in #5074
  • fix: changed assertion for gasUsed to match blockGasLimit implementation (#5189) by @BartoszSolkaBD in #5210
  • fix: fixed cumulativeGasUsed assertions in acceptance tests (#5190) by @BartoszSolkaBD in #5209
  • fix: removed @Release tag from test and updated the title (#5191) by @BartoszSolkaBD in #5212
  • feat: add startupProbe to relay and websocket Helm charts to reduce startup time by @quiet-node in #5207
  • fix: lerna refactor follow-up clean-up by @simzzz in #5215
  • feat: move getBalance to specific worker by @bootcodes in #5146
  • fix: improve Mirror Node startup retry to handle transient gateway errors by @quiet-node in #5216
  • chore: revamp the default configuration variables (#4785) by @jasuwienas in #4792
  • feat: calculate gasUsedRatio in eth_feeHistory (#5066) by @BartoszSolkaBD in #5140
  • build(deps-dev): bump axios from 1.11.0 to 1.15.0 in /tools/solidity-coverage-example by @dependabot[bot] in #5242
  • perf: optimize redundant log query by @bootcodes in #5225
  • feat: enable same HTTP methods on websocket by @bootcodes in #5217
  • perf: optimize getBlockTransactionDetails() by @bootcodes in #5224
  • chore: use solo node instead of local node (#5060) by @jasuwienas in #5234
  • feat: implement base commands for relay cli by @natanasow in #5150
  • chore: use step-security action and disable caching by @PavelSBorisov in #5262
  • build(deps): bump protobufjs from 7.5.4 to 7.5.5 by @dependabot[bot] in #5280
  • build(deps-dev): bump protobufjs from 7.2.5 to 7.5.5 in /tools/subgraph-example by @dependabot[bot] in #5279
  • build(deps): bump the minor-and-patch-cargo-weekly group across 3 directories with 2 updates by @dependabot[bot] in #5245
  • build(deps): bump axios from 1.12.2 to 1.15.0 in /tools/layer-zero-example by @dependabot[bot] in #5265
  • build(deps): bump follow-redirects from 1.15.9 to 1.16.0 in /tools/layer-zero-example by @dependabot[bot] in #5256
  • build(deps): bump follow-redirects from 1.15.11 to 1.16.0 by @dependabot[bot] in #5255
  • build(deps): bump follow-redirects from 1.15.9 to 1.16.0 in /tools/whbar-hardhat-example by @dependabot[bot] in #5254
  • build(deps): bump follow-redirects from 1.15.11 to 1.16.0 in /tools/solidity-coverage-example by @dependabot[bot] in #5253
  • build(deps): bump follow-redirects from 1.15.6 to 1.16.0 in /tools/hardhat-example by @dependabot[bot] in #5250
  • build(deps-dev): bump axios from 1.11.0 to 1.15.0 in /tools/whbar-hardhat-example by @dependabot[bot] in #5240
  • build(deps-dev): bump axios from 1.11.0 to 1.15.0 in /tools/hardhat-example by @dependabot[bot] in #5239
  • build(deps-dev): bump picomatch from 2.3.1 to 2.3.2 by @dependabot[bot] in #5204
  • build(deps): bump the minor-and-patch-gomod-weekly group across 2 directories with 1 update by @dependabot[bot] in #5197
  • build(deps): bump path-to-regexp from 0.1.12 to 0.1.13 in /dapp-example by @dependabot[bot] in #5194
  • build(deps-dev): bump handlebars from 4.7.8 to 4.7.9 in /tools/hardhat-example by @dependabot[bot] in #5187
  • build(deps): bump handlebars from 4.7.8 to 4.7.9 in /tools/solidity-coverage-example by @dependabot[bot] in #5185
  • feat: disable worker pool by default (#5286) by @jasuwienas in #5288
  • build(deps): bump axios from 1.13.5 to 1.15.0 by @dependabot[bot] in #5236
  • feat: align relay to mirror node returing weibars (#4901) by @BartoszSolkaBD in #5134
  • feat: added a warning for minimum required mirror node version when hbar=false is enforced (#5238) by @BartoszSolkaBD in #5274
  • build(deps-dev): bump handlebars from 4.7.8 to 4.7.9 in /tools/hedera-crosschain-bridge by @dependabot[bot] in #5181
  • build(deps-dev): bump handlebars from 4.7.8 to 4.7.9 in /tools/whbar-hardhat-example by @dependabot[bot] in #5183
  • build(deps): bump the minor-and-patch-actions-weekly group across 1 directory with 10 updates by @dependabot[bot] in #5267
  • build(deps): bump picomatch in /tools/subgraph-example by @dependabot[bot] in #5281
  • build(deps): bump follow-redirects from 1.15.6 to 1.16.0 in /dapp-example by @dependabot[bot] in #5252
  • build(deps): bump the minor-and-patch-cargo-weekly group across 3 directories with 1 update by @dependabot[bot] in #5299
  • build(deps): bump picomatch from 2.3.1 to 2.3.2 in /tools/whbar-hardhat-example by @dependabot[bot] in #5162
  • build(deps-dev): bump picomatch from 2.3.1 to 2.3.2 in /tools/hedera-crosschain-bridge by @dependabot[bot] in #5163
  • build(deps): bump step-security/docker-build-push-action from 6.18.0 to 7.1.0 by @dependabot[bot] in #5308
  • build(deps): bump docker/login-action from 3.7.0 to 4.1.0 by @dependabot[bot] in #5303
  • build(deps): bump Azure/setup-helm from 4.3.1 to 5.0.0 by @dependabot[bot] in #5305
  • build(deps): bump step-security/git-auto-commit-action from 6.0.2 to 7.1.1 by @dependabot[bot] in #5307
  • build(deps): bump actions/upload-artifact from 6.0.0 to 7.0.1 by @dependabot[bot] in #5310
  • build(deps): bump docker/setup-qemu-action from 3.7.0 to 4.0.0 by @dependabot[bot] in #5311
  • build(deps): bump flatted from 3.3.1 to 3.4.2 in /dapp-example by @dependabot[bot] in #5123
  • build(deps): bump flatted from 3.2.7 to 3.4.2 in /tools/subgraph-example by @dependabot[bot] in #5121
  • build(deps-dev): bump flatted from 3.3.3 to 3.4.2 by @dependabot[bot] in #5129
  • build(deps): bump actions/github-script from 7.0.1 to 9.0.0 by @dependabot[bot] in #5309
  • build(deps): bump docker/build-push-action from 6.19.2 to 7.1.0 by @dependabot[bot] in #5304
  • build(deps): bump the minor-and-patch-actions-weekly group with 3 updates by @dependabot[bot] in #5302
  • fix: clear WebSocket ping interval on connection close (#5233) by @BartoszSolkaBD in #5275
  • ci: skip codecov and test report publishing for dependabot runs (#5289) by @jasuwienas in #5298
  • feat: change name of ms storing metric and fix its buckets (#5231) by @jasuwienas in #5297
  • build(deps): bump picomatch from 2.3.1 to 2.3.2 in /tools/hardhat-viem-example by @dependabot[bot] in #5171
  • build(deps-dev): bump picomatch from 2.3.1 to 2.3.2 in /tools/waffle-example by @dependabot[bot] in #5170
  • fix: unit tests are stopped mid processing with success result code (#5318) by @jasuwienas in #5319
  • build(deps): bump rand from 0.8.5 to 0.8.6 in /tools/ethers-rs-example by @dependabot[bot] in #5325
  • build(deps): bump uuid from 13.0.0 to 14.0.0 by @dependabot[bot] in #5329
  • build(deps): bump openssl from 0.10.72 to 0.10.78 in /tools/web3rs-example by @dependabot[bot] in #5323
  • build(deps): bump openssl from 0.10.72 to 0.10.78 in /tools/alloy-core-rs-example by @dependabot[bot] in #5322
  • build(deps): bump rand from 0.8.5 to 0.8.6 in /tools/web3rs-example by @dependabot[bot] in #5321
  • build(deps): bump rand from 0.8.5 to 0.8.6 in /tools/alloy-core-rs-example by @dependabot[bot] in #5320
  • build(deps): bump Azure/setup-kubectl from 4.0.1 to 5.1.0 by @dependabot[bot] in #5306
  • build(deps): bump axios from 1.8.4 to 1.15.1 in /tools/subgraph-example by @dependabot[bot] in #5294
  • build(deps): bump yaml from 2.8.2 to 2.8.3 in /k6 by @dependabot[bot] in #5177
  • build(deps): bump picomatch from 2.3.1 to 2.3.2 in /tools/layer-zero-example/test/fuzzy-testing by @dependabot[bot] in #5169
  • build(deps): bump picomatch from 2.3.1 to 2.3.2 in /tools/layer-zero-example by @dependabot[bot] in #5166
  • build(deps): bump yaml in /dapp-example by @dependabot[bot] in #5165
  • build(deps-dev): bump picomatch from 2.3.1 to 2.3.2 in /tools/hardhat-example by @dependabot[bot] in #5164
  • build(deps): bump picomatch in /tools/solidity-coverage-example by @dependabot[bot] in #5161
  • build(deps): bump picomatch from 2.3.1 to 2.3.2 in /dapp-example by @dependabot[bot] in #5168
  • build(deps): bump follow-redirects from 1.15.6 to 1.16.0 in /tools/subgraph-example by @dependabot[bot] in #5251
  • build(deps-dev): bump follow-redirects from 1.15.6 to 1.16.0 in /tools/waffle-example by @dependabot[bot] in #5249
  • build(deps): bump the minor-and-patch-npm-weekly group across 5 directories with 7 updates by @dependabot[bot] in #5248
  • fix: improve Redis acquireLock logic to address stuck requests (#5260) by @BartoszSolkaBD in #5287
  • build(deps): bump the minor-and-patch-actions-weekly group with 2 updates by @dependabot[bot] in #5340
  • build(deps): bump reqwest from 0.12.26 to 0.13.3 in /tools/alloy-core-rs-example by @dependabot[bot] in #5338
  • build(deps): bump go.opentelemetry.io/otel from 1.40.0 to 1.41.0 in /tools/golang-json-rpc-tests by @dependabot[bot] in #5336
  • build(deps): bump lodash from 4.17.21 to 4.17.23 in /tools/subgraph-example by @dependabot[bot] in #4829
  • fix: debug_transaction can return to: null by @bootcodes in #5276
  • build(deps): bump the minor-and-patch-npm-daily group across 1 directory with 19 updates by @dependabot[bot] in #5301
  • build(deps): bump bn.js in /tools/layer-zero-example/test/fuzzy-testing by @dependabot[bot] in #4984
  • build(deps): bump keccak from 0.1.5 to 0.1.6 in /tools/web3rs-example by @dependabot[bot] in #4962
  • build(deps): bump keccak from 0.1.5 to 0.1.6 in /tools/ethers-rs-example by @dependabot[bot] in #4960
  • build(deps): bump keccak from 0.1.5 to 0.1.6 in /tools/alloy-core-rs-example by @dependabot[bot] in #4955
  • build(deps): bump ajv from 6.12.6 to 6.14.0 in /dapp-example by @dependabot[bot] in #4961
  • build(deps): bump go.opentelemetry.io/otel from 1.40.0 to 1.41.0 in /tools/golang-example by @dependabot[bot] in #5335
  • feat: add retry mechanism when operator balance is 0 by @natanasow in #5334
  • fix: resolve lint errors across repo and strengthen CI enforcement (1/3) by @bootcodes in #5228
  • feat: implement extended commands for relay cli by @natanasow in #5188
  • chore: migration from @hashgraph/sdk 2.81.0 to @hiero-ledger/sdk 2.83.0 (#5148) by @BartoszSolkaBD in #5354
  • fix: resolve lint errors across repo and strengthen CI enforcement (2/3) by @bootcodes in #5272
  • feat: add GitHub workflow for publishing as npmjs package by @natanasow in #5290
  • build(deps): bump the minor-and-patch-npm-daily group across 1 directory with 8 updates by @dependabot[bot] in #5387
  • fix: guard getHistoricalBlockResponse against empty mirror node blocks by @simzzz in #5369
  • fix: correct order of actions and improve dry run render (#5133) by @jasuwienas in #5393
  • build(deps-dev): bump fast-uri from 3.0.6 to 3.1.2 in /tools/hedera-crosschain-bridge by @dependabot[bot] in #5388
  • build(deps): bump fast-uri from 3.1.0 to 3.1.2 in /dapp-example by @dependabot[bot] in #5391
  • build(deps): bump alloy from 1.7.3 to 2.0.4 in /tools/alloy-core-rs-example by @dependabot[bot] in #5366
  • build(deps-dev): bump fast-uri from 3.0.6 to 3.1.2 in /tools/solidity-coverage-example by @dependabot[bot] in #5386
  • build(deps): bump openssl from 0.10.78 to 0.10.79 in /tools/web3rs-example by @dependabot[bot] in #5378
  • build(deps): bump the minor-and-patch-actions-weekly group across 1 directory with 3 updates by @dependabot[bot] in #5396
  • build(deps-dev): bump fast-uri from 3.0.6 to 3.1.2 in /tools/whbar-hardhat-example by @dependabot[bot] in #5385
  • build(deps-dev): bump fast-uri from 3.0.6 to 3.1.2 in /tools/hardhat-example by @dependabot[bot] in #5389
  • build(deps): bump bytes from 1.10.1 to 1.11.1 in /tools/web3rs-example by @dependabot[bot] in #4885
  • build(deps): bump minimatch from 3.1.2 to 3.1.5 in /k6 by @dependabot[bot] in #5004
  • build(deps): bump step-security/ghaction-import-gpg from 6.3.1 to 7.0.0 by @dependabot[bot] in #5341
  • build(deps): bump fast-uri from 3.1.0 to 3.1.2 by @dependabot[bot] in #5384
  • build(deps): bump the minor-and-patch-cargo-weekly group across 3 directories with 1 update by @dependabot[bot] in #5395
  • build(deps): bump @isaacs/brace-expansion from 5.0.0 to 5.0.1 by @dependabot[bot] in #4871
  • build(deps-dev): bump @babel/preset-env from 7.28.5 to 7.29.0 in /dapp-example by @dependabot[bot] in #4974
  • build(deps-dev): bump minimatch from 3.1.2 to 3.1.4 in /dapp-example by @dependabot[bot] in #4990
  • build(deps): bump yaml from 2.8.2 to 2.8.3 in /tools/whbar-hardhat-example by @dependabot[bot] in #5175
  • build(deps): bump yaml from 2.8.2 to 2.8.3 by @dependabot[bot] in #5176
  • build(deps): bump uuid, @nomicfoundation/hardhat-toolbox and hardhat in /tools/hedera-crosschain-bridge by @dependabot[bot] in #5326
  • build(deps-dev): bump @types/node from 24.12.0 to 25.6.2 by @dependabot[bot] in #5346
  • build(deps-dev): bump globals from 16.5.0 to 17.5.0 by @dependabot[bot] in #5348
  • build(deps): bump the minor-and-patch-gomod-weekly group across 2 directories with 1 update by @dependabot[bot] in #5394
  • build(deps-dev): bump protobufjs from 7.5.5 to 7.5.8 in /tools/subgraph-example by @dependabot[bot] in #5397
  • build(deps): bump @protobufjs/utf8 from 1.1.0 to 1.1.1 in /tools/whbar-hardhat-example by @dependabot[bot] in #5398
  • build(deps-dev): bump axios from 1.15.0 to 1.16.0 in /tools/whbar-hardhat-example by @dependabot[bot] in #5383
  • feat: two-lock nonce sequencing for concurrent eth_sendRawTransaction (#5349) by @quiet-node in #5356
  • fix(ci): update npm-package-artifact to tar src instead of packages (#5408) by @quiet-node in #5420

Full Changelog: v0.76.2...v0.77.0

Don't miss a new hiero-json-rpc-relay release

NewReleases is sending notifications on new releases.