Skip to content

Commit

Permalink
Release Hermes v1.0.0 (#2577)
Browse files Browse the repository at this point in the history
* Bump relayer-cli crate to v1.0.0 and update guide

* Bump crates to 0.19.0, and protos to 0.20.1

* Update lockfiles

* Release changelog

* Update UPGRADING instructions

* Update lockfile

* Link to upgrading doc for gas_multiplier change

* Apply suggestions fro review

Thanks @seanchen1991 and @adizere!

Co-authored-by: Sean Chen <seanchen11235@gmail.com>
Co-authored-by: Adi Seredinschi <adi@informal.systems>

Co-authored-by: Sean Chen <seanchen11235@gmail.com>
Co-authored-by: Adi Seredinschi <adi@informal.systems>
  • Loading branch information
3 people authored Aug 22, 2022
1 parent 2be4012 commit 949144e
Show file tree
Hide file tree
Showing 29 changed files with 449 additions and 168 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Remove `height` attribute from `IbcEvent` and its variants
([#2542](https://github.com/informalsystems/ibc-rs/issues/2542))
52 changes: 52 additions & 0 deletions .changelog/v1.0.0/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
*August 22nd, 2022*

After more than 2 years in the works, this is the first stable release of the Hermes relayer! 🎉

### Note for operators

> ⚠️ If upgrading from Hermes v0.15.0, be aware that this release contains multiple breaking
> ⚠️ changes to the Hermes command-line interface and configuration.
> ⚠️ Please consult the [UPGRADING document for instructions](UPGRADING.md) ) for a more detadetails.
### Highlights

- The performance and reliability of the relayer has been greatly improved
- Merged commands `keys add` and `keys restore` into single command `keys add`
The flag to specify the key name for the CLI command `keys add` has been changed
from `-n` to `-k`. Restoring a key now takes a file containing the mnemonic as
input instead of directly taking the mnemonic
- Deprecated `gas_adjustment` setting in favor of new `gas_multiplier` setting
- Updated all CLI commands to take flags instead of positional arguments
- Renamed `query packet unreceived-packets` to `query packet pending-sends`
and `query packet unreceived-acks` to `query packet pending-acks`
- Added CLI command `keys balance` which outputs the balance of an account associated with a key
- Added CLI command `query channel client` which outputs the channel's client state
- Added CLI command `query transfer denom-trace` which outputs the base denomination and path of a given trace hash
- Dropped the `raw` prefix from all the `tx raw` commands
- Remove the four duplicate commands:
* `tx raw update-client`, which is the same as `update client`
* `tx raw upgrade-client`, which is the same as `upgrade client`
* `tx raw upgrade-clients`, which is the same as `upgrade clients`
* `tx raw create-client`, which is the same as `create client`
- [A new section was added to the guide][telemetry-guide] which describes how the new metrics
can be used to observe both the current state of the relayer and the networks it is connected to
- Added many new metrics to the telemetry API. The full list can be found in new the guide section linked above

### Change to the versioning scheme

As of v1.0.0-rc.0, the Hermes CLI is now versioned separately from
the other crates in the project. As such, the top-level version
designates the version of the Hermes CLI, but the other crates in
the repository do not necessarily match this version. For example,
the `ibc` and `ibc-relayer` crates are released under version 0.19.0
for Hermes v1.0.0.

The structure of this changelog has therefore changed as well.
Changes are now grouped first by crate and then by the type of change,
eg. feature, bug fix, etc.

### Full release notes

The release notes below only contain the changes introduced since v1.0.0-rc.2.
For the full list of changes since v0.15.0, please consult the sections below for
v1.0.0-rc.2, v1.0.0-rc.1 and v1.0.0-rc.0.
166 changes: 159 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,157 @@
# CHANGELOG

## v1.0.0
*August 22nd, 2022*

After more than 2 years in the works, this is the first stable release of the Hermes relayer! 🎉

For reaching this milestone, we thank the valuable contributions of over 50 individuals, spread across more than 800 documented & resolved issues. Beside Cosmos-SDK and Tendermint, we are fortunate to maintain some of the most active and intense repository in the Cosmos ecosystem. Most importantly, we thank the relentless work of relayer operators that have already relayed billions worth of value in IBC production networks, and have provided us with invaluable feedback on improving Hermes and raising the overall stability of IBC. Kudos to everyone!

### Note for operators

> ⚠️ If upgrading from Hermes v0.15.0, be aware that this release contains multiple breaking
> ⚠️ changes to the Hermes command-line interface and configuration.
> ⚠️ Please consult the [UPGRADING document for instructions](UPGRADING.md) ) for a more detadetails.
### Highlights

- The performance and reliability of the relayer has been greatly improved
- Merged commands `keys add` and `keys restore` into single command `keys add`
The flag to specify the key name for the CLI command `keys add` has been changed
from `-n` to `-k`. Restoring a key now takes a file containing the mnemonic as
input instead of directly taking the mnemonic
- Deprecated `gas_adjustment` setting in favor of new `gas_multiplier` setting.
Check out the [upgrading instructions][gas-mul] for more details about the new setting.
- Updated all CLI commands to take flags instead of positional arguments
- Renamed `query packet unreceived-packets` to `query packet pending-sends`
and `query packet unreceived-acks` to `query packet pending-acks`
- Added CLI command `keys balance` which outputs the balance of an account associated with a key
- Added CLI command `query channel client` which outputs the channel's client state
- Added CLI command `query transfer denom-trace` which outputs the base denomination and path of a given trace hash
- Dropped the `raw` prefix from all the `tx raw` commands
- Remove the four duplicate commands:
* `tx raw update-client`, which is the same as `update client`
* `tx raw upgrade-client`, which is the same as `upgrade client`
* `tx raw upgrade-clients`, which is the same as `upgrade clients`
* `tx raw create-client`, which is the same as `create client`
- [A new section was added to guide][telemetry-guide] which describes how the new metrics
can be used to observe both the current state of the relayer and the networks it is connected to
- Added many new metrics to the telemetry. The full list can be found in new the guide section linked above

[gas-mul]: https://github.com/informalsystems/ibc-rs/blob/v1.0.0/UPGRADING.md#the-gas_adjustment-setting-has-been-deprecated-in-favor-of-gas_multiplier

### Change to the versioning scheme

As of v1.0.0-rc.0, the Hermes CLI is now versioned separately from
the other crates in the project. As such, the top-level version
designates the version of the Hermes CLI, but the other crates in
the repository do not necessarily match this version. For example,
the `ibc` and `ibc-relayer` crates are released under version 0.19.0
for Hermes v1.0.0.

The structure of this changelog has therefore changed as well,
changes are now grouped first by crate and then by the type of change,
eg. feature, bug fix, etc.

### Full release notes

The release notes below only contain the changes introduced since v1.0.0-rc.2.
For the full list of changes since v0.15.0, please consult the sections below for
v1.0.0-rc.2, v1.0.0-rc.1 and v1.0.0-rc.0.

### General

- Bumped crates to the following versions:
- `ibc-relayer-cli`: 1.0.0
- `ibc-proto`: 0.20.1
- `ibc`: 0.19.0
- `ibc-relayer`: 0.19.0
- `ibc-telemetry`: 0.19.0
- `ibc-relayer-rest`: 0.19.0

### Hermes - [`ibc-relayer-cli`](relayer-cli) (v1.0.0)

- Release version 1.0.0 of Hermes (`ibc-relayer-cli`)

### IBC Proto - [`ibc-proto`](proto) (v0.20.0)

- Release version 0.20.1 of `ibc-proto`

### IBC Modules - [`ibc`](modules) (v0.19.0)

- Release version 0.19.0 of `ibc`

#### BREAKING CHANGES

- Remove `height` attribute from `IbcEvent` and its variants
([#2542](https://github.com/informalsystems/ibc-rs/issues/2542))

#### BUG FIXES

- Fix `MsgTimeoutOnClose` to verify the channel proof
([#2534](https://github.com/informalsystems/ibc-rs/issues/2534))


### Relayer Library - [`ibc-relayer`](relayer) (v0.19.0)

- Release version 0.19.0 of `ibc-relayer`

#### FEATURES

- Introduces discovery phase to initialize Prometheus metrics
([#2479](https://github.com/informalsystems/ibc-rs/issues/2479))

#### IMPROVEMENTS

- Refactor the `ChainEndpoint` trait to expose the light client
functionality directly. Instead of exposing a getter for the
`LightClient` trait, the `ChainEndpoint` trait now defines the
two methods `verify_header` and `check_misbehaviour` directly.
([#2548](https://github.com/informalsystems/ibc-rs/issues/2548))


### Telemetry & Metrics - [`ibc-telemetry`](telemetry) (v0.19.0)

- Release version 0.18.0 of `ibc-telemetry`

#### BREAKING CHANGES

- Multiple fixes related to telemetry, detailed below ([#2479](https://github.com/informalsystems/ibc-rs/issues/2479))
- Renamed the following metrics:
* `ibc_client_updates` to `client_updates_submitted`
* `ibc_client_misbehaviours ` to `client_misbehaviours_submitted`
* `ibc_receive_packets` to `receive_packets_confirmed`
* `ibc_acknowledgment_packets ` to `acknowledgment_packets_confirmed`
* `ibc_timeout_packets ` to `timeout_packets_confirmed`
* `cache_hits` to `queries_cache_hits`
* `msg_num` to `total_messages_submitted`
* `send_packet_count` to `send_packet_events`
* `acknowledgement_count` to `acknowledgement_events`
* `cleared_send_packet_count` to `cleared_send_packet_events`
* `cleared_acknowledgment_count` to `cleared_acknowledgment_events`
- Added the following metric:
* `timeout_events`
- Fixed the following metrics:
* `client_updates_submitted`: Now correctly count all ClientUpdate messages
* `total_messages_submitted`: Now count only submitted messages
- Changed telemetry `enabled` to `false` in the default config.toml, to match the default value for this parameter
- Changed `misbehaviour` to `false` in the default config.toml, to match the default value for this parameter

### REST API - [`ibc-relayer-rest`](relayer-rest) (v0.19.0)

- Release version 0.19.0 of `ibc-relayer-rest`

### [Guide](guide)

#### General

- Document all metrics and [add a section][telemetry-guide] describing how Hermes metrics can be used to observe
both the current state of the Hermes relayer and the networks it is connected to
([#2479](https://github.com/informalsystems/ibc-rs/issues/2479))

[telemetry-guide]: https://hermes.informal.systems/telemetry/operators.html


## v1.0.0-rc.2

*August 8th, 2022*
Expand Down Expand Up @@ -168,16 +320,16 @@ This is the second release candidate for Hermes v1.0.0 🎉
#### BUG FIXES

- Fix serialization for ICS20 packet data structures
([#2386](https://github.com/informalsystems/ibc-rs/issues/2386)).
([#2386](https://github.com/informalsystems/ibc-rs/issues/2386))
- Properly process `WriteAcknowledgement`s on packet callback
([#2424](https://github.com/informalsystems/ibc-rs/issues/2424)).
([#2424](https://github.com/informalsystems/ibc-rs/issues/2424))
- Fix `write_acknowledgement` handler which incorrectly used packet's `source_{port, channel}` as key for storing acks
([#2428](https://github.com/informalsystems/ibc-rs/issues/2428))

#### IMPROVEMENTS

- Propose ADR011 for light client extraction.
([#2356](https://github.com/informalsystems/ibc-rs/pull/2356)).
- Propose ADR011 for light client extraction
([#2356](https://github.com/informalsystems/ibc-rs/pull/2356))


### Relayer Library - [`ibc-relayer`](relayer) (v0.17.0)
Expand Down Expand Up @@ -258,11 +410,11 @@ eg. feature, bug fix, etc.
#### FEATURES

- Added CLI command `keys balance` which outputs the balance of an account associated with a
key. ([#912](https://github.com/informalsystems/ibc-rs/issues/912))
- Added CLI command `query channel client` which outputs the channel's client state.
key ([#912](https://github.com/informalsystems/ibc-rs/issues/912))
- Added CLI command `query channel client` which outputs the channel's client state
([#999](https://github.com/informalsystems/ibc-rs/issues/999))
- Added CLI command `query transfer denom-trace` which outputs the base denomination and path of a given
trace hash. ([#2201](https://github.com/informalsystems/ibc-rs/issues/2201))
trace hash ([#2201](https://github.com/informalsystems/ibc-rs/issues/2201))
- Add unit tests for all Hermes commands with at least one argument
([#2358](https://github.com/informalsystems/ibc-rs/issues/2358))

Expand Down
Loading

0 comments on commit 949144e

Please sign in to comment.