Releases: hiero-ledger/hiero-mirror-node
v0.129.1
Enhancements
- Cache null values on findStorage calls (0.129) #11161
Bug Fixes
- Enforce a request timeout in web3 (0.129) #11160
- Fix
NullPointerException
onFractionalFee.getMaximumAmount()
(0.129) #11141
Deployments
- Deploy v0.129.1 to mainnet-eu #11176
- Deploy v0.129.1 to mainnet-na #11175
- Deploy v0.129.1 to testnet-eu #11167
Contributors
Thank you to all the contributors who worked on this release:
v0.129.0
This release begins the design effort for HIP-1081 Block Node. Next sprint the initial support for connecting to a block node will be started. Additionally, all of the /api/v1/tokens/{id}
endpoints now support an ID in the form of a 40 character hexadecimal EVM address.
The integration of the latest consensus node EVM library into/api/v1/contracts/call
continues. This release saw a number of bug fixes and test improvements to verify support for newer EVM functionality. This new code path is now live in all production environments, though each at varying percentage as we work to ramp it up to 100%.
Enhancements
- Add approval integration tests for HIP-906 - Proxy Redirect Contract for Hbar Allowance and Approval #11013
- Add Acceptance tests for topic update, to remove the custom fees #11010
- Modify mirror node state to throw an error if it sees a new state in hedera-app #11003
- Add IsAuthorizedTests for HAC system contract similar to IsAuthorizedTest in consensus node #10933
- Add AliasTests for HAC system contract similar to AliasTest in consensus node #10932
- Rename npm packages to
@hiero-ledger
#10909 - HIP-1056 Test Genesis Block #10901
- Simplify
getTreasury
andgetAutoRenewAccount
methods inTokenReadableKVState
#10807 - Support long form EVM address in
/tokens/{id}
endpoint #10799 - Non-zero realm E2E testing #10743
- Adapt tests in web3 to support different shard and realm #10719
- Add tests for update token custom fees for modularized #10419
- Add tests for HederaAccountService precompile for modularized #10417
Bug Fixes
- Release notes generation not working #11069
- Acceptance tests fail to validate partially up nodes #11060
NullPointerException
on AccountID.accountNum() #11002NullPointerException
on missing account key #10989- Permission denied for /usr/etc/hedera/application.yml #10984
- Account with complex key unduly returned by
accounts?account.publickey={key}
#10904 NullPointerException
on missing contract key #10900- Fix InitializeEntityBalanceMigration to match entityId conversion to the correct entityId size #10898
- Investigate and optimize
TokenAccountRepository.findByIdAndTimestamp
query #10888 - Investigate ERROR in estimatePrecompile.feature acceptance test #10627
Documentation
- HIP-1081: Design block node support #10737
v0.129.0-rc1
v0.129.0-rc1
v0.128.2
Bug Fixes
- Fix acceptance test validation of partial node outage (0.128) #11064
Contributors
Thank you to all the contributors who worked on this release:
v0.128.1
v0.128.0
This release sees support for HIP-551 Batch Transactions. This includes ingest support for the new batch transaction type and the corresponding REST API changes. The /api/v1/transactions/{id}
REST API was changed to return the inner transactions when given the transaction ID of the outer batch transaction.
HIP-1064 Daily Reward for Active Nodes was also implemented in this release. This support takes the form of ingesting the new decline_reward
field on node create and update transactions as well as adding the field to the response of the /api/v1/network/nodes
REST API.
HIP-991 Topic custom fees saw the final tasks in the epic completed including new acceptance and performance tests added to verify functionality and performance end to end.
A number of components saw their versions upgraded. Support for Kubernetes 1.32 was verified and we are in the process of upgrading the control plane across our managed instances. The helm chart saw all of its dependent charts upgraded to the latest version. Finally, Node.js saw a major upgrade with a bump from 18.20.8 to 22.14.0. This moves mirror nodes off of Node.js 18 LTS which reaches end-of-life at the end of April 2025.
The REST API now enables the response cache by default in the Helm chart. The response cache uses Redis to store the JSON response indexed by URL to bypass the potentially slow database query. Similar to the CDN that our managed instances use, the responses are cached based upon the max-age in the cache-control
header, which vary per endpoint. Unlike the CDN, this cache cannot be bypassed by the client via specific headers helping to further protect our API. For operators not using our helm chart, it's recommended to configure the REST module with a connection to a Redis instance and enable the response cache.
The /api/v1/contracts/call
saw further fixes and improvements to integrate the latest modularized EVM library. The EVM library was updated to v0.60 and v0.61 which brought support for new system contracts. This includes support for the new IHederaScheduleService
in HIP-755 and HIP-756, the new IHederaAccountService
in HIP-632 and HIP-906, custom fee system contracts in HIP-1010, and friction-less airdrop system contracts in HIP-904.
Breaking Changes
If you're using the hedera-mirror-common
Helm chart, there are some manual CRD changes that need to be applied. Run the following CRD updates right before triggering the helm upgrade:
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.81.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.81.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.81.0/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.81.0/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.81.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusagents.yaml
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.81.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.81.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.81.0/example/prometheus-operator-crd/monitoring.coreos.com_scrapeconfigs.yaml
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.81.0/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.81.0/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml
kubectl apply --server-side --force-conflicts --force-conflicts -k https://github.com/traefik/traefik-helm-chart/traefik/crds/
Enhancements
- Transition HTTP chart repositories to OCI (0.128) #10994
- Support Kubernetes 1.32 #10941
- Enable REST API response cache by default in chart #10937
- Adapting web3 integration tests to partially pass with shard and realm #10934
- Fix estimate feature acceptance tests #10896
- Remove copied
HistoryLibraryImpl
#10894 - HIP-551 Add rest changes for batch transactions #10892
- Add cancel airdrop tests #10887
- Adding tests for token reject system contract #10885
- Fix stackgres Issues #10884
- Fixing GraphQL tests with non-zero realm #10866
- Add additional params for web3 k6 tests in deploy branch #10863
- K6 web3 tests fixes and data adaptation #10862
- HIP-1056 Add block stream metrics #10861
- HIP-1064 Add
decline_reward
to/api/v1/network/nodes
#10860 - HIP-1064 Support decline_reward on node create and update #10858
- Add claim token airdrop tests #10857
- HIP-551: support batch transactions in importer #10816
- Add evm version 51 support for hedera account service #10815
- Add new topic with custom fee variable in topicIds k6 test #10810
- Add topic with custom fee in mainnet-staging-na helmerelease #10809
- Airdrop tests for modularized #10806
- Fix modularized header in test module (0.127) #10800
- Adapt to protobuf-java-api 0.61.0 #10798
- Fix modularized header in test module #10797
- Bump hedera-app to 0.60.0 #10792
- HIP-991 - Add acceptance tests for topic with fixed fees #10735
Bug Fixes
- Fix acceptance operator leaking remaining hbars (0.128) #10991
- Add the missing contract key in the state (0.128) #10990
- Fix storage slot value removal issue #10939
- Add exception handling for invalid sender #10936
- Add
isModularizedCall
exception parameter in the mono flow #10893 - Fix non-zero realm support in acceptance tests #10891
- Support address book domain name in acceptance tests #10883
- Fix formatSlot function used in get contract state rest api call #10882
- Fix data not found caused by replication delay in rest api #10870
- Fix gha deprecated cache issue #10869
- Remove realm check in rest-java #10831
- Fix broken web3 test comiplation #10828
- Support legacy Transaction in block stream #10822
- Remove support for 0.0.0x EVM addresses #10814
- Fix rosetta workflow [#10804](https://github.com/hiero-ledger/hiero-m...
v0.128.0-rc1
v0.128.0-rc1
v0.127.1
v0.127.0
This release contains important fixes to the modularized web3 project that aims to enhance the /api/v1/contracts/call
REST API with the latest consensus node functionality. Along with various bug fixes and test improvements, we implemented the EntityCountsSingleton
and added verification and caching of system files. There are also new metrics and dashboard improvements to improve monitoring of the modularized traffic. With these changes, we have enough confidence to begin slowly rolling out this feature to production. As of writing, previewnet is at 50% and testnet is at 10% of traffic flowing to the new modularized code path. Please test your application and let us know of any regressions you may encounter during this transition period.
Support for non-zero realm saw a ton of work completed in this release. Outside the web3 module which requires an upgrade to v0.61.2 of the consensus node library to unlock full support, the rest of the codebase should be mostly compatible with non-zero realm and shards now.
The alpha GraphQL API module was converted from reactive Spring WebFlux to synchronous Spring MVC. While that at first doesn't sound like an improvement, the module was also changed to use virtual threads at the same time to provide a scalable API without the complexity that reactive brings. To further harden our APIs, we now enforce JSON parsing limits in both the rest-java and web3 modules.
Breaking Changes
The hedera_mirror_web3_call_*
metrics were renamed to hedera_mirror_web3_evm_*
.
Enhancements
- Allow is modularized header to fully control the txn traffic flow #10776
- Consolidate SystemEntity and SystemEntities #10741
- Improve modularized metrics and dashboard #10734
- Remove load method from system file loader and refactor tests #10731
- Rosetta support non-zero realm in address book entry repository #10726
- Optimize modularized related properties usage #10722
- Use configured shard and realm in acceptance tests #10718
- Use shard and realm for system files in REST #10717
- Support non-zero realm in importer #10716
- Convert GraphQL API to Spring MVC #10715
- Add
EntityCountsSingleton
#10689 - Implement retry and caching for system files in modularized flow #10687
- Enforce JSON parsing limits in rest-java and web3 #10683
- Replace legacy HederaEvmContractAliases #10675
- Fix flakiness in historical tests by trimming total supply from getTokenInfo response in historical.feature tests #10668
- Fix flaky eth call acceptance test #10663
- Use configured realm and shard for system files web3 module #10662
- Adapt acceptance tests and web3 to be able to force 100% traffic to mod #10654
- Adapt web3 k6 estimate tests to work with environment variables #10653
Bug Fixes
- Fix typo in contractCallEstimateAssociateTokens (0.127) #10796
- Fix graphql chart #10725
- chore: remove github-committers from codeowners #10721
- Fix failing tests in
ContractControllerTest
#10684 - Disable the throttle checks in
ThrottleAccumulator
#10682 - Don't print whole account data when payer account is invalid #10680
- Fix the wrongful modularized flag flip #10670
Documentation
- Update batch transaction design #10678
Dependency Upgrades
- Bump go and nodejs versions #10786
- Bump tar-fs from 3.0.6 to 3.0.8 #10783
- Bump parse-duration from 2.1.3 to 2.1.4 in /hedera-mirror-rest #10769
- Bump
@testcontainers
/postgresql from 10.21.0 to 10.23.0 in /hedera-mirror-rest #10768 - Bump asn1js from 3.0.5 to 3.0.6 in /hedera-mirror-rest #10766
- Bump sql-formatter from 15.5.1 to 15.5.2 in /hedera-mirror-rest #10765
- Bump
@aws-sdk
/client-s3 from 3.772.0 to 3.777.0 in /hedera-mirror-rest #10764 - Bump parse-duration from 2.1.3 to 2.1.4 in /tools/traffic-replay/log-downloader #10763
- Bump mathjs from 14.3.1 to 14.4.0 in /hedera-mirror-rest/monitoring #10762
- Bump parse-duration from 2.1.3 to 2.1.4 in /hedera-mirror-rest/monitoring #10761
- Bump software.amazon.awssdk:bom from 2.31.6 to 2.31.11 #10759
- Bump org.sonarsource.scanner.gradle:sonarqube-gradle-plugin from 6.0.1.5171 to 6.1.0.5360 #10757
- Bump com.google.guava:guava from 33.4.5-jre to 33.4.6-jre #10756
- Bump io.hypersistence:hypersistence-utils-hibernate-63 from 3.9.5 to 3.9.8 #10753
- Bump io.freefair.gradle:lombok-plugin from 8.13 to 8.13.1 #10752
- Bump
@testcontainers
/redis from 10.21.0 to 10.23.0 in /hedera-mirror-rest #10751 - Bump google.golang.org/protobuf from 1.36.5 to 1.36.6 in /hedera-mirror-rosetta #10750
- Bump github.com/ethereum/go-ethereum from 1.15.5 to 1.15.6 in /hedera-mirror-rosetta #10748
- Bump actions/setup-python from 5.4.0 to 5.5.0 #10747
- Bump github.com/go-playground/validator/v10 from 10.25.0 to 10.26.0 in /hedera-mirror-rosetta #10746
- Bump github.com/spf13/viper from 1.20.0 to 1.20.1 in /hedera-mirror-rosetta #10745
- Bump
@aws-sdk
/client-s3 from 3.758.0 to 3.772.0 in /hedera-mirror-rest #10712 - Bump express-openapi-validator from 5.4.6 to 5.4.7 in /hedera-mirror-rest #10711
- Bump sql-formatter from 15.4.11 to 15.5.1 in /hedera-mirror-rest #10710
- Bump
@testcontainers
/redis from 10.20.0 to 10.21.0 in /hedera-mirror-rest #10709 - Bump
@testcontainers
/postgresql from 10.20.0 to 10.21.0 in /hedera-mirror-rest #10708 - Bump pg from 8.14.0 to 8.14.1 in /hedera-mirror-rest #10707
- Bump supertest from 7.0.0 to 7.1.0 in /hedera-mirror-rest #10705
- Bump actions/upload-artifact from 4.6.1 to 4.6.2 #10704
- Bump actions/setup-go from 5.3.0 to 5.4.0 #10703
- Bump actions/setup-node from 4.2.0 to 4.3.0 #10702
- Bump flywayVersion from 11.3.4 to 11.4.0 #10699
- Bump com.google.guava:guava from 33.4.0-jre to 33.4.5-jre #10698
- Bump io.grpc:grpc-bom from 1.70.0 to 1.71.0 #10697
- Bump io.hypersistence:hypersistence-utils-hibernate-63 from 3.9.3 to 3.9.5 #10696
- Bump software.amazon.awssdk:bom from 2.30.31 to 2.31.6 #10694
- Bump github.com/hiero-ledger/hiero...
v0.127.0-rc2
v0.127.0-rc2