v0.116.0
HIP-991 Permissionless revenue-generating Topic Ids for Topic Operators design was completed this sprint and relevant tasks created. Once this HIP is scheduled for inclusion in consensus nodes we'll proceed with implementing the design.
HIP-904 Friction-less Airdrops saw the final tasks completed. Some of these tasks were cherry-picked to 0.115 like the NFT support in the REST APIs. In addition, we saw additional airdrop performance tests added to k6 and acceptance test coverage increased.
Work continues on integrating the modularized EVM library into the web3 module. There were eight pull requests focused on adding the necessary key value state implementations to plug into this new library.
Citus saw some some important work including the addition of automated backup. This will remain off by default until some upstream issues are resolved. We also upgraded Stackgres from 1.11 to 1.13 which contains some important fixes. See breaking changes for more details on upgrading.
Breaking Changes
For the hedera-mirror
Helm chart, if you're using Citus via Stackgres it has a minor version upgrade. Please follow the Stackgres upgrade runbook after upgrading the Helm release.
If you're using the hedera-mirror-common
Helm chart, there are some breaking changes to be aware of. Loki, Prometheus Operator, and Traefik all had major version upgrades that require manual steps. Run the below commands to ensure the CRDs are updated appropriately. Also note Loki had a schema change that will require its volume be manually deleted and recreated.
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.76.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.76.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.76.0/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.76.0/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.76.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusagents.yaml
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.76.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.76.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.76.0/example/prometheus-operator-crd/monitoring.coreos.com_scrapeconfigs.yaml
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.76.0/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.76.0/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml
kubectl apply --server-side --force-conflicts -k https://github.com/traefik/traefik-helm-chart/traefik/crds/
helm upgrade common hedera/hedera-mirror-common ...
kubectl delete crds ingressroutes.traefik.containo.us ingressroutetcps.traefik.containo.us ingressrouteudps.traefik.containo.us middlewares.traefik.containo.us middlewaretcps.traefik.containo.us serverstransports.traefik.containo.us tlsoptions.traefik.containo.us tlsstores.traefik.containo.us traefikservices.traefik.containo.us
Enhancements
- Disable Automated Backup Cherry-Pick #9639
- Set delete_request_store for loki (0.116) #9604
- Enable log retention in Loki and fix restjava routing (0.116) #9601
- Add Token readable kv state #9572
- Add FileReadableKVState #9570
- Migrate deprecated jest methods #9564
- Add k6 tests for token airdrops #9548
- Automated Backup For Citus #9541
- Add acceptance tests for NFT airdrop #9540
- Add tools and instructions for REST API traffic replay #9532
- Add node metrics to monitor metrics #9531
- Add acceptance tests for fungible token airdrop #9528
- Implement
AliasesReadableKVState
#9527 - Fix equals() and hashCode() for AccountReadableKVState #9493
- Remove jetbrains annotation dependency #9492
- Add NFTReadableKVState #9484
- Add NFTs to airdrop REST APIs #9483
- Implement
ContractBytecodeReadableKVState
#9452 - Implement
ContractStorageReadableKVState
#9450 - Update jooq repository to improve reusability #9424
- Add implementation for AccountReadableKVState #9414
Bug Fixes
- Comment Out Failing Acceptance Test Steps #9593
- Use Rest Java To Retrieve Airdrop Data #9590
- Fix recursive update exception in
EntityIdServiceImpl
#9578 - Remove recoverable errors for inactive EVM addresses #9542
- Add
CustomCallOperation
#9538 - Suppress INVALID_ALIAS_KEY and INVALID_NODE_ACCOUNT_ID recoverable errors #9534
Documentation
- Add HIP-991 design #9503
Dependency Upgrades
- Bump
@aws-sdk
/client-s3 from 3.668.0 to 3.670.0 in /hedera-mirror-rest #9581 - Bump google.golang.org/protobuf from 1.34.2 to 1.35.1 in /hedera-mirror-rosetta #9580
- Bump software.amazon.awssdk:bom from 2.28.19 to 2.28.21 #9579
- Bump
@aws-sdk
/client-s3 from 3.665.0 to 3.668.0 in /hedera-mirror-rest #9563 - Bump software.amazon.awssdk:bom from 2.28.16 to 2.28.19 #9561
- Bump org.openapitools:openapi-generator-gradle-plugin from 7.8.0 to 7.9.0 #9560
- Bump com.hedera.hashgraph:app from 0.54.1 to 0.54.2 #9559
- Bump actions/cache from 4.1.0 to 4.1.1 #9558
- Bump io.hypersistence:hypersistence-utils-hibernate-63 from 3.8.2 to 3.8.3 #9557
- Bump actions/upload-artifact from 4.4.0 to 4.4.3 #9556
- Bump io.cucumber:cucumber-bom from 7.20.0 to 7.20.1 #9555
- Bump sql-formatter from 15.4.2 to 15.4.3 in /hedera-mirror-rest #9554
- Bump actions/checkout from 4.2.0 to 4.2.1 #9553
- Bump com.hedera.hashgraph:hedera-protobuf-java-api from 0.54.0 to 0.55.0 #9552
- Bump flywayVersion from 10.18.2 to 10.19.0 #9551
- Bump org.apache.velocity:velocity-engine-core from 2.3 to 2.4 #9550
- Bump express from 4.2.0 to 4.2.1 #9537
- Bump mathjs from 13.1.1 to 13.2.0 in /hedera-mirror-rest #9526
- Bump
@testcontainers
/redis from 10.13.1 to 10.13.2 in /hedera-mirror-rest #9525 - Bump
@aws-sdk
/client-s3 from 3.658.1 to 3.665.0 in /hedera-mirror-rest #9524 - Bump eslint-plugin-import from 2.30.0 to 2.31.0 in /hedera-mirror-rest #9523
- Bump
@testcontainers
/postgresql from 10.13.1 to 10.13.2 in /hedera-mirror-rest #9522 - Bump software.amazon.awssdk:bom from 2.28.11 to 2.28.16 #9520
- Bump org.testcontainers:junit-jupiter from 1.20.1 to 1.20.2 #9519
- Bump org.testcontainers:postgresql from 1.20.1 to 1.20.2 #9518
- Bump com.playtika.testcontainers:embedded-google-pubsub from 3.1.8 to 3.1.9 #9517
- Bump com.github.node-gradle:gradle-node-plugin from 7.0.2 to 7.1.0 #9516
- Bump com.hedera.hashgraph:sdk from 2.40.0 to 2.41.0 #9515
- Bump io.cucumber:cucumber-bom from 7.19.0 to 7.20.0 #9514
- Bump com.google.cloud:spring-cloud-gcp-dependencies from 5.6.1 to 5.7.0 #9513
- Bump io.freefair.gradle:lombok-plugin from 8.10 to 8.10.2 #9512
- Bump mathjs from 13.1.1 to 13.2.0 in /hedera-mirror-rest/monitoring #9511
- Bump codecov/codecov-action from 4.5.0 to 4.6.0 #9510
- Bump google-github-actions/auth from 2.1.5 to 2.1.6 #9509
- Bump actions/cache from 4.0.2 to 4.1.0 #9508
- Bump docker/build-push-action from 6.8.0 to 6.9.0 #9507
- Bump docker/setup-buildx-action from 3.6.1 to 3.7.1 #9506
- Bump github.com/ethereum/go-ethereum from 1.14.10 to 1.14.11 in /hedera-mirror-rosetta #9505
- Bump github.com/hashgraph/hedera-sdk-go/v2 from 2.46.0 to 2.47.0 in /hedera-mirror-rosetta #9504
- Bump chart dependencies #9501
- Bump versions for v0.116.0-SNAPSHOT #9488
Deployments
- Prepare preprod For 116-rc2 #9602
- Prepare Preprod For 116 #9595
- Prepare Staging For 116 Release #9594
- Remove testnet-eu v1 deploy #9549
- Prepare Testnet NA For Citus Only #9547
- Remove Performance Deployment #9546
- Deploy v0.115.0 to testnet-eu #9544
- Add Citus to testnet-na #9533
- Remove Previewnet Deployment #9500
- Remove Github Dispatch Resource #9499
- Reduce Worker Memory For Citus and Delete Mainnet Deployment in Mainnet EU #9497
- Reduce Worker Memory For Citus and Delete Mainnet Deployment in Mainnet NA #9496
- Delete mainnet-staging/mainnet deployment #9494
Contributors
Thank you to all the contributors who worked on this release:
@bilyana-gospodinova
@edwin-greene
@IvanKavaldzhiev
@jnels124
@kselveliev
@nickeynikolovv
@steven-sheehy
@xin-hedera