Skip to content

Releases: hashgraph/hedera-json-rpc-relay

v0.59.0

04 Nov 17:20
v0.59.0
90bf36a
Compare
Choose a tag to compare

We're pleased to announce the release of version 0.59.0 of the Hedera JSON RPC Relay, packed with powerful features designed to streamline your development process and enhance your application's performance.

Introducing the New ConfigService
Unified Configuration Management: The new ConfigService consolidates all configuration settings into a single, manageable service, making it easier than ever to configure your application.

Automatic Validation: The ConfigService automatically validates all defined environment variables at startup, ensuring that your application runs with the correct settings every time.

Sensitive Data Protection: The service intelligently masks sensitive values, preventing accidental exposure of confidential information in logs or error messages.

Enhanced HBAR Rate Limiter Spending Plans
Flexible Configuration Options: You now have the freedom to load HBAR Rate Limiter spending plans from either a dedicated config file or directly via the HBAR_SPENDING_PLAN_CONFIG environment variable. This flexibility allows you to choose the method that best fits your development and deployment workflows.

Simplified Rate Limiting: Managing spending plans has never been easier. The updated system simplifies rate limiting configuration, helping you prevent unexpected costs and maintain optimal application performance.

Improved Testing and Conformity
Robust Feature Testing: We've added comprehensive tests around the new ConfigService and HBAR Rate Limiter features. This ensures reliability and stability, giving you confidence that these systems will perform as expected in production.

Enhanced Conformity Checks: Additional conformity tests have been implemented to maintain consistency across different environments, helping you avoid integration issues and focus on building great features.

Enhancements

  • feat: Added ability to load spending plans from environment variable.… #3201
  • Add the ability for spending plans to be defined using environment variables. #3152
  • feat: add env masking for values starting with known secrets prefixes #3148
  • test: added e2e test for EXTENDED and PRIVILEGED tier users #3147
  • feat: Updated dashboards due to on going HBar Rate Limiter work. #3146
  • The HBar Rate Limiter panel in the dashboard needs to be updated to track the eth_sendRawTransaction counter #3145
  • Add env masking for values starting with known secrets prefixes #3143
  • fix: Protect preconfigured spending plans from being deleted automatically in LRUCache #3140
  • feat: add additional tests for unexpected fail appends failures during contract creation via eth_sendRawTransaction #3139
  • feat: Added spending plans for testing on testnet. #3136
  • feat: State the default log level in the documentation. #3133
  • chore: update codeowners #3128
  • feat: Adding the testnet spending plan and script to create alias acc… #3116
  • feat: Added NodeId to the logging just before the transaction is exec… #3106
  • chore: add another batch of conformity tests #3101
  • chore: Implement custom LRU cache with protected keys #3097
  • [HBAR Rate Limit Redesign] Implement custom LRU cache with protected keys #3096
  • feat: Moving connection reset metrics from HAPIService into MetricsService. #3095
  • [HBAR Rate Limit Redesign] Create e2e tests for privileged spending plan limit #3067
  • [HBAR Rate Limit Redesign] Create e2e tests for extended spending plan limit #3066
  • feat: capture env variables into sigleton and reusable constants #3047
  • All environment variables required by the relay should be initially loaded and validated. #3023
  • [HBAR Rate Limit Redesign] Set proper daily limits for subscription tiers #2895
  • Create first batch of additional conformity tests #2725
  • Add additional tests for FileAppend in eth_sendRawTransaction #2711
  • Update relay codeowners to hedera-smart-contracts-product #2687

