Releases: hiero-ledger/hiero-mirror-node
v0.143.0
HIP-1195 hooks saw the majority of work completed in this release. The importer now fully supports ingesting hook transactions and persisting the data including the new LambdaSStoreTransaction. A new /api/v1/accounts/{id}/hooks REST API was added to support listing the hooks owned by an account. In the next release, we plan to add an API to list the hook's storage.
HIP-1056 block streams saw further testing and bug fixes. Support for the major changes in the 0.68 block stream specification was incorporated to ensure we support the latest version. A temporary workaround was put in place to skip block stream hash chain verification for the upcoming new hash algorithm. Differential tests were added that compare the record and block stream to find discrepancies. A number of bugs were found and fixed as a result of these tests including not setting receipt.AccountID for crypto update transactions, fixing contract initcode not including constructor parameters, and atomic batch handling.
We converted another JavaScript REST API to Java in this release. The /api/v1/network/fees REST API was rewritten from scratch in Java and shows a 8x improvement in performance as a result. Like the others, it will be rolled out first to previewnet and testnet for a release to ensure it does not have any regressions.
Breaking Changes
The /api/v1/network/exchangerate 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/exchangerate 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
- HIP-1056 Support consensus node 0.68 blockstream spec changes (0.143) #12433
- HIP-1056 Skip blockstream hash chain verification for the new hash algorithm #12387
- Reduce DB calls by disabling node reward logic in web3 #12386
- Convert
/network/feesto Java #12357 - Enhance copy live env script #12355
- HIP-1195 Added Sidecars for hook and updated EVMHookHandler to add initial storage #12351
- Remove JavaScript based code for /network/exchangerate #12349
- Increase blockstream acceptance test coverage #12331
- HIP-1195 Add hook support for contract transactions #12320
- k6 performance tests for
/opcodesweb3 endpoint #12319 - HIP-1195 Add LambdaSStoreTransaction support #12307
- Add a differential test to compare blockstream and recordstream #12287
- HIP-1195 Support hooks in CryptoCreate and CryptoUpdate transactions #12261
- HIP-1195 Add hooks REST API #12259
- Rest k6 tests in CI #12242
Bug Fixes
- Use default minimum payer balance in web3 calls for historical calls (0.143) #12441
- Use default minimum payer balance in web3 calls for historical context #12439
- Prevent
nullsingleton values (0.143) #12429 - Add exchangerate path back to rest-java ingress (0.143) #12425
- Fix entity pending reward calculation issue (0.143) #12419
- HIP-1195 Fix missing hook storage update (0.143) #12405
- Disable problematic web3 tests on Windows #12391
- HIP-1056 Set receipt.AccountID for crypto update transactions #12344
- HIP-1195 Fix hook route #12339
- HIP-1056 Fix initcode from file not including constructorParameters #12338
- Add
recordStatsfor system account cache #12337 - HIP-1056 Fix atomic batch transaction handling when not fully executed #12335
Dependency Upgrades
- Bump mathjs from 15.0.0 to 15.1.0 in /rest/monitoring #12377
- Bump
@aws-sdk/client-s3 from 3.922.0 to 3.927.0 in /rest #12376 - Bump
@testcontainers/redis from 11.7.2 to 11.8.0 in /rest #12375 - Bump jest-extended from 6.0.0 to 7.0.0 in /rest #12374
- Bump mathjs from 15.0.0 to 15.1.0 in /rest #12373
- Bump
@testcontainers/postgresql from 11.7.2 to 11.8.0 in /rest #12372 - Bump io.hypersistence:hypersistence-utils-hibernate-63 from 3.11.0 to 3.12.0 #12371
- Bump commons-io:commons-io from 2.20.0 to 2.21.0 #12368
- Bump org.hiero.block:block-node-protobuf-sources from 0.21.2 to 0.22.1 #12367
- Bump helm/kind-action from 1.12.0 to 1.13.0 #12366
- Bump helm/chart-testing-action from 2.7.0 to 2.8.0 #12365
- Bump kubeshop/setup-testkube from 1.0.10 to 1.0.11 #12364
- Bump step-security/harden-runner from 2.13.1 to 2.13.2 #12363
- Bump com.hedera.hashgraph:app from 0.67.2 to 0.68.0 #12362
- Bump software.amazon.awssdk:bom from 2.37.3 to 2.38.2 #12361
- Bump docker/setup-qemu-action from 3.6.0 to 3.7.0 #12360
- Bump org.flywaydb:flyway-database-postgresql from 11.15.0 to 11.16.0 #12359
- Bump io.freefair.gradle:lombok-plugin from 9.0.0 to 9.1.0 #12358
- Bump github.com/opencontainers/runc from 1.2.3 to 1.2.8 in /rosetta in the go_modules group across 1 directory #12342
- Bump
@aws-sdk/client-s3 from 3.917.0 to 3.922.0 in /rest #12330 - Bump github.com/hiero-ledger/hiero-sdk-go/v2 from 2.72.0 to 2.73.0 in /rosetta #12329
- Bump gorm.io/gorm from 1.31.0 to 1.31.1 in /rosetta #12328
- Bump
@fetch-mock/jest from 0.2.18 to 0.2.20 in /tools/mirror-report #12327 - Bump org.openapitools:openapi-generator-gradle-plugin from 7.16.0 to 7.17.0 #12326
- Bump org.hiero.block:block-node-protobuf-sources from 0.21.1 to 0.21.2 #12324
- Bump software.amazon.awssdk:bom from 2.36.2 to 2.37.3 #12322
- Bump fluxcd/flux2 from 2.7.2 to 2.7.3 #12321
- Bump versions for v0.143.0-SNAPSHOT #12314
Deployments
- Deploy v0.143.0-rc3 to staging #12434
- Deploy v0.143.0-rc2 to performance #12407
- Deploy v0.143.0-rc2 to mainnet-staging #12406
- Enable opcode k6 tests in deploy branch #12345
Contributors
Thank you to all the contributors who worked on this release:
@ashumahajan
@bilyana-gospodinova
@IvanKavaldzhiev
@jnels124
@martingeorgiev1
@sdimitrov9
@steven-sheehy
@xin-hedera
v0.143.0-rc3
v0.143.0-rc3
v0.142.2
v0.143.0-rc2
v0.143.0-rc2
v0.143.0-rc1
v0.143.0-rc1
v0.142.1
v0.142.0
Support for HIP-1299 node account ID updates was finalized in this release. When a node updates their account ID, it will now be reflected instantly in all APIs including the getNodes gRPC API, the /network/status Rosetta API, and the /api/v1/network/nodes REST API.
We now include support for HIP-1215 generalized scheduled contract calls. The importer was adapted to handle scheduled contract calls that can be triggered in isolation without another unrelated user transaction preceding it. The latest consensus node library v0.68 was integrated, bringing with it support for the new system contracts defined in HIP-1215. This includes the scheduleCall, scheduleCallWithPayer, executeCallOnPayerSignature, deleteSchedule, and hasScheduleCapacity functions defined in IHederaScheduleService.
HIP-1056 block streams continues to see progress with support for calculating the ethereum transaction hash and reconstructing the contract bytecode added. A large number of other bugs were addressed as a result of our differential testing.
The code base now integrates the JSpecify standard. JSpecify provides standard nullability annotations and static code analysis tools to help reduce the use of nulls in your code. Existing null annotations from javax, Jakarta, Spring, findbugs, etc. were converted to the equivalent JSpecify annotation. The Gradle build was updated to integrate NullAway which will fail the build if a potential NullPointerException is detected. Currently it's set to assume null by default as we work towards a non-null by default throughout the code base.
Breaking Changes
The web3 API now defaults to the modularized code flow regardless if the operator explicitly disabled it. As a result, the values of the hiero.mirror.web3.evm.modularizedServices and hiero.mirror.web3.evm.modularizedTrafficPercent properties are now ignored. This was necessary due to incompatibilities between maintaining both code bases after upgraded to the 0.68 EVM library. We plan to remove the legacy code entirely next month.
Enhancements
- HIP-1261 Throw an error on invalid transaction #12311
- HIP-1215 Adapt importer to handle changes related to scheduled contract calls #12291
- HIP-1249 Update gasConsumed calculation property to 0.68 #12268
- HIP-1299 Replace account_id if present in node.account_id in rosetta API #12263
- HIP-1215 Add integration tests for the new schedule functions #12257
- Enable Java exchange rate API by default #12256
- Use jspecify for nullability annotations #12255
- Rest-java k6 tests in CI #12243
- Manually scale hpa for k6 tests #12241
- HIP-1056 Calculate ethereum transaction hash #12236
- Enforce null checks at compile time #12211
- Add index to token_account #12207
- k6 tests in CI - follow up #12206
- Enhance the contract results REST endpoint to return latest failed result #12196
- Upgrade components in acceptance test workflow #12195
- Add long lived cache for system accounts #12187
- HIP-1299 Replace account_id if present in node.account_id in gRPC API #12147
- HIP-1056 Reconstruct ContractBytecode #12114
Bug Fixes
- Revert rest monitor to node 22 #12312
- Update acceptance workflow to use 0.67.2-rc.2 consensus tag to fix failing acceptance tests #12306
- Relax condition for valid start timestamp in transactions API #12294
- HIP-1056 Left trim contract storage value read and value written #12290
- HIP-1056 Set TransactionRecord.evm_address properly #12288
- Fix stream file archive path when groupByDay is disabled #12285
- HIP-1056 Leave receipt.NewTotalSupply unset for TokenCreate transactions #12266
- HIP-1056 Ignore ethereum transaction callDataId when callData is inlined #12265
- Fix REST API tests for Windows compatibility #12246
- Fix rest network node service test #12244
- Pin reusable workflow to main #12209
- Fix null function_parameters when handling eth transaction from blockstream #12205
- Properly set creator for ScheduleCreate transactions if there is top level EthereumTransaction #12189
Dependency Upgrades
- Bump
@testcontainers/redis from 11.7.1 to 11.7.2 in /rest #12283 - Bump
@aws-sdk/client-s3 from 3.913.0 to 3.917.0 in /rest #12282 - Bump cross-env from 7.0.3 to 10.1.0 in /rest #12281
- Bump ioredis from 5.8.1 to 5.8.2 in /rest #12280
- Bump
@testcontainers/postgresql from 11.7.1 to 11.7.2 in /rest #12279 - Bump commander from 14.0.1 to 14.0.2 in /tools/mirror-report #12278
- Bump
@fetch-mock/jest from 0.2.17 to 0.2.18 in /tools/mirror-report #12277 - Bump software.amazon.awssdk:bom from 2.35.10 to 2.36.2 #12276
- Bump org.flywaydb:flyway-database-postgresql from 11.14.1 to 11.15.0 #12275
- Bump actions/upload-artifact from 4.6.2 to 5.0.0 #12274
- Bump org.hiero.block:block-node-protobuf-sources from 0.20.1 to 0.21.1 #12272
- Bump Spring Boot from 3.5.6 to 3.5.7 #12258
- Bump io.vertx:vertx-web from 4.5.16 to 4.5.22 in the gradle group across 1 directory #12253
- Bump github.com/hiero-ledger/hiero-sdk-go/v2 from 2.71.0 to 2.72.0 in /rosetta #12232
- Bump
@hashgraph/proto from 2.22.0 to 2.24.0 in /rest #12231 - Bump
@hashgraph/proto from 2.23.0 to 2.24.0 in /rest/check-state-proof #12230 - Bump
@aws-sdk/client-s3 from 3.908.0 to 3.913.0 in /rest #12228 - Bump fluxcd/flux2 from 2.7.1 to 2.7.2 #12226
- Bump step-security/helm-gh-pages from 1.7.4 to 1.7.5 #12225
- Bump com.hedera.hashgraph:hedera-protobuf-java-api from 0.66.0 to 0.67.0 #12224
- Bump io.projectreactor:reactor-core-micrometer from 1.2.11 to 1.2.12 #12223
- Bump software.amazon.awssdk:bom from 2.35.5 to 2.35.10 #12221
- Bump protobufVersion from 4.32.1 to 4.33.0 #12220
- Bump org.owasp:dependency-check-gradle from 12.1.7 to 12.1.8 #12218
- Bump org.graalvm.buildtools:native-gradle-plugin from 0.11.1 to 0.11.2 #12217
- Bump org.hiero.block:block-node-protobuf-sources from 0.20.0 to 0.20.1 #12216
- Bump actions/setup-node from 5.0.0 to 6.0.0 #12215
- Bump securego/gosec from 2.22.9 to 2.22.10 #12214
- B...
v0.142.0-rc1
v0.142.0-rc1
v0.141.0
This release includes progress on a number of HIPs. First up, we have HIP-1261 Simple Fees. A new experimental gRPC getFeeEstimate API was added that returns a stubbed response. This alpha API is not intended to be used in production as it's not fully implemented and just returns dummy data. Developers can use this API to start integrating against with the expectation that it will be fully implemented in the near future.
HIP-1299 Node Account ID Refinements for Dynamic Address Book saw initial work completed. The importer now detects node transactions with a changed node account ID and persists the updated value. The REST API will now reflect this updated node account ID immediately instead of waiting for the next consensus node upgrade. In the next release, a similar change will be made to the gRPC and Rosetta APIs.
HIP 1195 Hiero hooks saw initial database and domain work completed. The next release will add persistence and a new hook REST API.
HIP-1056 Block streams continues to make progress every release. We finalized the integration of the major protobuf changes in consensus node v0.65+ by integrating intermediate topic message trace data. A bug was addressed around linking scheduled transactions and its triggering transaction.
The /api/v1/network/exchangerate API was rewritten from JavaScript to Java. Besides a cleaner, more maintainable implementation, it shows a major performance boost. Our testing shows it went from 850 requests per second to 18,000 requests per second as a result of this change. The JavaScript API will persist for another release as we finalize testing on the new API.
Enhancements
- HIP-1299 Replace account_id if present in node in REST API #12186
- Convert exchange rate API to Java #12166
- k6 tests in CI - web3 #12151
- HIP 1195 Add DB changes for hooks #12146
- Add gh action to copy stackgres cluster #12119
- HIP-1056 Get intermediate topic message from trace data #12117
- Add a stubbed getFeeEstimate gRPC API #12115
- Persist updates to node account ID #12113
- Avoid account lookup failure for system accounts during historical calls #12112
- Bump hedera-app version to 0.66.0 #12104
- Adapt acceptance tests to use estimate gas query from SDK (#11183) #11432
Bug Fixes
- Properly validate gas consumption for contract creates in acceptance tests #12163
- Fix
NullPointerExceptiononresetThrottlesUnconditionally()#12145 - Return null in case token with negative num value is being read #12124
- HIP-1056 Link scheduled transactions and its trigger #12123
Dependency Upgrades
- Bump
@aws-sdk/client-s3 from 3.901.0 to 3.908.0 in /rest #12181 - Bump mathjs from 14.8.2 to 15.0.0 in /rest #12180
- Bump ioredis from 5.8.0 to 5.8.1 in /rest #12179
- Bump quick-lru from 7.2.0 to 7.3.0 in /rest #12178
- Bump mathjs from 14.8.2 to 15.0.0 in /rest/monitoring #12177
- Bump io.grpc:grpc-bom from 1.75.0 to 1.76.0 #12176
- Bump org.hiero.block:block-node-protobuf-sources from 0.19.1 to 0.20.0 #12175
- Bump software.amazon.awssdk:bom from 2.35.0 to 2.35.5 #12174
- Bump step-security/google-github-auth from 2.1.12 to 3.0.0 #12172
- Bump step-security/helm-gh-pages from 1.7.3 to 1.7.4 #12171
- Bump org.flywaydb:flyway-database-postgresql from 11.13.2 to 11.14.0 #12170
- Bump org.gaul:s3proxy from 2.7.0 to 2.8.0 #12169
- Bump org.gradle:test-retry-gradle-plugin from 1.6.2 to 1.6.4 #12168
- Bump org.owasp:dependency-check-gradle from 12.1.6 to 12.1.7 #12167
- Bump Go from 1.25.1 to 1.25.2 #12165
- Bump redis image to 8.2.2 #12149
- Bump
@aws-sdk/client-s3 from 3.896.0 to 3.901.0 in /rest #12144 - Bump github.com/hiero-ledger/hiero-sdk-go/v2 from 2.70.0 to 2.71.0 in /rosetta #12143
- Bump mathjs from 14.8.1 to 14.8.2 in /rest/monitoring #12142
- Bump github.com/go-playground/validator/v10 from 10.27.0 to 10.28.0 in /rosetta #12141
- Bump google.golang.org/protobuf from 1.36.9 to 1.36.10 in /rosetta #12140
- Bump mathjs from 14.8.1 to 14.8.2 in /rest #12139
- Bump
@testcontainers/postgresql from 11.6.0 to 11.7.1 in /rest #12138 - Bump sql-formatter from 15.6.9 to 15.6.10 in /rest #12137
- Bump
@testcontainers/redis from 11.5.1 to 11.7.1 in /rest #12136 - Bump net.java.dev.jna:jna from 5.18.0 to 5.18.1 #12135
- Bump software.amazon.awssdk:bom from 2.34.5 to 2.35.0 #12134
- Bump org.graalvm.buildtools:native-gradle-plugin from 0.11.0 to 0.11.1 #12132
- Bump org.flywaydb:flyway-database-postgresql from 11.13.1 to 11.13.2 #12131
- Bump com.hedera.hashgraph:sdk from 2.63.0 to 2.64.0 #12130
- Bump org.hiero.block:block-node-protobuf-sources from 0.19.0 to 0.19.1 #12129
- Bump gradle/actions from 4.4.3 to 5.0.0 #12128
- Bump jooqVersion from 3.20.7 to 3.20.8 #12125
- Bump versions for v0.141.0-SNAPSHOT #12109
- chore: [StepSecurity] Apply security best practices #12108
Deployments
- Enable Java exchangerate API in testnet-na #12239
- Enable Java exchangerate API in previewnet #12238
- Enable Java exchangerate API in integration #12237
- add staging deploy workflow trigger #12204
- Prepare staging and performance for 0.141.0-rc1 #12202
Contributors
Thank you to all the contributors who worked on this release:
@ashumahajan
@bilyana-gospodinova
@IvanKavaldzhiev
@jnels124
@martingeorgiev1
@nickeynikolovv
@sdimitrov9
@steven-sheehy
@xin-hedera
v0.141.0-rc1
v0.141.0-rc1