Releases: hashgraph/hedera-json-rpc-relay
v0.57.2
Enhancements
- feat: change units of the value in eth gettransactionbyhash #3080
Contributors
Thank you to all the contributors who worked on this release:
v0.57.1
Enhancements
- feat: enabled configurable server host for the Relay server #3073
Contributors
Thank you to all the contributors who worked on this release:
v0.57.0
Release v0.57.0
has security fixes to CI, enhancements to the test framework to control the amount of HBar needed to run a test suite, and a subscription fix to the web socket server. It also includes on-going work around the HBar rate limiter.
Enhancements
- chore: Move unneeded dependencies to
devDependencies
#3036 - Move unneeded dependencies to
devDependencies
#3035 - feat: bump hedera local node version to 2.31.0 and fix
eth_estimateGas
with hollow account creation test #3034 - Bump hedera local node version to 2.31.0 #3033
- build(deps): [Snyk] Upgrade
@graphprotocol
/graph-cli from 0.80.1 to 0.81.0 #3015 - feat: Added configuration option for allocating HBar for a test run. #3013
- Configure the test balance to be variable when running the acceptance test suite. #3007
- chore: Disable spending history of HbarSpendingPlans #2997
- [HBAR Rate Limit Redesign] Disable spending history #2994
- ci: Updating the workflows/actions to use the step-security version. #2924
- ci: Update nickfields/retry to step-security maintained version #2906
Bug Fixes
- failing websocket tests in manual-testing.yml #3028
- fix: failing websocket tests in manual-testing.yml #3027
- fix: hardcoded chainId in acceptance tests #3010
- WS Relay Unsubscribing all subscriptions periodically #3003
Dependency Upgrades
- build(deps): bump axios from 1.7.2 to 1.7.7 in /tools/hardhat-viem-example #3004
Contributors
Thank you to all the contributors who worked on this release:
@arianejasuwienas, @dependabot[bot], @ebadiere, @natanasow, @rbarkerSL, @san-est, @swirlds-automation, and @victor-yanev
v0.56.0
Overview
The latest release of the Hedera JSON-RPC Relay delivers significant improvements in performance, testing, and rate-limiting mechanisms.
A key highlight is the ongoing redesign of the HBAR Rate Limit mechanism, featuring enhancements to the preemptive rate-limiting logic for file transactions. Updated documentation includes a high-level flow diagram and detailed explanations of the redesigned HBAR rate-limiter, providing valuable insights into the improved rate-limiting logic for HFS transactions. These updates play a critical role in optimizing resource management and maintaining network stability under heavy loads.
This release also introduces k6 performance tests for the WebSocket server, strengthening the testing framework to better identify and resolve performance bottlenecks. Additionally, RedisCache has been streamlined, simplifying its integration with RedisInMemoryServer for testing.
Key bug fixes, including the removal of the nonce precheck buffer and an adjustment of the block gas limit to 30,000,000, further enhance system stability and compliance. The release also incorporates vital security and performance enhancements through various dependency upgrades.
What's Changed
Enhancements
- feat: create third batch of conformity tests by @natanasow in #2912
- feat: Add
keys()
method toCacheService
by @victor-yanev in #2931 - feat: Add workaround for support of isAssociated by @Ivo-Yankov in #2828
- feat: Add new metrics for spending plans by @victor-yanev in #2932
- feat: Аdd k6 performance tests for WS server by @victor-yanev in #2803
- feat: implement preemptive rate limitting logic to HbarLimitService class by @quiet-node in #2950
- fix: improve
RedisCache
and simplify usage ofRedisInMemoryServer
in tests by @victor-yanev in #2952 - feat: improved eth call force to consensus by selector logic by @quiet-node in #2983
- feat: add ipAddressHbarSpendingPlan by @Ivo-Yankov in #2913
- feat: Implement
resetLimit
by @victor-yanev in #2966 - feat: enabled retrieval of network
gasPrice
insendRawTransaction
using MAPI instead of HAPI. by @quiet-node in #2981 - test: example web3py usage by @arianejasuwienas in #2998
- feat: improved preemtive rate limit for file transactions by @quiet-node in #2922
- feat: results of rust ethereum clients research by @arianejasuwienas in #2999
- feat: Defined a barebones mainnet-light test suite. by @ebadiere in #2971
- fix: included
call.from
to thecacheKey
in callConsensusNode() by @quiet-node in #2993
Bug Fixes
- fix: removed nonce precheck buffer by @quiet-node in #2919
- feat: block gas limit should be 30_000_000 by @natanasow in #2938
- fix: Bumped up exchanged value by @ebadiere in #2972
Documentation
- docs: added Preemptive Rate Limitting for HFS Transactions to hbar-limiter desgin doc by @quiet-node in #2949
- docs: Add high-level flow diagram of the redesigned hbar limiter by @victor-yanev in #2969
Dependency Upgrades
- fix: [Snyk] Upgrade @mui/material from 5.16.6 to 5.16.7 by @swirlds-automation in #2918
- build(deps): [Snyk] Upgrade keyv-file from 0.3.1 to 0.3.2 by @swirlds-automation in #2930
- build: (deps) [Snyk] Upgrade @emotion/react from 11.13.0 to 11.13.3 by @swirlds-automation in #2964
- build: deps [Snyk] Upgrade @graphprotocol/graph-cli from 0.80.0 to 0.80.1 by @swirlds-automation in #2965
- build(deps): bump path-to-regexp and express in /tools/truffle-example by @dependabot in #2974
- build(deps): bump serve-static and express in /dapp-example by @dependabot in #2975
- build(deps): [Snyk] Security upgrade koa-router from 12.0.1 to 13.0.1 by @swirlds-automation in #2986
- build: (deps)[Snyk] Security upgrade koa-router from 12.0.1 to 13.0.1 by @swirlds-automation in #2985
- build(deps): bump send and express in /tools/truffle-example by @dependabot in #2961
- build: (deps). [Snyk] Upgrade: , , keyv-file by @swirlds-automation in #2967
- build(deps): bump path-to-regexp and express in /dapp-example by @dependabot in #2959
- build(deps): bump serve-static and express in /tools/truffle-example by @dependabot in #2960
- build: (deps) [Snyk] Upgrade ethereumjs/trie & @ethereumjs/util by @swirlds-automation in #2980
- build: (deps) [Snyk] Upgrade web3 from 4.11.1 to 4.12.1 by @swirlds-automation in #2996
Internal Changes
- ci: Revert breaking change to publish-unit-test-result-action by @rbarkerSL in #2942
Full Changelog: v0.55.0...v0.56.0
v0.56.0-rc1
v0.56.0-rc1
v0.55.0
Release v0.55.0
includes on-going work around improvements in the HBar Rate Limiter, including the design. Support for calculated transaction record query cost instead of queried operator balance, and calculating actual receipt roots, is also part of the release
Bug fixes include a discrepancy between "Latest" and "Finalized" in block queries, nonce prechecks, and duplicate synthetic transactions returned in the eth_getBlockByNumber
call.
Enhancements
- feat: create third batch of conformity tests #2912
- feat: Implement
HbarLimitService#addExpense
#2902 - [HBAR Rate Limit Redesign] Implement addExpense #2901
- feat: create second batch of additional conformity tests #2889
- feat: Implement
shouldLimit
method ofHbarLimitService
#2887 - feat: Add entities and repositories for the redesigned hbar limiter #2883
- Waffle working Fixtures example #2882
- fix: Bump timeout up due to many test runs timing out in the current CI #2877
- feat: Add repositories for the redesigned hbar limiter #2870
- [HBAR Rate Limit Redesign] Create DB entity repository #2869
- [HBAR Rate Limit Redesign] Create DB entity classes #2866
- [HBAR Rate Limit Redesign] Implement shouldLimit #2865
- feat: Adds design doc for hbar limiter service #2864
- [HBAR Rate Limit Redesign] Create design document #2863
- feat: redis cache should fallback to internal in case of error #2861
- fix: calculated transaction record query cost instead of querying operator balance #2848
- Flaky HBarLimiter class due to time out issue #2846
- feat: remove unnecessary empty
Trie
initialization #2840 - Remove unnecessary empty
Trie
initialization #2839 - fix:
eth_estimateGas
opts to fallback estimation for contract revert #2834 - fix: captured and added FileInfo query costs to metrics and hbar ratelimit class #2822
- fix: added logging to HBARLimit class #2818
- fix: stabilized sdkClient test by bumping total timeout to 30000ms #2817
- stable SDKClient unit tests #2816
- feat: calculate actual
receiptsRoot
when possible #2798 - refactor: Validation logic in the
server
package #2791 - Refactor validation logic in the server package #2790
- chore: return empty trie root where applicable #2787
- Capture and add FileInfo query costs to metrics and hbar rate limiter class #2738
- The logging in the HbarLimit class does not reference the requestId. #2736
- Create second batch of additional conformity test #2726
- fix: fixtures usage example #2704
- Calculate actual receiptsRoot when possible #2667
- Insert actual emptyRoot where not applicable #2665
- fix: Improve compatibility with standard ethereum tooling #2649
- ci: Update actions/download-artifact and actions/upload-artifact to v4 #2615
- Update upload-artifact/download-artifact versions for test reports #2596
- Sort out any remaining issues with the chainlink integration #2588
- Research: Improve compatility with standard Ethereum tooling #2108
Bug Fixes
- fix: removed nonce precheck buffer (#2919) #2936
- Websocket subscription creates the same subscription ID for new connection from the same client #2926
- fix: removed nonce precheck buffer #2919
- Discrepancy Between "Latest" and "Finalized" Block Queries in JSON RPC Relay #2916
- fix:
debug_traceTransaction
throws 500 for non-existing transaction hashes #2915 debug_traceTransaction
throws internal server error 500 for non-exising tx hashes #2897- WRONG_NONCE precheck doesn't seem to kick in #2876
- fix: The relay relies on fallback gas estimations instead of properly sending requests to mirror node #2860
- fix: duplicated transactions in transactions array on eth_getBlockByNumber #2854
- Duplicated transactions in
transactions
array oneth_getBlockByNumber
#2853 - The relay relies on fallback gas estimations instead of properly sending requests to mirror node #2852
- fix: Bug due to validations of
eth_call
#2843 - fix: error thrown when setting value in redis cache #2841
- Error thrown from Redis when setting value with TTL #2838
- Calling eth_estimateGas opts to fallback estimation when a contract revert is executed #2830
- Bug due to validations of eth_call #2827
- go-ethereum: incorrect number of transactions returned #2812
- Headers Timeout Error when deploying large contracts #2808
- Redis cache should fallback to internal on set and get operations #2788
- fix: debug_traceTransaction is not working with popular tools #2778
- debug_traceTransaction is not working with popular tools #2777
Documentation
- [HBAR Rate Limit Redesign] Extend docs with class diagram for DB schema #2894
- docs: Add class diagram for the database schema of the hbar limiter redesign #2884
Dependency Upgrades
- build(deps): bump micromatch from 4.0.7 to 4.0.8 in /dapp-example #2909
- build(deps-dev): bump webpack from 5.92.1 to 5.94.0 in /dapp-example #2908
- build(deps): [Snyk] Upgrade
@emotion
/react from 11.11.4 to 11.13.0 #2900 - buiild(deps): [Snyk] Upgrade
@hashgraph
/hedera-local from 2.28.1 to 2.29.0 #2893 - build(deps): bump micromatch from 4.0.7 to 4.0.8 in /tools/hardhat-viem-example #2892
- build(deps): [Snyk] Upgrade
@emotion
/styled from 11.11.5 to 11.13.0 #2886 - build(deps): [Snyk] Upgrade
@mui
/material from 5.15.21 to 5.16.6 #2885 - build(deps): [Snyk] Upgrade
@graphprotocol
/graph-cli from 0.79.2 to 0.80.0 #2880 - [Snyk] Security upgrade
@hashgraph
/sdk from 2...
v0.54.4
Overview
The latest release of the Hedera JSON-RPC Relay, v0.54.4, includes a security upgrade of the @hashgraph/sdk
from version 2.50.0-beta.3 to 2.50.0.
What's Changed
Enhancements
- chore: bump sdk version to 2.50.0-beta.3 by @Ivo-Yankov in #2842
Dependencies
- [Snyk] Security upgrade @hashgraph/sdk from 2.50.0-beta.3 to 2.50.0 by @swirlds-automation in #2871
Full Changelog: v0.54.3...v0.54.4
v0.54.3
Overview
The latest release of the Hedera JSON-RPC Relay, v0.54.3, addresses a critical issue in the Hedera JSON-RPC Relay, specifically fixing the duplication of transactions in the transactions
array on the eth_getBlockByNumber
endpoint. This enhancement ensures more accurate and reliable data retrieval, eliminating redundancy and improving the overall integrity of the blockchain data provided by the relay.
What's Changed
Enhancements
- fix: duplicated transactions in transactions array on eth_getBlockByNumber by @natanasow in #2854
Full Changelog: v0.54.2...v0.54.3
v0.54.2
Overview
The latest release of the Hedera JSON-RPC Relay, v0.54.2, includes a hotfix that enhances the EthImpl
class to improve error handling for gas estimation. With this update, the Relay can now return the predefined CONTRACT_REVERT
JSON-RPC error along with the revert reason in cases of contract reversion. Additionally, it now covers more edge cases when decoding error messages.
What's Changed
Enhancements
- fix: eth_estimateGas opts to fallback estimation for contract revert by @victor-yanev in #2834
Full Changelog: v0.54.1...v0.54.2
v0.54.1
Overview
The latest release of the Hedera JSON-RPC Relay, v0.54.1, introduces a feature that verifies whether a caller is whitelisted against the HBAR rate limiter. This enhancement allows the Relay to permit a list of special, whitelisted projects and accounts to bypass HBAR rate limits.
What's Changed
Enhancements
- feat: added a solution to verify if a caller is whitelisted against the HBAR rate limiter by @quiet-node in #2832
Full Changelog: v0.54.0...v0.54.1