Overview
The Hedera JSON RPC Relay v0.60.0 release introduces critical updates aimed at improving transaction handling and robustness.
Notable enhancements include the removal of transactions with status INVALID_ACCOUNT_ID
from block-specific routes, ensuring cleaner and more accurate transaction data. Additionally, sendRawTransaction
has been updated to include retries and polls for transaction validity in cases of timeouts or connection errors, enhancing reliability in processing. These improvements strengthen the platform's ability to handle edge cases and provide a smoother developer experience.
This release also incorporates numerous bug fixes, dependency upgrades, and internal changes. Key fixes address issues such as incorrect WebSocket metrics and cache key errors in eth_getBlockByHash
, ensuring greater stability. Dependency upgrades, including updates to @hashgraph/sdk
and web3
, bring improved performance and compatibility. Internally, updates such as dividing Hbar Limiter tests into batches, adding ESLint rules, and stabilizing rate limiter tests reflect the team’s commitment to maintaining a cleaner and more manageable codebase. These changes collectively contribute to a more robust and developer-friendly platform.
What's Changed
Enhancements
- feat: Added ability to load spending plans from environment variable. by @ebadiere in #3153
- docs: Add
testing-guide.md
to document testing best practices by @victor-yanev in #3164 - fix: Adds retry to send raw transaction by @konstantinabl in #3161
- feat: remove transactions with status
INVALID_ACCOUNT_ID
from block-specific routes by @natanasow in #3177 - test: added e2e tests for multiple users across various tiers by @quiet-node in #3190
- fix: modified sendRawTransaction to also poll MN for transaction's validity for Timeout and ConnectionDropped error by @quiet-node in #3229
- chore: add active users counter per rate limiter duration by @nadezhdapopovaa in #3150
Bug Fixes
- fix: Wrong metrics in the report of the WS performance tests by @victor-yanev in #3193
- fix: Capture the npm_package_version by @ebadiere in #3198
- feat: fix wrong cache key on
eth_getBlockByHash
by @natanasow in #3232
Dependency Upgrades
- build(deps): [Snyk] Upgrade @graphprotocol/graph-cli from 0.85.0 to 0.86.0 by @swirlds-automation in #3206
- build(deps): [Snyk] Upgrade ethers from 6.13.3 to 6.13.4 by @swirlds-automation in #3205
- build(deps): [Snyk] Upgrade ethers from 6.13.3 to 6.13.4 by @swirlds-automation in #3213
- build(deps): [Snyk] Upgrade @hashgraph/sdk from 2.51.0 to 2.52.0 by @swirlds-automation in #3230
- build(dep): [Snyk] Upgrade web3 from 4.13.0 to 4.14.0 by @swirlds-automation in #3248
Internal Changes
- ci(bug): Update permissions in JSON rpc relay for GITHUB_TOKEN by @rbarkerSL in #3183
- chore: divided hbar limtier tests into different batches by @quiet-node in #3181
- chore: Adds eslint rules in eslintrc by @konstantinabl in #3173
- fix: skipped title check CI job for forked PRs by @quiet-node in #3196
- fix: stabilized HBAR Rate Limit acceptance tests by @quiet-node in #3189
- fix: added null check for nullable values in formatContractResult() by @quiet-node in #3210
- ci: Update per Q3 audit findings by @mishomihov00 in #3194
- chore: reverted "fix: added null check for nullable values in formatContractResult() (#3210)" by @quiet-node in #3216
- fix: Added the root package.json file to the by @ebadiere in #3221
- ci: Fix check for forked repository on PR by @mishomihov00 in #3222
- fix WS_NEW_HEADS_ENABLED default by @treethought in #3226
- fix: Added the TEST_INITIAL_ACCOUNT_STARTING_BALANCE to the GlobalCon… by @ebadiere in #3238
- fix: Strip leading zeros in signature v and s values coming from the mirror node, in tests. by @ebadiere in #3241
- chore: Upgrade node version to 20. by @ebadiere in #3245
- refactor: add log level guards to prevent unnecessary string generation by @belloibrahv in #3154
- fix: updated .github/release.yaml to include
internal
andgithub_action
labeled PRs by @Ritesh-Udgata in #3175 - feat: added redis in docker-compose by @sahil9001 in #3107
- fix: masks ip address in request details passed as argument to MN client by @konstantinabl in #3268
New Contributors
- @mishomihov00 made their first contribution in #3194
- @treethought made their first contribution in #3226
- @belloibrahv made their first contribution in #3154
- @Ritesh-Udgata made their first contribution in #3175
- @sahil9001 made their first contribution in #3107
Full Changelog: v0.59.20-node-alpha...v0.60.0