Skip to content

v1.9.0

Compare
Choose a tag to compare
@github-actions github-actions released this 03 Jun 13:21
· 121 commits to master since this release
v1.9.0
a026d66

May 30th, 2024

This v1.9.0 release introduces new features and improvements to Hermes.

Major Features:

  1. Channel Upgrades: Hermes now handles channel upgrade events introduced in ibc-go v8, helping chains opting-in to new functionality on existing channels.
  2. Dynamic Gas Fees Compatibility: Hermes is now compatible with Skip's x/feemarket module for dynamic gas fees, in addition to Osmosis' implementation, providing more flexibility in gas fee management.

Additionally, this release includes various bug fixes enhancing the stability and performance of Hermes. These fixes address issues with channel and connection creation on older ibc-go versions, event extraction, health-check messages, and more.

BREAKING CHANGES

  • Telemetry & Metrics
    • Remove the telemetry and rest-server feature flags, ensuring Hermes is always built with telemetry and REST support. (#3878)
      Both servers can still be disabled in the configuration file, by setting telemetry.enabled = false and rest.enabled = false, respectively.

FEATURES

  • Relayer Library
    • Add support for upgrading channels, as per the ICS 004 specification (#3228)
      This feature allows chains to upgrade an existing channel to take advantage of new features without having to create a new channel, thus preserving all existing packet state processed on the channel. For example, a channel could now be upgraded to enable the ICS 029 fee middleware, allowing relayer operators on that channel to receive fees each time they relay an incentivized packet.
    • Improve reliability of event source in pull mode by proceeding to next block even if Hermes cannot parse the current block (#3894)
      Add new configuration option to event_source setting: max_retries defines how many times Hermes should attempt to pull a block over RPC.
      event_source = { mode = 'pull', interval = '1s', max_retries = 4 }

IMPROVEMENTS

  • Integration Test Framework
    • Update the version of Juno running the integration tests in the CI from v17.1.1 to v21.0.0 (#3959)
    • Update the version of Migaloo Chain running the integration tests in the CI from v3.0.2 to v4.1.3 (#3960)
    • Update the version of wasmd running the integration tests in the CI from v0.30.0 to v0.50.0 (#3961)
    • Update the version of ibc-go simapp running the integration tests in the CI from v8.2.0 to v8.3.1 (#4009)
  • Relayer Library
    • Update to tendermint-rs v0.36.0 (#3966)
    • Use packet_ack_hex event attribute instead of deprecated packet_ack attribute to decode WriteAck event (#3921)
    • Add support for dynamic gas fee for chains using Skip's x/feemarket module, while keeping compatibility with Osmosis' bespoke implementation (#4000)
  • Relayer CLI
    • Use RPC (pull) event source instead of WebSocket (push) when generating configuration with hermes config auto (#3913)

BUG FIXES

  • Relayer Library
    • Fix creation of channels and connection on chains using an unsupported version of ibc-go, eg. Sei (#3817)
    • Fix a bug where Hermes would only ever extract the first emitted ICS 031 CrossChain Query event, which would cause it to miss the other CCQ events. (#3954)
  • Relayer CLI
    • Fixed minimum-gas-prices health-check messages and make it more verbose and legible (#3893)
    • Set compat_mode for pull mode in hermes listen command (#3910)
    • Fixed the trusted height consensus state query when submitting the double vote evidence (#3999)