Releases: hashgraph/hedera-mirror-node
v0.106.0-rc1
v0.106.0-rc1
v0.105.0
A design document was added for the implementation of HIP-904 Friction-less Airdrops on mirror node. Please watch the epic to monitor the progress of airdrop development.
Citus, our sharded database, continues to make progress with this release making its way to one of our two testnet clusters. We'll monitor its deployment for a period and make any necessary fixes. The ZFS CSI driver we use for Citus saw an upgrade. Finally, multiples issues were fixed with the PostgreSQl to Citus migration script.
For /api/v1/contracts/call
, the maximum data size was increased to 128 KiB to provide better Ethereum compatibility. Also, additional logic and validation was added to more closely align with consensus nodes error scenarios.
Upgrading
If you're using the ZFS CSI driver, please ensure its CRDs are updated before upgrading:
for crd in zfsbackups zfsnodes zfsrestores zfssnapshots zfsvolumes; do kubectl patch crd $crd.zfs.openebs.io --type merge -p '{"metadata": {"annotations": {"helm.sh/resource-policy": "keep", "meta.helm.sh/release-name": "mirror", "meta.helm.sh/release-namespace": "common"}, "labels": {"app.kubernetes.io/managed-by": "Helm"}}}'; done
Enhancements
- Increase web3 maxDataSize to 128 KiB (0.105) #8323
- Upgrade ZFS CSI Driver #8265
- Add testnet-citus deployment to testnet-eu cluster #8257
- Add index to nft allowance table for spender centric queries #8256
- Change release workflows to only build the specific project #8220
- Convert AlertManager alerts to Grafana Cloud alerts #8211
- Add missing logics and validations from services #8157
- Add HIP-904 Frictionless Airdrops design #8127
Bug Fixes
- REST api returns unknown transaction type #8321
- Fix release automation workflow unable to close milestone #8302
- Disable Redis in REST API by default #8268
- Clear incorrect token metadata / metadata key and fix ingestion logic #8267
- Fix GasConsumedMigrationTest #8262
- Trigger k6 rest testsuite when acceptance test pod is deleted #8253
- Remove version from REST uri fragment if exists #8246
- Resolve alias account in TokenWipe transaction #8243
- Fix v2 Migration Logic #8236
- Add a check so that prng and exchange rate precompiles won't accept value #8206
- Fix hollow account creation fail #8200
Dependency Upgrades
- Bump org.testcontainers:postgresql from 1.19.7 to 1.19.8 #8299
- Bump software.amazon.awssdk:bom from 2.25.45 to 2.25.50 #8298
- Bump org.testcontainers:junit-jupiter from 1.19.7 to 1.19.8 #8297
- Bump sinon from 17.0.1 to 17.0.2 in /hedera-mirror-rest #8296
- Bump
@aws-sdk
/client-s3 from 3.569.0 to 3.574.0 in /hedera-mirror-rest #8295 - Bump securego/gosec from d3b2359ae29fe344f4df5bf3a8c6491fb7c46c02 to 8658b8eab6c8fa98fd180f718b1961718e0dce48 #8294
- Bump github.com/ethereum/go-ethereum from 1.14.0 to 1.14.3 in /hedera-mirror-rosetta #8293
- Bump glob from 10.3.12 to 10.3.15 in /hedera-mirror-rest/check-state-proof #8292
- Bump extensionless from 1.9.6 to 1.9.7 in /hedera-mirror-rest/check-state-proof #8291
- Bump securego/gosec from cf29d543e241f74432305ac938071eac9e36da7f to d3b2359ae29fe344f4df5bf3a8c6491fb7c46c02 #8235
- Bump actions/checkout from 4.1.4 to 4.1.5 #8234
- Bump github.com/cucumber/godog from 0.14.0 to 0.14.1 in /hedera-mirror-rosetta #8232
- Bump github.com/go-playground/validator/v10 from 10.19.0 to 10.20.0 in /hedera-mirror-rosetta #8231
- Bump io.spring.gradle:dependency-management-plugin from 1.1.4 to 1.1.5 #8230
- Bump com.google.cloud:spring-cloud-gcp-dependencies from 5.1.2 to 5.2.0 #8229
- Bump flywayVersion from 10.11.1 to 10.12.0 #8228
- Bump io.hypersistence:hypersistence-utils-hibernate-63 from 3.7.4 to 3.7.5 #8227
- Bump com.google.guava:guava from 33.1.0-jre to 33.2.0-jre #8226
- Bump jooqVersion from 3.19.7 to 3.19.8 #8225
- Bump software.amazon.awssdk:bom from 2.25.40 to 2.25.45 #8224
- Bump
@aws-sdk
/client-s3 from 3.564.0 to 3.569.0 in /hedera-mirror-rest #8223 - Bump eslint-plugin-jest from 28.3.0 to 28.5.0 in /hedera-mirror-rest #8222
- Bump
@testcontainers
/redis from 10.8.2 to 10.9.0 in /hedera-mirror-rest #8221 - Bump versions for v0.105.0-SNAPSHOT #8218
- Bump actions/setup-go from 5.0.0 to 5.0.1 #8216
- Bump securego/gosec from 09d62bd630fbf484860addc88871a0dd755e8b56 to cf29d543e241f74432305ac938071eac9e36da7f #8215
- Bump codecov/codecov-action from 4.3.0 to 4.3.1 #8212
- Bump step-security/harden-runner from 2.7.0 to 2.7.1 #8205
Contributors
We'd like to thank all the contributors who worked on this release!
v0.105.0-rc2
v0.105.0-rc2
v0.105.0-rc1
v0.105.0-rc1
v0.104.0
HIP-857 NFT Allowances API made a lot of progress this release. It's taking a bit longer than a usual API since it is our first Java-based REST API that requires some extra groundwork. This release enables the rest-java Helm chart by default allowing users to test out the NFT allowances API in all environments. While most functionality is present, please be aware that some parts are still under development. A new index was added to the NFT allowance table to speed up look-ups by spender account. The existence check for numeric entity ID was removed to improve its performance and to better support partial mirror nodes. Finally, we added initial acceptance tests to verify the API end to end.
Our Citus deployment is nearing the finish line. Citus is now deployed to previewnet and it now runs both PostgreSQL and Citus deployments in parallel. Internally, we've deployed it to a mainnet staging environment with a full size database for further testing. This deployment was possible due to the dramatic increase in migration time we implemented this release. Mainnet previously took more than a month to migrate but with this release it should complete within a week or so. Expect testnet to be migrated to Citus very soon as well.
This release adds a Redis cache to the REST API to improve the performance of /api/v1/transactions
. This functionality is currently disabled by default as we fine tune it.
Upgrading
If you're using the hedera-mirror
Helm chart, the hedera-mirror-rest-java
sub-chart is now enabled by default. This new micro-service requires a new database user mirror_rest_java
be created in PostgreSQL:
create user mirror_rest_java with login password 'mirror_rest_java_password' in role readonly;
Likewise, if you're not using the hedera-mirror
Helm chart but would like to serve all APIs including HIP-857, ensure you separately run the hedera-mirror-rest-java
image and route requests to /api/v1/accounts/{id}/allowances/nfts
to that API.
Enhancements
- Add index to nft allowance table for spender-centric queries (0.104) #8269
- Add REST Java URL properties to acceptance tests #8209
- Add a Citus deployment to mainnet-staging #8202
- Add a Redis cache to the REST API #8187
- ci: Update release engineering deploy job to include named steps #8184
- NFT allowances acceptance tests #8177
- Modify NftAllowance API to use repository layer filters #8141
- Speed up PostgreSQL to Citus migration #8134
- Remove numeric account entity ID existence check from NFT allowances API #8128
- Add a Citus deploy to previewnet #8126
- Unset restjava enable override in integration flux config #8118
- Enable rest java chart by default #8117
- ci: Apply best practices and standards to remaining workflows #8047
- Remove exception in TxnResourceUsageEstimator - usageGiven #8021
Bug Fixes
- Clear incorrect token metadata / metadata key and fix ingestion logic (0.104) #8289
- Disable Redis in REST API by default (0.104) #8280
- Fix V2 migration logic (0.104) #8252
- Remove version from REST uri fragment if exists (0.104) #8250
- ci: fix permission issues in the release automation workflow #8213
- Fix integration deployment #8204
- Resolve release workflow failure due to missing charset and permissions #8179
- Specify limits for each Stackgres container #8171
- Fix bats version in gcp marketplace release shell script #8167
- Fix rest check state proof failing npm install in ci #8162
- Fix type conversion of
stackgres.postgresVersion
#8130 - Fix chart install issue when applying migration v1.96.0 #8120
- Adapt contract deploy to work for eth call #8100
Dependency Upgrades
- Bump mathjs from 12.4.1 to 12.4.2 in /hedera-mirror-rest #8199
- Bump eslint-plugin-jest from 28.2.0 to 28.3.0 in /hedera-mirror-rest #8198
- Bump
@testcontainers
/postgresql from 10.8.2 to 10.9.0 in /hedera-mirror-rest #8197 - Bump
@aws-sdk
/client-s3 from 3.556.0 to 3.564.0 in /hedera-mirror-rest #8196 - Bump org.gradle:test-retry-gradle-plugin from 1.5.8 to 1.5.9 #8195
- Bump software.amazon.awssdk:bom from 2.25.35 to 2.25.40 #8194
- Bump com.gorylenko.gradle-git-properties:gradle-git-properties from 2.4.1 to 2.4.2 #8193
- Bump github.com/ethereum/go-ethereum from 1.13.15 to 1.14.0 in /hedera-mirror-rosetta #8192
- Bump gorm.io/gorm from 1.25.9 to 1.25.10 in /hedera-mirror-rosetta #8191
- Bump gradle/actions from 3.3.1 to 3.3.2 #8182
- Bump peter-evans/create-pull-request from 6.0.4 to 6.0.5 #8181
- Bump helm/kind-action from 1.9.0 to 1.10.0 #8175
- Bump actions/checkout from 4.1.3 to 4.1.4 #8172
- Bump supertest from 6.3.4 to 7.0.0 #8170
- Bump securego/gosec from 3b23ec8f0902ac0438a16fb2e5032202853e7122 to 09d62bd630fbf484860addc88871a0dd755e8b56 #8161
- Bump actions/upload-artifact from 4.3.2 to 4.3.3 #8160
- Bump
@aws-sdk
/client-s3 from 3.554.0 to 3.556.0 in /hedera-mirror-rest #8155 - Bump actions/checkout from 4.1.2 to 4.1.3 #8154
- Bump github.com/ethereum/go-ethereum from 1.13.14 to 1.13.15 in /hedera-mirror-rosetta #8153
- Bump com.graphql-java:graphql-java-extended-validation from 21.0 to 22.0 #8152
- Bump com.graphql-java:graphql-java-extended-scalars from 21.0 to 22.0 #8151
- Bump org.springframework.boot:spring-boot-gradle-plugin from 3.2.4 to 3.2.5 #8150
- Bump org.bouncycastle:bcprov-jdk18on from 1.78 to 1.78.1 #8149
- Bump org.openapitools:openapi-generator-gradle-plugin from 7.4.0 to 7.5.0 #8148
- Bump flywayVersion from 10.11.0 to 10.11.1 #8147
- Bump gradle.plugin.io.snyk.gradle.plugin:snyk from 0.5.1 to 0.6.1 #8146
- Bump software.amazon.awssdk:bom from 2.25.31 to 2.25.35 #8145
- Bump io.cucumber:cucumber-bom from 7.16.1 to 7.17.0 #8144
- Bump io.hypersistence:hypersistence-utils-hibernate-63 from 3.7.3 to 3.7.4 #8143
- Bump golang.org/x/net from 0.21.0 to 0.23.0 in /hedera-mirror-rosetta in the go_modules group #8138
- Bump gradle/actions from 3.3.0 to 3.3.1 #8133
- Bump actions/upload-artifact from 4.3.1 to 4.3.2 #8132
- Bump peter-evans/create-pull-request from 6.0.3 to 6.0.4 #8122
- Bump azure/setup-helm from 4.1.0 to 4.2.0 #8116
- Bump versions for v0.104.0-SNAPSHOT [#8114](https://github.com/hashgraph/hedera-mirror-node...
v0.104.0-rc5
v0.104.0-rc5
v0.104.0-rc4
v0.104.0-rc4
v0.104.0-rc3
v0.104.0-rc3
v0.104.0-rc2
v0.104.0-rc2
v0.103.0
This release adds support for making metadata information from HIP-646, HIP-657, and HIP-765 available in the REST API. In particular, this adds a base64 encoded metadata
field to the /api/v1/tokens
endpoint. It also adds metadata
and metadata_key
fields to the /api/v1/tokens/{id}
endpoint.
The contract call API saw some noticeable performance improvements with the implementation of lazy loading for nested items. Previously it was eagerly loading all the account information even for simpler calls that didn't need the data. With the switch to make these additional queries lazy, we see an improvement of 50-90% in request throughput. That change plus an improvement in the performance of the NFT count query should result in additional performance and stability of the API.
Work is still underway on HIP-857 NFT allowance REST API. This release adds EVM address and alias support to the new endpoint and fixes the error response format.
Upgrading
This release requires a new PostgreSQL extension for efficient querying of bigint-based GIST indexes. The btree_gist extension is usually bundled with PostgreSQL and approved by most cloud providers . It however does still need to be manually enabled by running the following command before the upgrade:
create extension if not exists btree_gist;
The hedera-mirror-common
chart saw its dependencies updated and with that changes to the Prometheus Operator CRDs. If you're using the common chart, please run the following commands before upgrading to update the CRDs:
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.72.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.72.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.72.0/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.72.0/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.72.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusagents.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.72.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.72.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.72.0/example/prometheus-operator-crd/monitoring.coreos.com_scrapeconfigs.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.72.0/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.72.0/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml
Enhancements
- Lazy load nested items during contract call #7953
- Add an importer duration graph to dashboard #8080
- Optimize cache control per endpoint #8077
- Enable prometheus exporter and disable util stackgres sidecars #8073
- Expose HIPs-646/657/765 token metadata in REST API #8059
- [StepSecurity] Harden GitHub Actions #8033
- Convert acceptances tests from WebClient to RestClient #8030
- Support EVM address and alias lookup in NFT allowance REST API #8026
- Fix balance opcode for 0.0.999 acceptance test #8022
- Add KYC key validations for grant and revoke logics #8013
- Verify support for Kubernetes 1.29 #8012
Bug Fixes
- Fix type conversion of
stackgres.postgresVersion
(0.103) #8131 - Fix chart install issue when applying migration v1.96.0 (0.103) #8121
- Fix equivalence acceptance test regression #8107
- Fix REST Java fallback exception handling #8104
- Handle null and empty token metadata, and adjust REST API spec tests accordingly #8076
- Optimize NftRepository queries in web3 #8070
- Increase max header size #8069
- Suppress NoSuchKey error in REST API #8065
- Fix issue when running RecordFileParserPerformanceTest #8016
- Fix flaky Rest test #8014
Dependency Upgrades
- Bump bouncy castle version to fix synk vulnerability #8110
- Bump github.com/Code-Hex/go-generics-cache from 1.3.1 to 1.5.1 in /hedera-mirror-rosetta #8103
- Bump github.com/coinbase/rosetta-sdk-go from 0.8.4 to 0.8.5 in /hedera-mirror-rosetta #8099
- Bump software.amazon.awssdk:bom from 2.25.26 to 2.25.31 #8096
- Bump com.playtika.testcontainers:embedded-google-pubsub from 3.1.5 to 3.1.6 #8093
- Bump com.github.vertical-blank:sql-formatter from 2.0.4 to 2.0.5 #8092
- Bump io.projectreactor:reactor-core-micrometer from 1.1.4 to 1.1.5 #8091
- Bump commons-io:commons-io from 2.16.0 to 2.16.1 #8090
- Bump qs from 6.12.0 to 6.12.1 in /hedera-mirror-rest #8089
- Bump
@aws-sdk
/client-s3 from 3.550.0 to 3.554.0 in /hedera-mirror-rest #8088 - Bump eslint-plugin-security from 2.1.1 to 3.0.0 in /hedera-mirror-rest #8087
- Bump
@testcontainers
/postgresql from 10.8.1 to 10.8.2 in /hedera-mirror-rest #8086 - Bump peter-evans/create-pull-request from 6.0.2 to 6.0.3 #8084
- Bump stefanzweifel/git-auto-commit-action from 5.0.0 to 5.0.1 #8083
- Bump protobufjs from 7.2.4 to 7.2.6 in /hedera-mirror-rest #8067
- Bump protobufjs from 7.2.4 to 7.2.6 in /hedera-mirror-rest/check-state-proof #8066
- Bump codecov/codecov-action from 4.2.0 to 4.3.0 #8063
- Bump securego/gosec from daf6f670f70b98339d8dfb078ce69d401b30bbe6 to 3b23ec8f0902ac0438a16fb2e5032202853e7122 #8054
- Bump gradle/actions from 3.2.0 to 3.2.1 #8053
- Bump docker/setup-buildx-action from 3.2.0 to 3.3.0 #8052
- Bump eslint-plugin-jest from 27.9.0 to 28.2.0 in /hedera-mirror-rest #8048
- Apply best practices to CI workflows #8046
- Bump pg from 8.11.4 to 8.11.5 in /hedera-mirror-rest #8045
- Bump
@testcontainers
/postgresql from 10.8.0 to 10.8.1 in /hedera-mirror-rest #8044 - Bump software.amazon.awssdk:bom from 2.25.21 to 2.25.26 #8042
- Bump
@aws-sdk
/client-s3 from 3.540.0 to 3.550.0 in /hedera-mirror-rest #8041 - Bump org.bouncycastle:bcprov-jdk15to18 from 1.77 to 1.78 #8040
- Bump commons-io:commons-io from 2.15.1 to 2.16.0 #8039
- Bump io.grpc:grpc-bom from 1.62.2 to 1.63.0 [#8038](htt...