github hiero-ledger/hiero-mirror-node v0.156.0

8 hours ago

This release verifies support for PostgreSQL 17 and 18 and upgrades our managed databases from PostgreSQL 16 to PostgreSQL 18. This also required upgrading Citus from 12.1.5 to 14.0.0 and Stackgres from 1.18.3 to 1.18.6. Testing shows a significant performance gain of 10-20% from the database version bumps. Note that at this time we are not requiring a change to the minimum version of PostgreSQL that we support. We still support PostgreSQL 14 for the foreseeable future, but it is recommended that operators look to upgrade their database to 17 or 18 to stay ahead of any changes.

The /api/v1/contracts/call REST API now supports the ability for client calls to change contract state in memory and persist those changes across calls. This feature is controlled via a new property hiero.mirror.web3.evm.sharedWritableState and is disabled by default. Developers can use this feature to run a Hedera EVM locally to debug their calls. The changes are not stored in the database and will be lost upon application restart.

Breaking Changes

The REST API now returns access list as an object array instead of as a hex encoded string. While a breaking change, this field is empty in all environments since consensus nodes do not yet support them. After the consensus nodes gain Pectra support, they will add support for access lists so we took the opportunity to improve our field to be similar to the JSON-RPC specification. Below is an example of the new format:

"access_list": [
    {
      "address": "0xa02457e5dfd32bda5fc7e1f1b008aa5979568150",
      "storage_keys": [
        "0x0000000000000000000000000000000000000000000000000000000000000081",
      ]
    }
  ]

Enhancements

  • HIP-1427 Relax WRB block root hash validation (0.156) #13666
  • K6 improvment for prometheus metrics #13617
  • Fix env_category missing from PromQL queries #13609
  • Re-enable network dependent auto cutover logic #13589
  • Disable collecting k6 test report in script and workflow #13587
  • Separate streaming and request backends #13586
  • Add monitor rules suppressions #13585
  • Add a notification-policy with the same route the individual clusters use #13576
  • Return access list as object array in REST API response #13571
  • cleaned-up and improved rules.tf #13552
  • refactor: remove Serializable from EntityId and update runtime hints #13551
  • Add 'upgrade started' notifications to previewnet/testnet/mainnet #13544
  • Add the missing 'Database' alert-group #13543
  • Bump hedera-app to 0.74.0 #13539
  • feat: Add Shared Writeable State #13501
  • feat(web3): return actual gas used for contract calls #13458

Bug Fixes

  • Upgrade micrometer to 1.17.0 (0.156) #13686
  • Register nested classes for RecordFileConsensusTimestampsRecalculateMigration (0.156) #13664
  • Fix native image resources (0.156) #13663
  • Fix bad grammar in RecordFileConsensusTimestampsRecalculateMigration #13621
  • Fix helm url used in marketplace release #13614
  • Fix non zero shard and realm tests #13610
  • Fix slow record file timestamp migration #13607
  • Fix rest-java native image #13594
  • Fix native image startup crashes #13580
  • Fix native image builds #13577
  • Fix two noisy Database alert rules #13573
  • Conditionally set token fee schedule key in acceptance test #13569
  • fix: Normalize file path separators in LocalStreamFileProvider and up… #13565
  • Adjust record_file consensus start and end timestamps migration #13521

Dependency Upgrades

  • Bump tmp from 0.2.5 to 0.2.7 in /rest #13615
  • Bump tmp from 0.2.5 to 0.2.6 in /rest #13611
  • Bump the dependencies group in /rest with 2 updates #13605
  • Bump the dependencies group with 7 updates #13604
  • Bump org.gradle:test-retry-gradle-plugin from 1.6.4 to 1.6.5 #13603
  • Bump org.hiero.block-node:protobuf-sources from 0.33.0 to 0.34.0 #13602
  • Bump com.gorylenko.gradle-git-properties:gradle-git-properties from 2.5.7 to 3.0.2 #13601
  • Bump com.github.luben:zstd-jni from 1.5.7-8 to 1.5.7-9 #13600
  • Bump consensusNodeVersion from 0.74.0-rc.4 to 0.75.0-rc.3 #13599
  • Bump org.flywaydb:flyway-database-postgresql from 12.6.1 to 12.6.2 #13598
  • Bump protobufVersion from 4.34.1 to 4.35.0 #13597
  • Bump software.amazon.awssdk:bom from 2.44.7 to 2.44.12 #13596
  • Bump qs from 6.15.0 to 6.15.2 in /rest/monitoring #13591
  • Bump uuid and @testcontainers/postgresql in /rest #13584
  • Bump the dependencies group in /rest with 3 updates #13563
  • Bump the dependencies group with 2 updates #13562
  • Bump org.flywaydb:flyway-database-postgresql from 12.6.0 to 12.6.1 #13561
  • Bump io.fabric8:kubernetes-client-bom from 7.6.1 to 7.7.0 #13560
  • Bump gradle-wrapper from 9.5.0 to 9.5.1 #13559
  • Bump software.amazon.awssdk:bom from 2.44.4 to 2.44.7 #13558
  • Bump jooqVersion from 3.21.3 to 3.21.4 #13557
  • Bump com.diffplug.spotless:spotless-plugin-gradle from 8.4.0 to 8.5.1 #13556
  • Bump com.hedera.hashgraph:sdk from 2.71.0 to 2.72.0 #13555
  • Bump consensusNodeVersion from 0.74.0-rc.3 to 0.74.0-rc.4 #13554
  • Bump org.hiero.block-node:protobuf-sources from 0.32.0 to 0.33.0 #13553
  • Bump versions for v0.156.0-SNAPSHOT #13546
  • Add support for upgrading citus and postgres #13540

Deployments

  • Prepare performance for 156-rc1 #13625
  • Deploy 156-rc1 to mainnet staging #13624
  • Add 'env_category' externalLabel to helmreleases and cutover to grafana-cloud #13581
  • Update remote write to keep volume stat metric #13542

Contributors

Thank you to all the contributors who worked on this release:

@Suvrat1629
@bilyana-gospodinova
@IvanKavaldzhiev
@jnels124
@karthik120710
@martingeorgiev1
@nirbosl
@sdimitrov9
@steven-sheehy
@xin-hedera

Don't miss a new hiero-mirror-node release

NewReleases is sending notifications on new releases.