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
- Bump com.hedera.evm:hedera-evm from 0.47.1 to 0.48.0 #8097
- Bump com.hedera.hashgraph:hedera-protobuf-java-api from 0.48.3 to 0.49.0 #8095
- Bump net.devh:grpc-spring-boot-starter from 3.0.0.RELEASE to 3.1.0.RELEASE #8094
- Bump gradle/actions from 3.2.1 to 3.3.0 #8085
Contributors
We'd like to thank all the contributors who worked on this release!