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

8 hours ago

Overview

v0.76.0 expands the debug_* namespace significantly, adding debug_traceBlockByHash, debug_getRawBlock, debug_getRawHeader, debug_getRawReceipts, and debug_getRawTransaction. This release also includes several correctness fixes: cumulativeGasUsed calculations in eth_getBlockReceipts/eth_getTransactionReceipt, proper hex-encoded output in trace endpoints, empty tracer object handling for transactions without executed opcodes, and complete log return for synthetic transactions. Notable infrastructure improvements include a redesigned multi-stage Dockerfile using Node File Trace for smaller images, an optional worker thread pool toggle (WORKERS_POOL_ENABLED), reduced Piscina idle logging, and Mirror Node retry-on-startup with configurable backoff. The paymaster feature was extended to support multiple accounts and smart contracts, and MIRROR_NODE_LIMIT_PARAM now replaces the hardcoded MIRROR_NODE_QUERY_LIMIT constant for greater operator flexibility. The release also ships the usual round of dependency updates and security patches across tooling examples.

What's Changed

  • feat: adds debug_traceBlockByHash support by @simzzz in #4867
  • build(deps): bump jsonpath from 1.1.1 to 1.2.1 in /dapp-example by @dependabot[bot] in #4914
  • build(deps): bump the minor-and-patch-cargo-weekly group across 2 directories with 4 updates by @dependabot[bot] in #4772
  • build(deps-dev): bump hardhat from 2.26.1 to 2.28.0 in /tools/subgraph-example by @dependabot[bot] in #4749
  • build(deps): bump diff in /tools/hardhat-viem-example by @dependabot[bot] in #4818
  • build(deps): bump qs, express and @cypress/request in /dapp-example by @dependabot[bot] in #4922
  • build(deps): bump bytes from 1.10.1 to 1.11.1 in /tools/alloy-core-rs-example by @dependabot[bot] in #4879
  • chore(release): Bump versions for v0.76.0-SNAPSHOT by @swirlds-automation in #4927
  • build(deps): bump the minor-and-patch-actions-weekly group across 1 directory with 15 updates by @dependabot[bot] in #4929
  • build(deps): bump qs from 6.14.1 to 6.15.0 in /tools/layer-zero-example/test/fuzzy-testing by @dependabot[bot] in #4932
  • build(deps): bump time from 0.3.44 to 0.3.47 in /tools/ethers-rs-example by @dependabot[bot] in #4912
  • build(deps): bump bytes from 1.10.1 to 1.11.1 in /tools/ethers-rs-example by @dependabot[bot] in #4870
  • build(deps): bump axios from 1.13.4 to 1.13.5 by @dependabot[bot] in #4910
  • build(deps): bump time from 0.3.44 to 0.3.47 in /tools/alloy-core-rs-example by @dependabot[bot] in #4886
  • test: add coverage for eth_getBlockByHash and eth_getBlockByNumber duplicated transaction hashes (#4869) by @BartoszSolkaBD in #4875
  • build(deps-dev): bump webpack from 5.104.0 to 5.105.0 in /dapp-example by @dependabot[bot] in #4878
  • build(deps): bump qs from 6.14.1 to 6.14.2 in /tools/hedera-crosschain-bridge by @dependabot[bot] in #4923
  • build(deps): bump qs from 6.14.1 to 6.14.2 in /tools/layer-zero-example by @dependabot[bot] in #4924
  • build(deps-dev): bump @types/uuid from 10.0.0 to 11.0.0 by @dependabot[bot] in #4718
  • build(deps-dev): bump pbkdf2 from 3.1.2 to 3.1.5 in /tools/waffle-example by @dependabot[bot] in #4940
  • build(deps): bump pbkdf2 from 3.1.2 to 3.1.5 in /tools/layer-zero-example by @dependabot[bot] in #4939
  • build(deps-dev): bump hardhat from 2.26.1 to 2.28.0 in /tools/hardhat-viem-example by @dependabot[bot] in #4743
  • build(deps-dev): bump hardhat from 2.26.1 to 2.28.0 in /tools/whbar-hardhat-example by @dependabot[bot] in #4750
  • build(deps): bump qs from 6.5.3 to 6.14.1 in /tools/solidity-coverage-example by @dependabot[bot] in #4762
  • build(deps-dev): bump hardhat from 2.26.1 to 2.28.0 in /tools/solidity-coverage-example by @dependabot[bot] in #4747
  • build(deps-dev): bump hardhat from 2.26.1 to 2.28.0 in /tools/hardhat-example by @dependabot[bot] in #4742
  • feat: add debug_getRawBlock method by @natanasow in #4909
  • feat: add debug_getRawHeader method by @natanasow in #4926
  • fix: add 'INVALID_FILE_ID' to HEDERA_SPECIFIC_REVERT_STATUSES by @Neurone in #4944
  • feat: add debug_getRawReceipts method by @BartoszSolkaBD in #4919
  • feat: fix debug_getRawBlock acceptance test by @natanasow in #4981
  • feat: add debug_getRawTransaction method by @BartoszSolkaBD in #4958
  • feat: allow mutliple paymaster accounts, and smart contracts per paymaster by @natanasow in #4998
  • fix: returning empty tracer object on transactions without executed opcodes (#4965) by @BartoszSolkaBD in #4989
  • fix: fixed cumulativeGasUsed calculations in eth_getBlockReceipts and eth_getTransactionReceipt (#4921) by @BartoszSolkaBD in #4936
  • feat: add acceptance test for non-synthetic transactions without opcode (#4965) by @jasuwienas in #5028
  • feat: normalize mirror node fail invalid handling for eth estimate gas & call (#4966) by @jasuwienas in #4979
  • feat: allow sendRawTransaction flow to continue if redis is down by @simzzz in #4959
  • feat: ensuring filter identifier is always proper uint format by @simzzz in #5049
  • feat: return complete logs for synthetic transactions in eth getblockreceiptseth gettransactionreceipt (#5043) by @jasuwienas in #5044
  • build(deps): bump immutable from 4.3.7 to 4.3.8 in /tools/hedera-crosschain-bridge by @dependabot[bot] in #5048
  • build(deps): bump minimatch and mocha in /tools/web3js-example by @dependabot[bot] in #5051
  • build(deps): bump actions/download-artifact from 7.0.0 to 8.0.0 by @dependabot[bot] in #5018
  • build(deps): bump immutable from 4.3.7 to 4.3.8 in /tools/layer-zero-example by @dependabot[bot] in #5041
  • build(deps): bump underscore from 1.13.7 to 1.13.8 in /dapp-example by @dependabot[bot] in #5030
  • build(deps): bump rollup from 2.79.2 to 2.80.0 in /dapp-example by @dependabot[bot] in #4999
  • feat: extend paymaster follow-up by @natanasow in #5032
  • build(deps): bump immutable from 4.3.4 to 4.3.8 in /tools/hardhat-example by @dependabot[bot] in #5037
  • build(deps): bump immutable from 4.3.4 to 4.3.8 in /tools/solidity-coverage-example by @dependabot[bot] in #5036
  • feat: extend the existing conformity check process (#4915) by @jasuwienas in #4963
  • chore: optimize Dockerfile using standalone multi-stage build and Node File Trace technique by @quiet-node in #5059
  • feat: add Authorization header to the MN requests by @natanasow in #5061
  • feat: introduce WORKERS_POOL_ENABLED config to optionally disable worker thread pool by @quiet-node in #5070
  • build(deps-dev): bump minimatch from 3.1.2 to 3.1.5 in /tools/whbar-hardhat-example by @dependabot[bot] in #5005
  • build(deps): bump minimatch and mocha in /tools/solidity-coverage-example by @dependabot[bot] in #5003
  • build(deps): bump minimatch in /tools/waffle-example by @dependabot[bot] in #5002
  • feat: add support for correct 16bytes 0prefixed filterid format (#5091) by @jasuwienas in #5094
  • feat: return proper fallback value when tx pool is disabled (#5071) by @jasuwienas in #5072
  • build(deps): bump immutable from 4.3.7 to 4.3.8 in /tools/whbar-hardhat-example by @dependabot[bot] in #5040
  • build(deps): bump immutable from 4.3.6 to 4.3.8 in /tools/hardhat-viem-example by @dependabot[bot] in #5039
  • feat: fix not iterable rpc params by @natanasow in #5096
  • build(deps): bump minimatch from 3.1.2 to 3.1.5 in /tools/hardhat-viem-example by @dependabot[bot] in #5000
  • build(deps): bump undici, @nomicfoundation/hardhat-toolbox and hardhat in /tools/layer-zero-example by @dependabot[bot] in #5099
  • build(deps): bump tar and lerna by @dependabot[bot] in #5068
  • build(deps): bump quinn-proto from 0.11.13 to 0.11.14 in /tools/alloy-core-rs-example by @dependabot[bot] in #5064
  • build(deps): bump the minor-and-patch-cargo-weekly group across 3 directories with 5 updates by @dependabot[bot] in #5057
  • build(deps): bump the minor-and-patch-gomod-weekly group across 2 directories with 1 update by @dependabot[bot] in #5056
  • build(deps): bump bn.js in /tools/hardhat-viem-example by @dependabot[bot] in #4982
  • build(deps-dev): bump @babel/core from 7.28.5 to 7.29.0 in /dapp-example by @dependabot[bot] in #4973
  • feat: apply openrpcschema update suggestions (#4915) by @jasuwienas in #5097
  • feat: should not filter out transactions with Hedera-specific revert reasons from block-related and debug_ methods by @natanasow in #5089
  • feat: use the latest version of buildx (#5117) by @jasuwienas in #5118
  • fix: mask MIRROR_NODE_URL_HEADER_X_API_KEY in /config endpoint by @bootcodes in #5090
  • docs: update tx pool to reflect RLP hex storage instead of tx hash by @bootcodes in #5075
  • feat: use call_operation_type instead of call_type on debug_* endpoints by @natanasow in #5098
  • feat: fix debug_trace* returns plain text for output instead of hex-encoded value by @natanasow in #5102
  • feat: reduce Piscina worker thread logs with idle timeout and log suppression (#5080) by @BartoszSolkaBD in #5119
  • feat: determine blockGasLimit based on hapi version by @bootcodes in #5095
  • feat: removed MIRROR_NODE_QUERY_LIMIT constant and replaced it's usages with MIRROR_NODE_LIMIT_PARAM env variable (#5103) by @BartoszSolkaBD in #5124
  • chore: cherry pick fix: Fix arm64 Docker build crash by using bookworm-slim for build stage by @simzzz in #5155
  • chore: cherry pick: reduce memory footprint by replacing full ethers.js import with… by @simzzz in #5156
  • chore: cherry pick: eliminate unnecessary pino worker threads to reduce memory footprint by @simzzz in #5157
  • chore: cherry pick: retry Mirror Node connection on startup with configurable backoff by @simzzz in #5174

New Contributors

Full Changelog: v0.75.0...v0.76.0

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

NewReleases is sending notifications on new releases.