Bug Fixes

  • fix: 3198 cherry pick npm package version #3200
  • fix: Capture the npm_package_version #3198
  • The version from the npm package is not getting read by the config service. #3197
  • ci(bug): Update permissions in JSON rpc relay for GITHUB_TOKEN (#3183) #3186
  • fix: 03182 updatetoken permissions cherry pick #3185
  • fix: 3152 spendingplan as env var acceptance test fix #3184
  • ci(bug): Update permissions in JSON rpc relay for GITHUB_TOKEN #3183
  • ci (bug): issue with pushing docker image #3182
  • fix: Inconsistent handling of failed EVM transactions #3158
  • fix: Spelling fix in the logged messages. #3131
  • Sp. WRONT_NONCE in logging. #3130
  • Inconsistent Handling of Failed EVM Transactions in JSON-RPC Relay #3115
  • [WS Regression] eth_newFilter is failing #3114

Dependency Upgrades

  • build(deps): bump secp256k1 from 4.0.3 to 4.0.4 in /tools/hardhat-example #3159
  • build(dep): [Snyk] Upgrade @graphprotocol/graph-cli from 0.84.0 to 0.85.0 #3157
  • build: (deps) [Snyk] Upgrade ethers from 6.13.2 to 6.13.3 #3149
  • build(deps): bump http-proxy-middleware from 2.0.6 to 2.0.7 in /dapp-example #3144
  • build(deps): [Snyk] Upgrade ethers from 6.13.2 to 6.13.3 #3138
  • build(deps): bump secp256k1 from 4.0.3 to 4.0.4 in /tools/hardhat-viem-example #3137
  • build: (deps)[Snyk] Upgrade @graphprotocol/graph-cli from 0.82.0 to 0.84.0 #3123

Contributors

Thank you to all the contributors who worked on this release:

@dependabot[bot], @ebadiere, @nadezhdapopovaa, @natanasow, @quiet-node, @rbarkerSL, @san-est, @swirlds-automation, and @victor-yanev

v0.58.0

21 Oct 13:45
v0.58.0
a25e5e1
Compare
Choose a tag to compare

Overview

The Hedera JSON RPC Relay v0.58.0 release introduces significant enhancements and fixes, continuing the team's ongoing efforts to improve the Hbar Limiter. Notable new features in this release include the ability to configure the server host for the Relay server, providing greater flexibility in deployment settings. Additionally, this release includes new examples and documentation for integrating Brownie and Wagmi with Hedera, streamlining developer workflows and expanding use case possibilities.

Alongside these enhancements, v0.58.0 addresses several important bug fixes and dependency upgrades. Key issues such as bugged metrics and improper error handling in eth_call have been resolved, ensuring a smoother and more stable experience. Various libraries and dependencies, including web3, express, and @hashgraph/sdk, have also been upgraded to their latest versions to maintain compatibility and improve performance.

What's Changed

Enhancements

Bug Fixes

  • feat: eth_call revert error message is too long, and should not be a REVERT but a BAD Request Response by @natanasow in #3088
  • fix: bugged metrics and wrong env vars by @victor-yanev in #3090
  • fix: included only transfer amounts that are charged to the operator in getTransferAmountSumForAccount() by @quiet-node in #3103
  • fix: added newFilter to paramRearrangementMap for WS server by @quiet-node in #3117

Dependency Upgrades

New Contributors

Full Changelog: v0.57.2...v0.58.0-rc1

v0.57.2

09 Oct 18:35
v0.57.2
6d60fe4
Compare
Choose a tag to compare

Enhancements

  • feat: change units of the value in eth gettransactionbyhash #3080

Contributors

Thank you to all the contributors who worked on this release:

@ebadiere, @nadezhdapopovaa, and @swirlds-automation

v0.57.1

07 Oct 22:01
v0.57.1
78cd1dd
Compare
Choose a tag to compare

Enhancements

  • feat: enabled configurable server host for the Relay server #3073

Contributors

Thank you to all the contributors who worked on this release:

@ebadiere, @quiet-node

v0.57.0

02 Oct 15:58
v0.57.0
85952b2
Compare
Choose a tag to compare

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

19 Sep 16:26
v0.56.0
e2d3dd6
Compare
Choose a tag to compare

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

Bug Fixes

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

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

19 Sep 15:25
v0.56.0-rc1
afbf7a7
Compare
Choose a tag to compare
v0.56.0-rc1 Pre-release
Pre-release
v0.56.0-rc1

v0.55.0

10 Sep 15:03
v0.55.0
e5cb450
Compare
Choose a tag to compare

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 of HbarLimitService #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 on eth_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...
Read more

v0.54.4

27 Aug 19:46
v0.54.4
f3ba090
Compare
Choose a tag to compare

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

Dependencies

Full Changelog: v0.54.3...v0.54.4

v0.54.3

21 Aug 16:23
v0.54.3
5b47595
Compare
Choose a tag to compare

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