Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release Hermes v1.9.0 #4014

Merged
merged 11 commits into from
Jun 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
- Remove the `telemetry` and `rest-server` feature flags, ensuring Hermes is always built with telemetry and REST support.
Both servers can still be disabled in the configuration file, by setting `telemtry.enabled = false` and `rest.enabled = false`, respectively.
Both servers can still be disabled in the configuration file, by setting `telemetry.enabled = false` and `rest.enabled = false`, respectively.
([\#3878](https://github.com/informalsystems/hermes/pull/3878))
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
- Improve reliabily of event source in `pull` mode by proceeding to next block even if Hermes cannot parse the current block.
- Improve reliability of event source in `pull` mode by proceeding to next block even if Hermes cannot parse the current block.
Add new configuration option to `event_source` setting: `max_retries` defines how many times Hermes should attempt to pull a block over RPC.
```toml
event_source = { mode = 'pull', interval = '1s', max_retries = 4 }
Expand Down
11 changes: 11 additions & 0 deletions .changelog/v1.9.0/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
*May 30th, 2024*

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

**Major Features**:

1. Channel Upgrade Compatibility: Hermes now supports channel upgrade events introduced in ibc-go v8, ensuring smoother transitions and enhanced functionality.

3. Dynamic Gas Fees Compatibility: Hermes is now compatible with Skip's feemarket 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 unsupported ibc-go versions, event extraction, health-check messages, and more.
75 changes: 75 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,80 @@
# CHANGELOG

## v1.9.0

*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](https://www.ibcprotocol.dev/blog/introducing-ibc-channel-upgradability) 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](telemetry)
- Remove the `telemetry` and `rest-server` feature flags, ensuring Hermes is always built with telemetry and REST support.
Both servers can still be disabled in the configuration file, by setting `telemetry.enabled = false` and `rest.enabled = false`, respectively.
([\#3878](https://github.com/informalsystems/hermes/pull/3878))

### FEATURES

- [Relayer Library](relayer)
- Add support for upgrading channels, as per the [ICS 004 specification](https://github.com/cosmos/ibc/blob/main/spec/core/ics-004-channel-and-packet-semantics/UPGRADES.md) ([#3228](https://github.com/informalsystems/hermes/issues/2547))
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](https://ibc.cosmos.network/main/middleware/ics29-fee/overview), 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.
Add new configuration option to `event_source` setting: `max_retries` defines how many times Hermes should attempt to pull a block over RPC.
```toml
event_source = { mode = 'pull', interval = '1s', max_retries = 4 }
```
([\#3894](https://github.com/informalsystems/hermes/issues/3894))

### IMPROVEMENTS

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

### BUG FIXES

- [Relayer Library](relayer)
- Fix creation of channels and connection on chains
using an unsupported version of ibc-go, eg. Sei
([\#3817](https://github.com/informalsystems/hermes/issues/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](https://github.com/informalsystems/hermes/issues/3954))
- [Relayer CLI](relayer-cli)
- Fixed `minimum-gas-prices` health-check messages and make it more verbose and legible
([\#3893](https://github.com/informalsystems/hermes/issues/3893))
- Set `compat_mode` for pull mode in `hermes listen` command
([\#3910](https://github.com/informalsystems/hermes/issues/3910))
- Fixed the trusted height consensus state query when submitting the double vote evidence
([\#3999](https://github.com/informalsystems/hermes/issues/3999))

## v1.8.3

*May 28th, 2024*
Expand Down
Loading
Loading