HIP-1249 precise smart contract throttling was implemented in this release. This includes a change to how gas consumed is calculated on the mirror node. Previously consensus nodes would only refund a percentage of the gas limit. This HIP changes the calculation to refund 100% of the actual gas used such that gas consumed and gas used in the API response will now be equal.
A number of testing improvements were implemented to increase our API coverage and dog-food our own APIs. The acceptance tests now invoke read-only gas estimation calls against both the mirror node /api/v1/contracts/call
API and the consensus node's ContractCallLocalQuery
to ensure accurate gas estimations. A new acceptance test for DeleteAllowanceTransaction
was added to ensure we have coverage for this transaction end-to-end. Finally, coverage for three missing token and topic REST APIs acceptance tests were added, bringing us to 100% coverage of our REST APIs.
The transaction hash table was changed to be partitioned by consensus timestamp on our V2 schema. This greatly improves our ingest performance on Citus, with some canonical tests now showing up to 25,000 transactions per second.
Work continues on HIP-1056 with this release adding support for contract state information. The REST Java API now supports the ETag
header which reduces bandwidth for responses already cached by the client.
Breaking changes
As forecasted in the release notes for 0.139.0, the network stake JavaScript implementation is now removed in favor of the newer Java implementation. Operators should ensure their routing logic is updated so that requests to /api/v1/network/stake
are directed to the rest-java process instead of the rest process. If operators use our docker compose or Helm chart this routing change is handled automatically.
Enhancements
- Remove JavaScript network stake API #12093
- Add ETag header to REST Java API response #12087
- Convert transaction hash to partitioned table #12058
- HIP-1056 Reconstruct ContractStateChange sidecar #12057
- Added DeleteAllowance HAPI test #12046
- Change ContractExecutionParameters.sender to be Address #11870 #12041
- Show encoded ED25519 public key in account/balance response #12040
- Enhance read only estimate feature tests to make ContractCallLocal #12019
- HIP-1056 Reconstruct contract action sidecar record #12013
- Adapt importer to handle changes introduced in HIP-1249 #11966
- Add acceptance tests for tokens and topics endpoints #11905
Bug Fixes
- Fix monitor cluster health check #12103
- Fix failure on empty data field #12086
- Fixed Address book service fails with partial address book #12061
- Fix EntityMetadataRegistry duplicate key error with multiple schemas #12060
- Fix "Unhandled failure for input" error #12059
- Provide rest api order param to take pagination into account #12054
- Workaround chart workflow failure #12052
- Bump chart version in acceptance workflow #12018
- Revert Bitnami PostgreSQL image bump #12015
Documentation
- Add design document to support Hiero hooks for mirror node #11784
Dependency Upgrades
- Bump redis image to 8.2.2 (0.140) #12150
- Bump mathjs from 14.7.0 to 14.8.1 in /rest/monitoring #12079
- Bump
@aws-sdk
/client-s3 from 3.893.0 to 3.896.0 in /rest #12078 - Bump mathjs from 14.7.0 to 14.8.1 in /rest #12077
- Bump ioredis from 5.7.0 to 5.8.0 in /rest #12076
- Bump jest from 30.1.3 to 30.2.0 in /rest/check-state-proof #12075
- Bump jest from 30.1.3 to 30.2.0 in /rest #12074
- Bump jest from 30.1.3 to 30.2.0 in /tools/mirror-report #12073
- Bump software.amazon.awssdk:bom from 2.34.0 to 2.34.5 #12072
- Bump org.web3j:core from 4.12.2 to 5.0.1 #12071
- Bump org.owasp:dependency-check-gradle from 12.1.5 to 12.1.6 #12070
- Bump com.gradleup.shadow:shadow-gradle-plugin from 9.1.0 to 9.2.2 #12069
- Bump io.freefair.gradle:lombok-plugin from 8.14.2 to 9.0.0 #12068
- Bump com.diffplug.spotless:spotless-plugin-gradle from 7.2.1 to 8.0.0 #12067
- Bump org.openapitools:openapi-generator-gradle-plugin from 7.15.0 to 7.16.0 #12066
- Bump org.hiero.block:block-node-protobuf-sources from 0.18.0 to 0.19.0 #12065
- Bump org.cyclonedx:cyclonedx-gradle-plugin from 2.3.1 to 2.4.1 #12064
- Bump net.java.dev.jna:jna from 5.17.0 to 5.18.0 #12063
- Bump step-security/semver-utils from 4.3.1 to 4.3.2 #12062
- Update Go from 1.24 to 1.25 #12056
- Bump
@testcontainers
/postgresql from 11.5.1 to 11.6.0 in /rest #12039 - Bump quick-lru from 7.1.0 to 7.2.0 in /rest #12037
- Bump
@aws-sdk
/client-s3 from 3.888.0 to 3.893.0 in /rest #12036 - Bump github.com/hiero-ledger/hiero-sdk-go/v2 from 2.69.0 to 2.70.0 in /rosetta #12034
- Bump
@hashgraph
/proto from 2.22.0 to 2.23.0 in /rest/check-state-proof #12033 - Bump pretty-ms from 9.2.0 to 9.3.0 in /rest/monitoring #12032
- Bump com.graphql-java-generator:graphql-java-client-runtime from 3.0 to 3.0.1 #12031
- Bump com.graphql-java-generator:graphql-gradle-plugin3 from 3.0 to 3.0.1 #12030
- Bump com.google.guava:guava from 33.4.8-jre to 33.5.0-jre #12029
- Bump org.hiero.block:block-node-protobuf-sources from 0.17.1 to 0.18.0 #12028
- Bump org.flywaydb:flyway-database-postgresql from 11.12.0 to 11.13.1 #12027
- Bump org.bouncycastle:bcprov-jdk18on from 1.81 to 1.82 #12026
- Bump step-security/ghaction-import-gpg from 6.3.0 to 6.3.1 #12025
- Bump com.hedera.hashgraph:hedera-protobuf-java-api from 0.65.1 to 0.66.0 #12024
- Bump software.amazon.awssdk:bom from 2.33.9 to 2.34.0 #12022
- Bump org.owasp:dependency-check-gradle from 12.1.3 to 12.1.5 #12021
- Bump Spring Boot from 3.5.5 to 3.5.6 #12014
- Bump OpenEBS to 4.3.3 #12006
Deployments
- Prepare performance for 0.140.0-rc1 #12111
- Prepare staging for 0.140.0-rc1 #12110
- increase disk size for coordinator in performance #12090
Contributors
Thank you to all the contributors who worked on this release:
@ashumahajan
@bilyana-gospodinova
@itsbrandondev
@IvanKavaldzhiev
@jnels124
@martingeorgiev1
@sdimitrov9
@steven-sheehy
@xin-hedera