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 ibc-rs v0.14.0 #2141

Merged
merged 7 commits into from
Apr 27, 2022
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
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,
romac marked this conversation as resolved.
Show resolved Hide resolved
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