Releases: hashgraph/hedera-mirror-node
v0.113.3
A Citus-specific release that improves the user experience after the implicit 60 day timestamp range noted in the Hedera blog. This release now provides a next link for queries that implicitly clamp the timestamp range to 60 days to indicate there might be additional results.
Enhancements
- Populate next link for endpoints with implicit timestamp range (0.113) #9405
Contributors
Thank you to all the contributors who worked on this release:
v0.114.0-rc1
v0.114.0-rc1
v0.113.2
v0.113.1
Bug Fixes
- Fix Stackgres PostgreSQL version (0.113) #9313
Contributors
Thank you to all the contributors who worked on this release:
v0.113.0
Full ingest support for the new HIP-904 token airdrop transactions was implemented. In the future, two new airdrop REST APIs will be added to support querying for outstanding and pending airdrops.
A major focus of this release was to finalize our Citus database integration. Transaction state proof performance was optimized by reducing the set of partitions to scan for multiple tables. A similar optimization when querying the record_file
table improved the performance of multiple contract results and logs APIs. The biggest change in terms of time and data was a reworking of the transaction table indexes for Citus that improved the performance of /api/v1/accounts/{id}
and /api/v1/transactions?account.id
when low volume accounts were searched. The entity list endpoints like /api/v1/accounts
, /api/v1/contracts
, etc. saw an increase to their max age to offload their response to CDNs at the cost of some staleness in data.
As mentioned last release, the web3 tests continue to see a large refactoring effort. This release closes 14 tasks associated with the project and should be fully complete in the near future.
Enhancements
- Improve stateproof API performance in v2 (0.113) #9285
- Improve
/contracts/{id}/results/logs
performance in v2 (0.113) #9284 - ci: update workflows to use latitude.sh based runners #9241
- Adjust citus resources #9228
- Adjust transaction table indexes #9225
- Add check for
web3j-cli
existence before installation #9224 - Increase max age for entity list endpoints #9223
- Optimize stackgres connection pooling #9197
- Improve balance performance in Citus by un-distributing balance tables #9195
- Return 501 NOT_SUPPORTED error response for unsupported precompiles #9189
- Refactor ContractCallSystemPrecompileHistoricalTest #9185
- Update the web3j-cli download task to use the official release #9182
- Refactor ContractDebugServiceTest dynamic calls, nested calls enum #9179
- Refactor ContractDebugServiceTest modification precompile functions #9175
- Refactor ContractCallNestedCallsHistoricalTest #9164
- Refactor
ContractCallServiceERCTokenTest
delegate transfer #9163 - Disable postgres SSL to fix random query timeout #9144
- Refactor
ContractCallServiceERCTokenTest
negative scenarios #9137 - Refactor
ContractCallEvmCodesHistoricalTests
to use web3j #9134 - Adjust some stackgres charts configs #9121
- Standardize rest-java error response #9114
- Refactor
ContractCallServiceTest
#9092 - Extract the internal calls tests from
ContractCallServiceTest
#9076 - Extract the revert tests from
ContractCallServiceTest
#9075 - Refactor
ContractCallServiceERCTokenTest
modification functions #9040 - Finalize refactoring of
ContractCallServicePrecompileTest
#9022 - HIP-904 Add support for Token Airdrop #8856
Bug Fixes
- Set the solc-select manually in order to fix the failing runner #9265
- Add priorityClassName to test pods #9242
- Retain existing allowance (spender) columns when updating NFT metadata #9115
- Enable topic message lookup in rest api for v2 #9100
- Use owner in backfill ethereum transaction hash migration #9080
Dependency Upgrades
- Bump github.com/opencontainers/runc from 1.1.13 to 1.1.14 in /hedera-mirror-rosetta in the go_modules group #9266
- Bump org.owasp:dependency-check-gradle from 10.0.3 to 10.0.4 #9220
- Bump com.graphql-java-generator:graphql-gradle-plugin3 from 2.7 to 2.8 #9219
- Bump com.google.cloud:spring-cloud-gcp-dependencies from 5.5.1 to 5.6.0 #9218
- Bump com.graphql-java-generator:graphql-java-client-runtime from 2.7 to 2.8 #9217
- Bump software.amazon.awssdk:bom from 2.27.12 to 2.27.17 #9216
- Bump
@testcontainers
/postgresql from 10.12.0 to 10.13.0 in /hedera-mirror-rest #9213 - Bump
@testcontainers
/redis from 10.12.0 to 10.13.0 in /hedera-mirror-rest #9212 - Bump eslint-plugin-jest from 28.8.0 to 28.8.1 in /hedera-mirror-rest #9211
- Bump express-openapi-validator from 5.3.3 to 5.3.4 in /hedera-mirror-rest #9210
- Bump mathjs from 13.0.3 to 13.1.1 in /hedera-mirror-rest #9209
- Bump sql-formatter from 15.4.0 to 15.4.1 in /hedera-mirror-rest #9208
- Bump mathjs from 13.0.3 to 13.1.1 in /hedera-mirror-rest/monitoring #9207
- Bump gradle/actions from 4.0.0 to 4.0.1 #9206
- Bump actions/upload-artifact from 4.3.6 to 4.4.0 #9205
- Bump actions/setup-python from 5.1.1 to 5.2.0 #9204
- Bump software.amazon.awssdk:bom from 2.27.7 to 2.27.12 #9160
- Bump org.apache.commons:commons-compress from 1.27.0 to 1.27.1 #9159
- Bump com.hedera.hashgraph:sdk from 2.37.0 to 2.38.0 #9158
- Bump org.springframework.boot:spring-boot-gradle-plugin from 3.3.2 to 3.3.3 #9157
- Bump org.openapitools:openapi-generator-gradle-plugin from 7.7.0 to 7.8.0 #9156
- Bump flywayVersion from 10.17.1 to 10.17.2 #9155
- Bump io.freefair.gradle:lombok-plugin from 8.7.1 to 8.10 #9154
- Bump github.com/prometheus/client_golang from 1.20.0 to 1.20.2 in /hedera-mirror-rosetta #9153
- Bump github.com/hashgraph/hedera-sdk-go/v2 from 2.43.0 to 2.44.0 in /hedera-mirror-rosetta #9152
- Bump google-github-actions/auth from 2.1.4 to 2.1.5 #9151
- Bump
@aws-sdk
/client-s3 from 3.633.0 to 3.637.0 in /hedera-mirror-rest #9150 - Bump express-openapi-validator from 5.3.1 to 5.3.3 in /hedera-mirror-rest #9149
- Bump
@testcontainers
/redis from 10.11.0 to 10.12.0 in /hedera-mirror-rest #9148 - Bump
@testcontainers
/postgresql from 10.11.0 to 10.12.0 in /hedera-mirror-rest #9147 - Upgrade Stackgres to 1.11.0 #9082
- Bump versions for v0.113.0-SNAPSHOT #9067
Deployments
v0.113.0-rc2
v0.113.0-rc2
v0.113.0-rc1
v0.113.0-rc1
v0.112.1
v0.112.1-rc1
v0.112.1-rc1
v0.112.0
Our sharded database, Citus, saw some major performance improvements that should make it suitable for a replacement for our production instances. Transaction hash look-ups saw a speed boost due to the addition of a new distribution_id
column used to target the appropriate shard. A performance bottleneck caused by the use of SSL for communication between the coordinator and workers was identified and remediated. This change alone provides dramatic improvements across the board. The coordinator connection pool to the workers saw a boost as well, again improving overall query performance. After seeing some memory problems due to the increase in query volume, we adjusted the worker_mem
lower to a more appropriate level. Finally, we enabled topic message lookup in the REST API to improve the performance of the topic message endpoints.
This release continues the theme of improving test maintainability. There were a large number of tasks that refactored the web3 tests to use the web3j contract wrappers. This change will also help reduce the runtime of the tests and increase our security by not storing solidity binary files in source control. Similarly, a new RecordFileDownloaderPerformanceTest
was added to provide a foundation for further performance testing. This class can bulk generate record, sidecar, and signature files using a declarative configuration and feed the data into the importer to test its performance. Such capability will be used in the future to perform 10K TPS performance testing in CI to improve our release velocity.
Finally, we started the process of converting our REST spec tests from the hedera-mirror-rest module to the hedera-mirror-rest-java module. Porting this test framework over will allow us to migrate our APIs from JavaScript to Java one by one. For now, it's running against a REST container image but once it supports all specs we'll change this to run the specs against the new rest-java API implementations.
Enhancements
- Adjust some stackgres charts configs (0.112) #9122
- Refactor ContractCallServiceERCTokenTest read only redirect functions #9042
- Implement additional single-entity builders and run more spec tests #9038
- Rosetta return generic unknown operation type for future transaction types #9030
- Refactor ContractCallSystemPrecompileTest #9028
- Refactor selfDestruct integration tests #9027
- Add a RecordFileDownloaderPerformanceTest #9021
- Refactor ContractCallAddressThisTest #9014
- Handling numeric values for EntityId query parameters #9009
- Refactor
ContractCallServiceERCTokenTest
#8985 - Calculate acceptance test operator balance from USD #8957
- Refactor ContractCallNestedCallsTest #8955
- Port REST specs to Java, phase 1 #8799
Bug Fixes
- Disable postgres SSL to fix random query timeout (0.112) #9178
- Retain existing allowance (spender) columns when updating NFT metadata (0.112) #9119
- Enable topic message lookup in rest api for v2 (0.112) #9104
- Use owner in backfill ethereum transaction hash migration (0.112) #9081
- Fix web3 helm test #9064
- Fix disabled opcode endpoint not returning 404 #9046
- Fill ethereum hash when missing in record #9019
- Fix case sensitive array query parameters #8988
- Fix accounts REST API error with some query params #8972
- Improve transaction hash v2 performance #8970
- Fix exchange rate rounding issue in acceptance tests #8968
Documentation
- Fixing admin_key rest example in the design #9063
Dependency Upgrades
- Bump docker/build-push-action from 6.6.1 to 6.7.0 #9061
- Bump io.projectreactor:reactor-core-micrometer from 1.1.8 to 1.1.9 #9060
- Bump com.google.guava:guava from 33.2.1-jre to 33.3.0-jre #9059
- Bump jooqVersion from 3.19.10 to 3.19.11 #9058
- Bump software.amazon.awssdk:bom from 2.27.2 to 2.27.7 #9057
- Bump com.google.cloud:spring-cloud-gcp-dependencies from 5.5.0 to 5.5.1 #9056
- Bump mapStructVersion from 1.5.5.Final to 1.6.0 #9055
- Bump flywayVersion from 10.17.0 to 10.17.1 #9054
- Bump
@aws-sdk
/client-s3 from 3.627.0 to 3.633.0 in /hedera-mirror-rest #9053 - Bump github.com/prometheus/client_golang from 1.19.1 to 1.20.0 in /hedera-mirror-rosetta #9052
- Bump github.com/ory/dockertest/v3 from 3.10.0 to 3.11.0 #9008
- Bump eslint-plugin-jest from 28.7.0 to 28.8.0 in /hedera-mirror-rest #9006
- Bump sql-formatter from 15.3.2 to 15.4.0 in /hedera-mirror-rest #9005
- Bump
@aws-sdk
/client-s3 from 3.623.0 to 3.627.0 in /hedera-mirror-rest #9004 - Bump google-github-actions/auth from 2.1.3 to 2.1.4 #9003
- Bump actions/setup-java from 4.2.1 to 4.2.2 #9002
- Bump step-security/harden-runner from 2.9.0 to 2.9.1 #9001
- Bump step-security/semver-utils from 3.1.0 to 4.3.0 #9000
- Bump docker/build-push-action from 6.5.0 to 6.6.1 #8999
- Bump actions/upload-artifact from 4.3.5 to 4.3.6 #8998
- Bump google-github-actions/setup-gcloud from 2.1.0 to 2.1.1 #8997
- Bump github.com/hashgraph/hedera-sdk-go/v2 from 2.42.0 to 2.43.0 in /hedera-mirror-rosetta #8996
- Bump io.freefair.gradle:lombok-plugin from 8.6 to 8.7.1 #8995
- Bump org.apache.commons:commons-compress from 1.26.1 to 1.27.0 #8994
- Bump com.hedera.hashgraph:sdk from 2.36.0 to 2.37.0 #8993
- Bump software.amazon.awssdk:bom from 2.26.29 to 2.27.2 #8992
- Bump io.grpc:grpc-bom from 1.65.1 to 1.66.0 #8991
- Bump boxen from 8.0.0 to 8.0.1 in /hedera-mirror-rest/check-state-proof #8990
- chore: migrate actions to step-security maintained versions #8954
Deployments
- Fix previewnet-citus reset behavior #9131
- Fix previewnet reset behavior #9128
- Deploy 0.112.0-rc3 to mainnet-staging #9127
- Deploy v0.112.0-rc3 to previewnet #9124
- Deploy 0.112.0-rc2 to performance and mainnet-staging #9085
- Deploy v0.112.0-rc2 to previewnet #9083
- Deploy 0.112.0-rc1 to performance and mainnet-staging. #9069
- Deploy v0.112.0-rc1 to previewnet #9068
- increase storage size for shard 1 #9051
- increase storage size for shard 2 #9050
- Update testnet-citus connection config [#9045](https://github.com/hashgra...