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_getRawBlockmethod by @natanasow in #4909 - feat: add
debug_getRawHeadermethod by @natanasow in #4926 - fix: add 'INVALID_FILE_ID' to HEDERA_SPECIFIC_REVERT_STATUSES by @Neurone in #4944
- feat: add
debug_getRawReceiptsmethod by @BartoszSolkaBD in #4919 - feat: fix
debug_getRawBlockacceptance 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
Authorizationheader 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_typeinstead ofcall_typeondebug_*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
- @bootcodes made their first contribution in #5090
Full Changelog: v0.75.0...v0.76.0