Releases: hashgraph/hedera-json-rpc-relay
v0.64.0-rc1
v0.64.0-rc1
v0.63.2
Overview
The Hedera JSON-RPC Relay v0.63.2 release enhances reliability for eth_getContractResult and eth_getContractResultsLogs by introducing a polling mechanism to ensure the retrieval of fully mature records from the Mirror Node (MN). This update includes stricter error handling to detect and manage immature records, preventing errors such as “Cannot read properties of null (reading ‘xyz’)” caused by improper null checks. These improvements ensure more stable and consistent RPC responses, reinforcing the robustness of the Relay’s data handling.
Bug Fixes
- fix: added polling logic to ensure the retrieval of fully mature records from MN by @quiet-node in #3368
Full Changelog: v0.63.0...v0.63.1
v0.63.1
Overview
The Hedera JSON-RPC Relay v0.63.1 release improves reliability for eth_getBlockByNumber, eth_getBlockByHash, and eth_getTransactionReceipt by adding robust null checks, enhanced error handling, and fallback mechanisms. It also introduces a retry mechanism to handle incomplete data from the Mirror Node, ensuring stability and consistency in RPC responses.
Bug Fixes
- fix: enhanced reliability of eth RPC methods with null checks and retry mechanisms by @quiet-node in #3349
Full Changelog: v0.63.0...v0.63.1
v0.63.0
Overview
The Hedera JSON-RPC Relay v0.63.0 release introduces two important enhancements to improve the platform's functionality and flexibility. The new OPERATOR tier has been added, expanding the HBAR Limiter’s capabilities to include tailored plans for operators. This feature enables better alignment with operational needs and provides enhanced control for managing transaction limits. Additionally, a precheck for receiver accounts has been incorporated into sendRawTransactionCheck
, ensuring that transactions are validated more effectively before execution, enhancing reliability and security.
This release also includes several dependency upgrades, such as updates to golang.org/x/crypto
, @emotion/react
, and @emotion/styled
, ensuring the platform remains compatible with the latest tools and libraries. These updates, along with internal documentation enhancements like the updated hbar-limiter.md
for the new OPERATOR tier, demonstrate ongoing efforts to provide a robust and developer-friendly platform.
What's Changed
Enhancements
- chore: add precheck for receivers account in sendRawTransactionCheck by @nadezhdapopovaa in #3310
- feat: Add
OPERATOR
tier by @victor-yanev in #3316
Documentation
- docs: update
hbar-limiter.md
with information aboutOPERATOR
plans by @victor-yanev in #3338
Dependency Upgrades
- build(deps): bump golang.org/x/crypto from 0.22.0 to 0.31.0 in /tools/golang-example by @dependabot in #3328
- build(deps): bump path-to-regexp and express in /dapp-example by @dependabot in #3321
- build(dep): [Snyk] Upgrade @emotion/styled from 11.13.0 to 11.13.5 by @swirlds-automation in #3330
- build(deps): bump nanoid from 3.3.7 to 3.3.8 in /dapp-example by @dependabot in #3333
- build(deps): bump pnpm from 8.15.9 to 9.15.0 by @dependabot in #3332
- build(dep): [Snyk] Upgrade @emotion/react from 11.13.3 to 11.13.5 by @swirlds-automation in #3334
Full Changelog: v0.62.0...v0.63.0
v0.63.0-rc1
v0.63.0-rc1
v0.62.0
Overview
The Hedera JSON-RPC Relay v0.62.0 release introduces a significant enhancement with the ability to return HTS token addresses for newly created HTS tokens in transaction receipts. This update ensures that HTS token creation transactions return the correct token address by detecting HTS token creation calls to the system contract, extracting and decoding the token's EVM address from the call result, and including it in the receipt under the contractAddress
field, replacing the previous value which was always the HTS system contract address (0x167). This improvement enhances compatibility with Ethereum-based tooling, simplifying workflows for developers and ensuring seamless integration of token creation processes.
Another key update in this release allows transactions with a value of 0
to pass through the system. By removing this restriction, the platform now supports broader use cases, including specific smart contract operations and test scenarios where zero-value transactions are essential. This change also ensures consistency with Ethereum, aligning the platform with industry standards.
This release also includes critical bug fixes, such as improved cache handling for getFilterLogs
calls, ensuring consistent and accurate filtering. Dependency upgrades, including updates to web3
and @hashgraph/sdk
, enhance compatibility and performance. Internal changes, such as extended format checking via openrpcjson
and workflow updates, demonstrate ongoing efforts to maintain a robust and reliable codebase. These updates continue to refine the platform, providing developers with a more powerful and seamless integration experience.
What's Changed
Enhancements
- feat: move current node account id logging logic into sdk client by @natanasow in #3297
- fix: let 0 value transactions pass by @simzzz in #3304
- feat: return hts token address for new fungible token by @konstantinabl in #3305
Bug Fixes
- fix: added cache refreshing after subsequent getFilterLogs calls for the same filter by @simzzz in #3308
Dependency Upgrades
- build(dep): [Snyk] Upgrade web3 from 4.14.0 to 4.15.0 by @swirlds-automation in #3303
- build(dep): [Snyk] Upgrade @graphprotocol/graph-cli from 0.87.0 to 0.88.0 by @swirlds-automation in #3302
- build(deps): bump path-to-regexp and express in /tools/truffle-example by @dependabot in #3312
- build(dep): [Snyk] Upgrade @hashgraph/sdk from 2.52.0 to 2.53.0 by @swirlds-automation in #3313
- build(deps): [Snyk] Upgrade @graphprotocol/graph-cli from 0.88.0 to 0.89.0 by @swirlds-automation in #3315
Internal Changes
- chore: extend the format checking via openrpcjson by @nadezhdapopovaa in #3285
- ci: Pass CODECOV_TOKEN to acceptance workflow by @mishomihov00 in #3299
- fix: Add websocket-batch-n to needs clause in manual-testing by @rbarkerSL in #3307
- chore: Adds check for license header by @konstantinabl in #3203
- fix: improves getContractAddressFromReceipt by @konstantinabl in #3323
Full Changelog: v0.61.0...v0.62.0
v0.62.0-rc1
v0.62.0-rc1
v0.61.0
Overview
The Hedera JSON RPC Relay v0.61.0 introduces a significant enhancement with the fast transaction hash return mechanism for the eth_sendRawTransaction
endpoint. This feature enables the API to return the transaction hash immediately after passing prechecks, with all subsequent processes—such as broadcasting to the network, handling file transactions, polling the mirror node, and tracking HBAR consumption—executed asynchronously in the background. This innovation improves transaction processing speed, providing users with a transaction hash without waiting for the full transaction lifecycle, thereby enhancing both efficiency and user experience. Additionally, this update aligns with Hedera’s ongoing EVM equivalence efforts, ensuring smoother interoperability and compatibility with Ethereum-based tools and workflows.
Important Note on the Fast-Return Mechanism: With the transaction hash returned immediately, clients are responsible for monitoring the transaction status using the hash (e.g., via eth_getTransactionReceipt
or confirmation tracking). Internal errors, such as exceeding maxChunkSize, HBAR limits, SDK-related, or any other issues, are no longer reflected in the response. This may result in eth_getTransactionReceipt
returning null indefinitely, requiring clients to handle these scenarios appropriately.
In addition, this release includes the option to disable the HBar Rate Limiter, providing greater flexibility for specific use cases. A new design document has also been created to enable access to HTS token EVM addresses, laying the groundwork for further integrations and capabilities within the ecosystem.
Beyond these highlights, the release addresses important bug fixes, including resolving invalid cache records in eth_getBlockByHash
. Dependency upgrades, such as updates to @graphprotocol/graph-cli
and hedera-local
, improve platform compatibility and performance. Internal changes, such as enhanced pre-commit linting and workflow permissions updates, contribute to a more stable and maintainable codebase. These updates reflect the ongoing commitment to improving the Hedera JSON RPC Relay for developers and end-users alike.
What's Changed
Enhancements
- fix: Allow the HBar Rate Limiter to be disabled. by @ebadiere in #3252
- feat: Creates design doc for enabling access to hts token evm address by @konstantinabl in #3258
- docs: added design docs for eth_sendRawTransaction fast transaction hash return by @quiet-node in #3282
- feat: expose node account id in relay logging of failed transactions by @natanasow in #3292
- feat: enabled fast return on eth_sendRawTransaction by @quiet-node in #3273
Bug Fixes
- fix:
eth_getBlockByHash
is using invalid cache record by @natanasow in #3254
Dependency Upgrades
- build(deps): [Snyk] Upgrade @graphprotocol/graph-cli from 0.86.0 to 0.87.0 by @swirlds-automation in #3260
- build(dep): bump hedera-local-node to the latest version by @natanasow in #3244
- build(deps): bump cross-spawn from 7.0.3 to 7.0.6 by @dependabot in #3279
- build(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /k6 by @dependabot in #3280
- build(deps): bump
hedera-local
version from 2.32.2 to 2.32.5 by @natanasow in #3276 - build(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /dapp-example by @dependabot in #3289
- build(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /tools/hardhat-viem-example by @dependabot in #3294
Internal Changes
- chore: Reduce initial account funding by @beeradb in #3256
- feat: add eslint to be run pre commit by @konstantinabl in #3261
- fix: Added gas deviation to the release-light tests. by @ebadiere in #3264
- fix: masks ip address in request details passed as argument to MN client by @konstantinabl in #3268
- chore: update workflow permissions for github token by @PavelSBorisov in #3284
- chore: replaced eth-address with evm-address in code by @simzzz in #3293
- ci: replace release notes generator action with one maintained by stepsecurity by @PavelSBorisov in #3291
New Contributors
- @PavelSBorisov made their first contribution in #3284
- @simzzz made their first contribution in #3293
Full Changelog: v0.60.0...v0.61.0
v0.61.0-rc1
v0.61.0-rc1
v0.60.0
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