Skip to content

Commit

Permalink
Release ibc-rs v0.14.0 (informalsystems#2141)
Browse files Browse the repository at this point in the history
* Bump crates to v0.14.0 and `ibc-proto` to v0.17.1

* Update usage of `create|update client` in the guide

* Release changelog

* Add doc for `query packet pending`

* Update changelog
  • Loading branch information
romac authored Apr 27, 2022
1 parent 6835d3c commit fc7afc2
Show file tree
Hide file tree
Showing 40 changed files with 246 additions and 92 deletions.
2 changes: 1 addition & 1 deletion .changelog/v0.13.0/summary.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
*March 28th, 2021*
*March 28th, 2022*

Hermes v0.13.0 improves performance by lowering the pressure
on the full nodes by adding a caching layer for some queries.
Expand Down
17 changes: 17 additions & 0 deletions .changelog/v0.14.0/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
This release notably features a new [`query packet pending`][pending] command to
list outstanding packet commitments that are either unreceived or pending
acknowledgement at both ends of a channel.

The `ibc` crate now also come with a complete [ICS 026][ics-26] implementation.

### Note for operators

There is a new `query packet pending` command, see above for more information.

The `create channel` command now requires an existing client and connection,
unless the `--new-client-connection` flag is provided.
Please [refer to the guide][create-channel] for more information.

[ics-26]: https://github.com/cosmos/ibc/blob/master/spec/core/ics-026-routing-module/README.md
[pending]: https://hermes.informal.systems/commands/queries/packet.html#pending-packets
[create-channel]: http://hermes.informal.systems/commands/path-setup/channels.html#establish-channel
76 changes: 76 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,81 @@
# CHANGELOG

## v0.14.0

*April 27th, 2022*

This release notably features a new [`query packet pending`][pending] command to
list outstanding packet commitments that are either unreceived or pending
acknowledgement at both ends of a channel.

The `ibc` crate now also come with a complete [ICS 026][ics-26] implementation.

### Note for operators

There is a new `query packet pending` command, see above for more information.

The `create channel` command now requires an existing client and connection,
unless the `--new-client-connection` flag is provided.
Please [refer to the guide][create-channel] for more information.

[ics-26]: https://github.com/cosmos/ibc/blob/master/spec/core/ics-026-routing-module/README.md
[pending]: https://hermes.informal.systems/commands/queries/packet.html#pending-packets
[create-channel]: http://hermes.informal.systems/commands/path-setup/channels.html#establish-channel

### BREAKING CHANGES

- `create channel` now requires a `--new-client-connection` flag to create a new client and connection for the channel
([#1421](https://github.com/informalsystems/ibc-rs/issues/1421))
- Update MSRV to Rust 1.60
([#2081](https://github.com/informalsystems/ibc-rs/issues/2081))

### BUG FIXES

- [IBC Modules](modules)
- Make all handlers emit an IbcEvent with current host chain height as height parameter value.
([#2035](https://github.com/informalsystems/ibc-rs/issues/2035))
- Use the version in the message when handling a MsgConnOpenInit
([#2062](https://github.com/informalsystems/ibc-rs/issues/2062))
- [Relayer Library](relayer)
- Fix the connection delay logic to use the timestamp of the host block when the client update header was installed.
([#1772](https://github.com/informalsystems/ibc-rs/issues/1772))
- Fixed Hermes retrying mechanism not regenerating operational data for messages ([#1792](https://github.com/informalsystems/ibc-rs/pull/1951))
- Adjusted max_block_time default value to 30s
([#1998](https://github.com/informalsystems/ibc-rs/issues/1998))
- Fix a bug in the wildcard filter where pattern would match in the middle of a
string ([#2075](https://github.com/informalsystems/ibc-rs/issues/2075))
- Fixed target height used in misbehavior detection.
([#2097](https://github.com/informalsystems/ibc-rs/issues/2097))
- [Relayer CLI](relayer-cli)
- Skip waiting for confirmation events on tx raw upgrade-chain
([#1288](https://github.com/informalsystems/ibc-rs/issues/1288))
- Apply client options specified with the `create client` command.
([#1921](https://github.com/informalsystems/ibc-rs/issues/1921))

### FEATURES

- [Relayer Library](relayer)
- Add a metric for query cache hits
([#2036](https://github.com/informalsystems/ibc-rs/issues/2036))

### IMPROVEMENTS

- General
- Log `missing chain in configuration` errors emitted during event processing at
debug level ([#1936](https://github.com/informalsystems/ibc-rs/issues/1936))
- Update tendermint-rs dependencies to v0.23.6
([#2045](https://github.com/informalsystems/ibc-rs/issues/2045))
- [IBC Modules](modules)
- Complete ICS26 implementation ([#1758](https://github.com/informalsystems/ibc-rs/issues/1758))
- Improve `ChannelId` validation. ([#2068](https://github.com/informalsystems/ibc-rs/issues/2068))
- [Relayer CLI](relayer-cli)
- Change `create channel` CLI command such that it is more difficult to create
clients / connections using it ([#1421](https://github.com/informalsystems/ibc-rs/issues/1421))
- Added `query packet pending` command to list outstanding packet
commitments that are either unreceived or pending acknowledgement
at both ends of a channel.
([#1862](https://github.com/informalsystems/ibc-rs/issues/1862))

## v0.13.0
*March 28th, 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.

23 changes: 4 additions & 19 deletions ci/no-std-check/Cargo.lock

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

8 changes: 4 additions & 4 deletions ci/no-std-check/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ substrate-std = [
"sp-std/std",
]

[patch.crates-io]
tendermint = { git = "https://github.com/informalsystems/tendermint-rs", branch = "v0.23.x" }
tendermint-proto = { git = "https://github.com/informalsystems/tendermint-rs", branch = "v0.23.x" }
tendermint-light-client-verifier = { git = "https://github.com/informalsystems/tendermint-rs", branch = "v0.23.x" }
# [patch.crates-io]
# tendermint = { git = "https://github.com/informalsystems/tendermint-rs", branch = "v0.23.x" }
# tendermint-proto = { git = "https://github.com/informalsystems/tendermint-rs", branch = "v0.23.x" }
# tendermint-light-client-verifier = { git = "https://github.com/informalsystems/tendermint-rs", branch = "v0.23.x" }
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: `0.13.0`.
Current version: `0.14.0`.

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 (v0.13.0)
# Hermes (v0.14.0)

---
- [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 0.13.0
hermes 0.14.0
Informal Systems <[email protected]>
Implementation of `hermes`, an IBC Relayer developed in Rust.

Expand Down
58 changes: 40 additions & 18 deletions guide/src/commands/path-setup/clients.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,47 @@

## Create Client

Use the `create client` command to create a new client.
Use the `create client` command to create a new client on a destination chain,
tracking the state of the source chain.

```shell
USAGE:
hermes create client <OPTIONS>
hermes create client [OPTIONS] <DST_CHAIN_ID> <SRC_CHAIN_ID>

DESCRIPTION:
Create a new IBC client
ARGS:
<DST_CHAIN_ID>
identifier of the destination chain

POSITIONAL ARGUMENTS:
dst_chain_id identifier of the destination chain
src_chain_id identifier of the source chain
<SRC_CHAIN_ID>
identifier of the source chain

OPTIONS:
-d, --clock-drift <CLOCK_DRIFT>
The maximum allowed clock drift for this client.

The clock drift is a correction parameter. It helps deal with clocks that are only
approximately synchronized between the source and destination chains of this client. The
destination chain for this client uses the clock drift parameter when deciding to accept
or reject a new header (originating from the source chain) for this client. If this
option is not specified, a suitable clock drift value is derived from the chain
configurations.

-p, --trusting-period <TRUSTING_PERIOD>
Override the trusting period specified in the config.

The trusting period specifies how long a validator set is trusted for (must be shorter
than the chain's unbonding period).
-t, --trust-threshold <TRUST_THRESHOLD>
Override the trust threshold specified in the configuration.
The trust threshold defines what fraction of the total voting power of a known and
trusted validator set is sufficient for a commit to be accepted going forward.
```
__Example__
Create a new client of `ibc-1` on `ibc-0`:
Create a new client on `ibc-0` which tracks `ibc-1`:
```shell
hermes create client ibc-0 ibc-1
Expand Down Expand Up @@ -57,18 +81,16 @@ Specific update and trusted heights can be specified.
```shell
USAGE:
hermes update client <OPTIONS>

DESCRIPTION:
Update an IBC client
hermes update client [OPTIONS] <DST_CHAIN_ID> <DST_CLIENT_ID>
POSITIONAL ARGUMENTS:
dst_chain_id identifier of the destination chain
dst_client_id identifier of the client to be updated on destination chain
ARGS:
<DST_CHAIN_ID> identifier of the destination chain
<DST_CLIENT_ID> identifier of the client to be updated on destination chain
FLAGS:
-H, --target-height TARGET-HEIGHT
-t, --trusted-height TRUSTED-HEIGHT
OPTIONS:
-h, --help Print help information
-H, --target-height <TARGET_HEIGHT> the target height of the client update
-t, --trusted-height <TRUSTED_HEIGHT> the trusted height of the client update
```
__Update client with latest header__
Expand Down
Loading

0 comments on commit fc7afc2

Please sign in to comment.