Skip to content

Commit

Permalink
Release Hermes v1.0.0-RC1 (#2465)
Browse files Browse the repository at this point in the history
* Bump Hermes to v1.0.0-rc.1

* Bump crates to 0.17.0 and ibc-proto to 0.19.1

* Add changelog entry for #2444

* Release changelog for Hermes v1.0.0-rc.1

* Update changelog

* Update upgrading instructions

* Move a changelog entry to the proper section

* Update changelog after rebase

* Highlight breaking change in Hermes config
  • Loading branch information
romac committed Jul 27, 2022
1 parent 5c96db7 commit 54ae389
Show file tree
Hide file tree
Showing 44 changed files with 232 additions and 53 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- Fix a bug where the relayer would fail to relay any packets when the
`/acbi_info` endpoint of a chain did not include `data` and `version` fields
([#2444](https://github.com/informalsystems/ibc-rs/issues/2444))
7 changes: 7 additions & 0 deletions .changelog/v1.0.0-rc.1/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
This is the second release candidate for Hermes v1.0.0 🎉

### Note for operators

> ⚠️ This release contains multiple breaking changes to the Hermes command-line interface and configuration.
> ⚠️ Please consult the [UPGRADING document for instructions](UPGRADING.md) to update to Hermes v1.0.0-rc.1.
119 changes: 119 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,124 @@
# CHANGELOG

## v1.0.0-rc.1

This is the second release candidate for Hermes v1.0.0 🎉

### Note for operators

> ⚠️ This release contains multiple breaking changes to the Hermes command-line interface and configuration.
> ⚠️ Please consult the [UPGRADING document for instructions](UPGRADING.md) to update to Hermes v1.0.0-rc.1.
### General

- Bump `ibc-proto` crate to 0.19.1
- Bump `ibc`, `ibc-relayer`, `ibc-telemetry`, `ibc-relayer-rest` crates to v0.17.0
- Bump tendermint-rs dependencies to 0.23.8
([#2455](https://github.com/informalsystems/ibc-rs/issues/2455))

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

#### BREAKING CHANGES

- Drop the `raw` prefix from all the `tx raw` commands
([#2315](https://github.com/informalsystems/ibc-rs/issues/2315)
- 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`
* ([#2315](https://github.com/informalsystems/ibc-rs/issues/2376))
- Rename `--a-` and `--b-` prefixes in `hermes tx` subcommands to `--src-` and `--dst-`
([#2410](https://github.com/informalsystems/ibc-rs/issues/2410))
- Rename flags of `tx upgrade-chain` command from `--src`/`--dst` to `--reference`/`--host`
([#2376](https://github.com/informalsystems/ibc-rs/issues/2376))
- The default value of the configuration `tx_confirmation`
in Hermes `config.toml` has been changed from `true` to `false`.
([#2408](https://github.com/informalsystems/ibc-rs/issues/2408))

#### BUG FIXES

- Fixed filtering counterparty chain in Hermes command `query channels`
([#1132](https://github.com/informalsystems/ibc-rs/issues/1132))
- Fixed command `tx raw ft-transfer` to correctly use the address given by the `--receiver` flag
([#2405](https://github.com/informalsystems/ibc-rs/issues/2405))

#### FEATURES

- Add an optional `--show-counterparty` flag to `hermes query channels` which outputs every channel
along with its corresponding port, and the counterparty chain's id, in a pretty way
([#2429](https://github.com/informalsystems/ibc-rs/issues/2429))
- New optional flags `--counterparty-chain` and `--verbose` for the command `query connections`
([#2310](https://github.com/informalsystems/ibc-rs/issues/2310))
- Added new optional flag `--host-chain` to filter which clients are upgraded when running `upgrade clients` command
([#2311](https://github.com/informalsystems/ibc-rs/issues/2311))

#### IMPROVEMENTS

- Hermes command `keys add` now checks for existing key and overwrites only if the flag `--overwrite` is passed
([#2375](https://github.com/informalsystems/ibc-rs/issues/2375))
- Rename `--a-` and `--b-` prefixes in `hermes tx` subcommands to `--src-` and `--dst-`
([#2410](https://github.com/informalsystems/ibc-rs/issues/2410))
- Increase default value for `gas_multiplier` setting to 1.1
([#2435](https://github.com/informalsystems/ibc-rs/issues/2435))
- Output status is now colored in green for success and red for error
([#2431](https://github.com/informalsystems/ibc-rs/issues/2431))


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

#### IMPROVEMENTS

- Update Protobuf definitions for IBC-Go to v4.0.0-rc0 and Cosmos SDK to v0.45.6
([#2403](https://github.com/informalsystems/ibc-rs/issues/2403))


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

#### BREAKING CHANGES

- Remove provided `Ics20Reader::get_channel_escrow_address()` implementation and make `cosmos_adr028_escrow_address()` public.
([#2387](https://github.com/informalsystems/ibc-rs/issues/2387))

#### BUG FIXES

- Fix serialization for ICS20 packet data structures
([#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)).
- 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)).


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

#### BUG FIXES

- Fix a regression where Hermes would not retry relaying packet on account
mismatch error when the sequence number used was smaller than the expected one
([#2411](https://github.com/informalsystems/ibc-rs/issues/2411))
- Fix a bug where the relayer would fail to relay any packets when the
`/acbi_info` endpoint of a chain did not include `data` and `version` fields
([#2444](https://github.com/informalsystems/ibc-rs/issues/2444))


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

#### IMPROVEMENTS

- Updated telemetry metric `wallet_balance` to f64 and removed downscaling
displayed value. Please note that when converting the balance to f64 a loss in
precision might be introduced in the displayed value
([#2381](https://github.com/informalsystems/ibc-rs/issues/2381))
- Improved naming and description of some telemetry metrics and added
histogram buckets for `tx_latency` metrics
([#2408](https://github.com/informalsystems/ibc-rs/issues/2408))

## v1.0.0-rc.0

*July 7th, 2022*
Expand Down
16 changes: 8 additions & 8 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

56 changes: 53 additions & 3 deletions UPGRADING.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,55 @@
# Upgrading Hermes to a newer version

## v1.0.0-rc.1

> These instructions assume that you are running Hermes v1.0.0-rc.0.
> If you are running an older version, please refer the corresponding
> in reverse chronological order to update to v1.0.0-rc.0 first and then
> follow these instructions.

### Default value of `tx_confirmation` setting has changed

The default value of the configuration `tx_confirmation`
in Hermes `config.toml` has been changed from `true` to `false`.

If you previously did not specify a value for this setting, you will
have to set `tx_confirmation = true` in `config.toml` under
the `[mode.packets]` section.

### All `tx raw` subcommands were moved to the `tx` namespace

The `raw` prefix was removed from all the commands listed below,
they are now available directly under the `tx` namespace:

- `hermes tx chan-close-confirm`
- `hermes tx chan-close-init`
- `hermes tx chan-open-ack`
- `hermes tx chan-open-confirm`
- `hermes tx chan-open-init`
- `hermes tx chan-open-try`
- `hermes tx conn-ack`
- `hermes tx conn-confirm`
- `hermes tx conn-init`
- `hermes tx conn-try`
- `hermes tx create-client`
- `hermes tx ft-transfer`
- `hermes tx packet-ack`
- `hermes tx packet-recv`
- `hermes tx update-client`
- `hermes tx upgrade-chain`
- `hermes tx upgrade-client`
- `hermes tx upgrade-clients`

### Rename `--a-` and `--b-` prefixes in `hermes tx` subcommands to `--src-` and `--dst-`

All commands under the `tx` namespace, with the exception of `tx upgrade-chain`, now use
`--src-` and `--dst` prefix for flags names instead of `--a-` and `--b-`.

The `tx upgrade-chain` command now uses `--reference-` and `--host-` prefixes.

Please check the commands help or [ADR 010](adr-010) for the full updated list of commands.

## v1.0.0-rc.0

> These instructions assume that you are running Hermes v0.15.0.
Expand All @@ -26,9 +76,7 @@ positional arguments:
$ hermes create client --host-chain ibc-0 --reference-chain ibc-1
```

Please [consult the ADR][flags-adr] which describes the new CLI flags for all commands.

[flags-adr]: https://github.com/informalsystems/ibc-rs/blob/v1.0.0-rc.0/docs/architecture/adr-010-unified-cli-arguments-hermes.md
Please [consult the ADR][adr-010] which describes the new CLI flags for all commands.

### The `keys restore` command has been merged into `keys add`

Expand Down Expand Up @@ -94,3 +142,5 @@ Please [refer to the guide][create-channel] for more information.

Please refer to the [CHANGELOG](CHANGELOG.md) for older versions.

[adr-010]: https://github.com/informalsystems/ibc-rs/blob/v1.0.0-rc.1/docs/architecture/adr-010-unified-cli-arguments-hermes.md

2 changes: 1 addition & 1 deletion guide/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ mdBook is a utility to create modern online books from Markdown files.
This guide should be permanently deployed at its latest stable version at
[hermes.informal.systems](https://hermes.informal.systems).

Current version: `v1.0.0-rc.0`.
Current version: `v1.0.0-rc.1`.

The version of this guide is aligned with the [versioning of the ibc crates](../README.md).

Expand Down
2 changes: 1 addition & 1 deletion guide/src/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Summary

# Hermes (v1.0.0-rc.0)
# Hermes (v1.0.0-rc.1)

---
- [Introduction](./index.md)
Expand Down
2 changes: 1 addition & 1 deletion guide/src/commands/global.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Hermes accepts _global_ options which affect all commands.

```shell
hermes v1.0.0-rc.0
hermes v1.0.0-rc.1
Informal Systems <hello@informal.systems>
Implementation of `hermes`, an IBC Relayer developed in Rust.

Expand Down
4 changes: 2 additions & 2 deletions guide/src/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ hermes [--config CONFIG_FILE] COMMAND
The configuration file must have one `global` section, and one `chains` section for each chain.

> **Note:** As of 0.6.0, the Hermes configuration file is self-documented.
> Please read the configuration file [`config.toml`](https://github.com/informalsystems/ibc-rs/blob/v1.0.0-rc.0/config.toml)
> Please read the configuration file [`config.toml`](https://github.com/informalsystems/ibc-rs/blob/v1.0.0-rc.1/config.toml)
> itself for the most up-to-date documentation of parameters.
By default, Hermes will relay on all channels available between all the configured chains.
Expand All @@ -36,7 +36,7 @@ For example, if there are only two chains configured, then Hermes will only rela
i.e. the two chains will serve as a source for each other, and likewise as a destination for each other's relevant events.
Hermes will ignore all events that pertain to chains which are unknown (ie. not present in config.toml).

To restrict relaying on specific channels, or uni-directionally, you can use [packet filtering policies](https://github.com/informalsystems/ibc-rs/blob/v1.0.0-rc.0/config.toml#L209-L231).
To restrict relaying on specific channels, or uni-directionally, you can use [packet filtering policies](https://github.com/informalsystems/ibc-rs/blob/v1.0.0-rc.1/config.toml#L209-L231).

## Adding private keys

Expand Down
2 changes: 1 addition & 1 deletion guide/src/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Hermes Guide (v1.0.0-rc.0)
# Hermes Guide (v1.0.0-rc.1)


Hermes is a an open-source Rust implementation of a relayer for the
Expand Down
16 changes: 8 additions & 8 deletions guide/src/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ There are two main approaches for obtaining Hermes:

Simply head to the GitHub [Releases][releases] page and download the latest
version of Hermes binary matching your platform:
- MacOS: `hermes-v1.0.0-rc.0-x86_64-apple-darwin.tar.gz` (or .zip),
- Linux: `hermes-v1.0.0-rc.0-x86_64-unknown-linux-gnu.tar.gz` (or .zip).
- MacOS: `hermes-v1.0.0-rc.1-x86_64-apple-darwin.tar.gz` (or .zip),
- Linux: `hermes-v1.0.0-rc.1-x86_64-unknown-linux-gnu.tar.gz` (or .zip).

The step-by-step instruction below should carry you through the whole process:

Expand Down Expand Up @@ -47,7 +47,7 @@ hermes version
```
```
hermes v1.0.0-rc.0
hermes v1.0.0-rc.1
```
## Install via Cargo
Expand All @@ -59,7 +59,7 @@ Hermes is packaged in the `ibc-relayer-cli` Rust crate.
To install the latest release of Hermes, run the following command in a terminal:
```shell
cargo install ibc-relayer-cli@1.0.0-rc.0 --bin hermes --locked
cargo install ibc-relayer-cli@1.0.0-rc.1 --bin hermes --locked
```
This will download and build the crate `ibc-relayer-cli`, and install the
Expand All @@ -81,7 +81,7 @@ hermes version
```
```
hermes v1.0.0-rc.0
hermes v1.0.0-rc.1
```
## Build from source
Expand All @@ -103,10 +103,10 @@ cd ibc-rs
Go to the [ibc-rs releases](https://github.com/informalsystems/ibc-rs/releases) page to see what is the most recent release.
Then checkout the release, for example if the most recent release is `v1.0.0-rc.0` then execute the command:
Then checkout the release, for example if the most recent release is `v1.0.0-rc.1` then execute the command:
```shell
git checkout v1.0.0-rc.0
git checkout v1.0.0-rc.1
```
### Building with `cargo build`
Expand Down Expand Up @@ -151,7 +151,7 @@ If you run the `hermes` without any additional parameters you should see the usa
```
```
hermes v1.0.0-rc.0
hermes v1.0.0-rc.1
Informal Systems <hello@informal.systems>
USAGE:
Expand Down
Loading

0 comments on commit 54ae389

Please sign in to comment.