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

6 hours ago

Overview

This release delivers two headline features advancing Hiero JSON RPC Relay's Ethereum compatibility and operational flexibility. PECTRA support arrives with the addition of the authorization list when returning transaction data (#4907), aligning the relay with the latest Ethereum protocol evolution. Alongside this, the paymaster system has been significantly expanded to support multiple paymaster accounts and smart contracts per paymaster (#5016), giving operators far greater control over gas sponsorship configurations.

Several key improvements round out the release across performance, correctness, and developer experience. Worker threads have been introduced (#4702) to improve concurrency handling, and block retrieval has been optimized with parallel timestamp slicing to reduce Mirror Node API overhead (#4828). Synthetic transaction support has been extended to eth_getTransactionByBlockHashAndIndex and eth_getTransactionByBlockNumberAndIndex (#4873), and synthetic transactions now correctly use type 0x0 (#4714). Error visibility has been improved by stopping the silent swallowing of errors (#4758), and the project has standardized on npm by removing the pnpm dependency (#4888).

This release also includes a broad sweep of dependency upgrades — including the Hedera SDK bump to 2.80.0, ethers, pnpm, and various GitHub Actions, alongside a number of bug fixes addressing areas such as debug trace API validation filtering, SDK consensus error surfacing for eth_sendRawTransaction, Mirror Node load reduction for WRONG_NONCE handling, and tinybar-to-weibar conversion in debug APIs. Documentation has been refreshed with a new quickstart guide and updated Node.js version requirements.

What's Changed

  • build(deps): bump @hashgraph/sdk from 2.75.0 to 2.78.0 in /tools/whbar-hardhat-example by @dependabot[bot] in #4669
  • chore(release): Bump versions for v0.75.0-SNAPSHOT by @swirlds-automation in #4724
  • test: ensure trace works without non-synth data (#4752) by @jasuwienas in #4757
  • feat: use type 0x0 for synthetic transactions (#4711) by @jasuwienas in #4714
  • fix: stop sending gas price to mn when not submitted (#4755) by @jasuwienas in #4756
  • feat: implement heartbeat-based crash resilience for RedisLockStrategy by @quiet-node in #4726
  • feat: stop silently swallowing errors (#4697) by @jasuwienas in #4758
  • feat: removes leading zeros from topics when passing them to MN + fail-fast for over 100 nested topcis by @simzzz in #4728
  • fix: move ethereum conformity methods into service (#4716) by @jasuwienas in #4727
  • feat: move cache measurements to decorator by @jasuwienas in #4688
  • chore(tests): remove @Release tag from Read-Only mode test by @quiet-node in #4783
  • fix(tests): exclude gasUsed from debug_traceTransaction validation in acceptance test by @quiet-node in #4784
  • fix: convert trace value from tinybars to weibars in debug APIs by @kpachhai in #4764
  • build(deps): bump actions/download-artifact from 6.0.0 to 7.0.0 by @dependabot[bot] in #4734
  • build(deps): bump ethers from 6.15.0 to 6.16.0 in /dapp-example by @dependabot[bot] in #4740
  • build(deps): bump actions/upload-artifact from 5.0.0 to 6.0.0 by @dependabot[bot] in #4737
  • build(deps): bump actions/checkout from 5.0.0 to 6.0.1 by @dependabot[bot] in #4735
  • build(deps): bump ethers from 6.15.0 to 6.16.0 in /k6 by @dependabot[bot] in #4741
  • build(deps): bump pnpm from 10.26.0 to 10.27.0 by @dependabot[bot] in #4782
  • build(deps): bump qs from 6.13.1 to 6.14.1 in /tools/layer-zero-example by @dependabot[bot] in #4765
  • feat: update list of hedera based errors (#4785) by @jasuwienas in #4796
  • test: remove unused cacheservice methods (#4676) by @jasuwienas in #4786
  • feat: propagate all errors from mn to the user (#4677) by @jasuwienas in #4781
  • feat: add worker threads by @natanasow in #4702
  • feat: add k6 tests for block with many HTS transfers by @natanasow in #4770
  • feat: optimize debug_traceBlockByNumber to eliminate redundant Mirror Node API calls by @natanasow in #4803
  • build(deps-dev): bump hardhat from 2.26.1 to 2.28.0 in /tools/hedera-crosschain-bridge by @dependabot[bot] in #4746
  • build(deps): bump github.com/ethereum/go-ethereum from 1.16.7 to 1.16.8 in /tools/golang-json-rpc-tests by @dependabot[bot] in #4800
  • build(deps): bump qs from 6.14.0 to 6.14.1 in /tools/hedera-crosschain-bridge by @dependabot[bot] in #4766
  • build(deps): bump peter-evans/create-pull-request from 7.0.8 to 8.0.0 by @dependabot[bot] in #4736
  • build(deps): bump github.com/ethereum/go-ethereum from 1.16.7 to 1.16.8 in /tools/golang-example by @dependabot[bot] in #4801
  • build(deps): bump qs from 6.14.0 to 6.14.1 in /tools/layer-zero-example/test/fuzzy-testing by @dependabot[bot] in #4767
  • build(deps-dev): bump @layerzerolabs/oapp-evm from 0.3.2 to 0.4.1 in /tools/hedera-crosschain-bridge by @dependabot[bot] in #4745
  • feat: add worker threads related metrics by @natanasow in #4809
  • feat(relay): optimize SDK timeout configuration and retry logic by @quiet-node in #4808
  • refactor: replace Lodash with native Set/Map in populateSyntheticTransactions by @quiet-node in #4819
  • fix: improve unit tests by preventing test pollution by @konstantinabl in #4708
  • chore: updates SDK version to 2.80.0 by @simzzz in #4831
  • build(deps): bump lodash from 4.17.21 to 4.17.23 by @dependabot[bot] in #4823
  • build(deps): bump lodash from 4.17.21 to 4.17.23 in /tools/layer-zero-example by @dependabot[bot] in #4822
  • feat: optimize block retrieval with parallel timestamp slicing for mirror node api calls by @quiet-node in #4828
  • build(deps): bump pnpm from 10.27.0 to 10.28.2 by @dependabot[bot] in #4832
  • feat: fix outdated version of the SDK by @natanasow in #4855
  • fix: ensure SDK consensus errors are properly surfaced to clients for eth_sendRawTransaction by @quiet-node in #4856
  • docs: add quickstart to enable devs to spin up json rpc relay by @jaycoolslm in #4640
  • fix: reduced Mirror Node load for WRONG_NONCE handling by @quiet-node in #4872
  • fix: add synthetic transaction support for eth_getTransactionByBlockHashAnd Index and eth_getTransactionByBlockNumberAndIndex by @quiet-node in #4873
  • test: reduce flakiness in ethGetBlockBy perf test by @BartoszSolkaBD in #4881
  • feat: creates metrics service for lock service by @konstantinabl in #4847
  • chore: update link to maintainer guidelines by @jwagantall in #4836
  • feat: split tx validation process in two steps by @jasuwienas in #4874
  • docs: update Node.js version requirement from v20 to v22 in README (#4868) by @BartoszSolkaBD in #4887
  • feat: reduce unnecessary redis calls by @simzzz in #4883
  • feat: add test coverage for eth_call revertion details by @natanasow in #4884
  • build: remove pnpm dependency and standardize on npm (#4868) by @BartoszSolkaBD in #4888
  • fix: filter all pre-execution validation failures in debug trace APIs by @mgarbs in #4849
  • feat: add support for authrozation list when returning tx data (#4863) [PECTRA] by @jasuwienas in #4907
  • feat: added support for debug_getBadBlocks (#4889) by @BartoszSolkaBD in #4894
  • feat: allow mutliple paymaster accounts, and smart contracts per paymaster (#4998) by @quiet-node in #5016

New Contributors

Full Changelog: v0.74.1...v0.75.0

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

NewReleases is sending notifications on new releases.