Support for HIP-1259 fee collection account 0.0.802 was added. Once live on mainnet, this should help reduce the size of the mirror node database by sending fees to a single account on every transaction and instead distributing fees to nodes and system accounts once per day.
New block node specific metrics hiero.mirror.importer.stream.latency and hiero.mirror.importer.stream.error were added for HIP-1081. These metrics previously existed for record streams and were implemented in block streams to reach feature parity. Support for streaming from the earliest available block was added. If hiero.mirror.importer.startBlockNumber is set to -1 and the database is empty, then the importer will query the configured block node to determine what's the earliest block it has available to use. If a non-negative number is set then it will sync from that exact block as before. Finally, an issue with reading trailing non-transaction statechanges in an event was also addressed.
HIP-1195 hooks had acceptance tests added to support end to end testing of the feature. An issue with duplicate keys was addressed by de-duplicating lambda storage updates.
On the build side of things, Gradle was upgraded to version 9. This allowed us to enable the Gradle configuration cache to help speed up the build. In addition, our database ZFS volumes will now automatically grow if they get close to filling up.
Breaking Changes
The legacy monolithic contract call code in the web3 module was removed. It has been disabled by default for a number of releases and the newer modularized code is the default in all production environments. As a result of its removal, a number of properties specific to the old code were also removed:
hiero.mirror.web3.evm.allowLongZeroAddresses
hiero.mirror.web3.evm.allowTreasuryToOwnNfts
hiero.mirror.web3.evm.autoRenewTargetTypes
hiero.mirror.web3.evm.directTokenCall
hiero.mirror.web3.evm.dynamicEvmVersion
hiero.mirror.web3.evm.evmSpecVersion
hiero.mirror.web3.evm.exchangeRateGasReq
hiero.mirror.web3.evm.expirationCacheTime
hiero.mirror.web3.evm.feesTokenTransferUsageMultiplier
hiero.mirror.web3.evm.fundingAccount
hiero.mirror.web3.evm.htsDefaultGasCost
hiero.mirror.web3.evm.limitTokenAssociations
hiero.mirror.web3.evm.maxAutoRenewDuration
hiero.mirror.web3.evm.maxBatchSizeBurn
hiero.mirror.web3.evm.maxBatchSizeMint
hiero.mirror.web3.evm.maxBatchSizeWipe
hiero.mirror.web3.evm.maxCustomFeesAllowed
hiero.mirror.web3.evm.maxGas
hiero.mirror.web3.evm.maxMemoUtf8Bytes
hiero.mirror.web3.evm.maxNftMetadataBytes
hiero.mirror.web3.evm.maxTokensPerAccount
hiero.mirror.web3.evm.maxTokenSymbolUtf8Bytes
hiero.mirror.web3.evm.minAutoRenewDuration
hiero.mirror.web3.evm.modularizedServices
hiero.mirror.web3.evm.modularizedTrafficPercentOperators should determine if any of these properties were specified in their deployments and take appropriate action. While these properties were removed, a lot of them can still be set if needed by consensus node specific properties passed via hiero.mirror.web3.evm.properties.
Enhancements
- Optimize get supply query #12713
- Remove CustomBalanceOperation from web3 #12712
- Disable payer balance check for web3 simulations #12709
- Add opcode tracing tests for native precompiles #12708
- Add auto grow for zfs volumes #12675
- Remove obsolete dependencies from web3 and fix compilation issues #12669
- HIP-1081 Block node metrics #12668
- HIP-1259 fee collection account #12650
- Remove long zero address workaround in web3 #12649
- Enable monitor testing in CI #12643
- increase default balance for acceptance test accounts #12639
- Remove unneeded findLatestIndex() db call #12631
- Update web3j plugins / Update to Gradle 9 #12624
- Remove remaining mono code from all places #12618
- HIP-1081 Support block streaming from earliest available block #12582
- Avoid cache stampede on latest record file cache expiry #12489
- Added acceptance testcases for hooks #12483
Bug Fixes
- Fix acceptance test scenarios being skipped (0.146) #12751
- Fix release Gradle task not compatible with config cache (0.146) #12731
- Fix release Gradle task not compatible with config cache (0.146) #12729
- Fix release Gradle task not compatible with config cache #12728
- Fix postgres image in CI #12727
- Upgrade to stackgres 1.17.4 #12725
- Fix snyk false positive #12722
- Read trailing non-transaction statechanges in an event #12700
- Fix monitor with Gradle 9 #12676
- Fix acceptance task broken with Gradle 9 #12666
- Deduplicate lambda storage updates #12648
- Fix "TypeError: Not a function" in
trafficReplayk6 test #12642 - CORS Issue with REST Java API POST Endpoints #12630
- Add missing imports in traffic replay k6 test #12628
- Fix non zero realm error #12625
- Fix NullPointerException when dummy system accounts are accessed in partial mirror node environments. #12594
Documentation
- HIP-1340 Pectra EOA Code Delegation Design #12557
Dependency Upgrades
- Bump software.amazon.awssdk:bom from 2.41.0 to 2.41.1 #12696
- Bump step-security/git-auto-commit-action from 6.0.2 to 7.1.0 in the dependencies group #12694
- Bump
@aws-sdk/client-s3 from 3.958.0 to 3.962.0 in /rest in the dependencies group #12693 - Bump org.msgpack:jackson-dataformat-msgpack from 0.9.10 to 0.9.11 #12692
- Bump consensusNodeVersion from 0.69.0 to 0.69.1 #12691
- Bump software.amazon.awssdk:bom from 2.40.16 to 2.41.0 #12690
- Bump extensionless from 2.0.5 to 2.0.6 in /rest/check-state-proof in the dependencies group #12689
- Pin JavaScript depenencies #12688
- Bump qs from 6.14.0 to 6.14.1 in /rest/monitoring #12687
- Bump qs from 6.14.0 to 6.14.1 in /rest #12686
- Bump the dependencies group in /rest with 5 updates #12685
- Bump github.com/go-playground/validator/v10 from 10.29.0 to 10.30.1 in /rosetta in the dependencies group #12684
- Bump parse-duration from 2.1.4 to 2.1.5 in /rest/monitoring in the dependencies group #12683
- Bump parse-duration from 2.1.4 to 2.1.5 in /tools/traffic-replay/log-downloader in the dependencies group #12682
- Bump org.flywaydb:flyway-database-postgresql from 11.19.1 to 11.20.0 #12681
- Bump software.amazon.awssdk:bom from 2.40.13 to 2.40.16 #12680
- Bump io.grpc:grpc-bom from 1.77.0 to 1.78.0 #12679
- Bump org.openapitools:openapi-generator-gradle-plugin from 7.17.0 to 7.18.0 #12678
- Bump Spring Boot from 3.5.7 to 3.5.9 #12664
- Bump the dependencies group in /rest with 3 updates #12663
- Bump the dependencies group across 1 directory with 4 updates #12662
- Bump extensionless from 2.0.2 to 2.0.5 in /rest/check-state-proof in the dependencies group #12661
- Bump extensionless from 2.0.2 to 2.0.5 in /rest/monitoring in the dependencies group #12660
- Bump docker/setup-buildx-action from 3.11.1 to 3.12.0 in the dependencies group #12659
- Bump software.amazon.awssdk:bom from 2.40.8 to 2.40.13 #12658
- Bump org.flywaydb:flyway-database-postgresql from 11.19.0 to 11.19.1 #12657
- Bump org.testcontainers:postgresql from 1.21.3 to 1.21.4 #12656
- Bump org.hiero.block:block-node-protobuf-sources from 0.24.0 to 0.24.2 #12655
- Bump io.hypersistence:hypersistence-utils-hibernate-63 from 3.13.3 to 3.14.1 #12654
- Bump netty from 4.1.128 to 4.1.129 #12634
- Bump send to v0.19.2 in rest #12626
- Bump sql-formatter from 15.6.11 to 15.6.12 in /rest in the dependencies group #12623
- Bump the dependencies group in /rest with 7 updates #12605
- Bump the dependencies group with 4 updates #12603
- Bump io.hypersistence:hypersistence-utils-hibernate-63 from 3.13.2 to 3.13.3 #12601
- Bump org.flywaydb:flyway-database-postgresql from 11.18.0 to 11.19.0 #12599
- Bump com.graphql-java-generator:graphql-java-client-runtime from 3.0.1 to 3.1 #12598
- Bump com.graphql-java-generator:graphql-gradle-plugin3 from 3.0.1 to 3.1 #12597
- Bump consensusNodeVersion from 0.69.0-rc.2 to 0.69.0 #12596
- Bump software.amazon.awssdk:bom from 2.40.3 to 2.40.8 #12595
- Bump versions for v0.146.0-SNAPSHOT #12589
- Bump com.gradleup.shadow:shadow-gradle-plugin from 9.2.2 to 9.3.0 #12563
- Bump com.diffplug.spotless:spotless-plugin-gradle from 8.0.0 to 8.1.0 #12460
Deployments
- Updated global.hostname in the sealed secret for ingresses to update to the new hostname #12752
- Put overrides back for mainnet-staging-na #12737
- Upgrade performance and mainnet-staging to v0.146.0-rc1 #12735
- Prepare previewnet for 0.146 #12733
- Suppress flux internal errors #12723
- Fix slack secrets in staging-lg #12715
- Revert sync interval to 1m0s in standalone staging clusters #12714
- Update to FluxCD 2.7.5 in mainnet-eu #12705
- Update to FluxCD 2.7.5 in mainnet-na #12704
- Update to FluxCD 2.7.5 in mainnet-staging #12703
- Update to FluxCD 2.7.5 in testnet-eu #12702
- Update to FluxCD 2.7.5 in testnet-na #12701
- Update to FluxCD 2.7.5 in previewnet #12698
- Update to FluxCD 2.7.5 in preprod #12695
- Update performance bucket #12677
- Prepare mainnet-na for 0.145 #12670
- Standalone staging-council #12619
- Fix cluster name for prometheus label in mainnet-staging-na #12593
- Standalone staging-sm #12586
- Standalone staging-lg #12579
Contributors
Thank you to all the contributors who worked on this release:
@ashumahajan
@bilyana-gospodinova
@IvanKavaldzhiev
@jjohannes
@jnels124
@martingeorgiev1
@nirbosl
@sdimitrov9
@steven-sheehy
@xin-hedera