From 9e1b91bc6dc724b6cd08a3830b6c28e403be207b Mon Sep 17 00:00:00 2001 From: Romain Ruetschi Date: Wed, 8 Nov 2023 18:17:29 +0100 Subject: [PATCH] Release v1.7.1 --- .../3623-compat-mode-configurability.md | 0 .../3691-per-chain-clear-interval.md | 0 .../ibc-relayer/3521-client-update.md | 3 ++ .../ibc-relayer/3636-config-enum.md | 0 .changelog/v1.7.1/summary.md | 12 +++++++ CHANGELOG.md | 31 +++++++++++++++++++ Cargo.lock | 16 +++++----- crates/chain-registry/Cargo.toml | 4 +-- crates/relayer-cli/Cargo.toml | 12 +++---- crates/relayer-rest/Cargo.toml | 6 ++-- crates/relayer-rest/tests/mock.rs | 2 +- crates/relayer-types/Cargo.toml | 2 +- crates/relayer/Cargo.toml | 8 ++--- crates/telemetry/Cargo.toml | 4 +-- guide/README.md | 2 +- guide/src/SUMMARY.md | 2 +- .../configuration/configure-hermes.md | 2 +- guide/src/templates/hermes-version.md | 2 +- tools/integration-test/Cargo.toml | 2 +- tools/test-framework/Cargo.toml | 8 ++--- 20 files changed, 82 insertions(+), 36 deletions(-) rename .changelog/{unreleased => v1.7.1}/features/ibc-relayer/3623-compat-mode-configurability.md (100%) rename .changelog/{unreleased => v1.7.1}/features/ibc-relayer/3691-per-chain-clear-interval.md (100%) create mode 100644 .changelog/v1.7.1/improvements/ibc-relayer/3521-client-update.md rename .changelog/{unreleased => v1.7.1}/improvements/ibc-relayer/3636-config-enum.md (100%) create mode 100644 .changelog/v1.7.1/summary.md diff --git a/.changelog/unreleased/features/ibc-relayer/3623-compat-mode-configurability.md b/.changelog/v1.7.1/features/ibc-relayer/3623-compat-mode-configurability.md similarity index 100% rename from .changelog/unreleased/features/ibc-relayer/3623-compat-mode-configurability.md rename to .changelog/v1.7.1/features/ibc-relayer/3623-compat-mode-configurability.md diff --git a/.changelog/unreleased/features/ibc-relayer/3691-per-chain-clear-interval.md b/.changelog/v1.7.1/features/ibc-relayer/3691-per-chain-clear-interval.md similarity index 100% rename from .changelog/unreleased/features/ibc-relayer/3691-per-chain-clear-interval.md rename to .changelog/v1.7.1/features/ibc-relayer/3691-per-chain-clear-interval.md diff --git a/.changelog/v1.7.1/improvements/ibc-relayer/3521-client-update.md b/.changelog/v1.7.1/improvements/ibc-relayer/3521-client-update.md new file mode 100644 index 0000000000..90b8d600eb --- /dev/null +++ b/.changelog/v1.7.1/improvements/ibc-relayer/3521-client-update.md @@ -0,0 +1,3 @@ +- Hermes now saves on fees by not including a client update if the + consensus state at desired height is already present on chain. + ([\#3521](https://github.com/informalsystems/hermes/issues/3521)) \ No newline at end of file diff --git a/.changelog/unreleased/improvements/ibc-relayer/3636-config-enum.md b/.changelog/v1.7.1/improvements/ibc-relayer/3636-config-enum.md similarity index 100% rename from .changelog/unreleased/improvements/ibc-relayer/3636-config-enum.md rename to .changelog/v1.7.1/improvements/ibc-relayer/3636-config-enum.md diff --git a/.changelog/v1.7.1/summary.md b/.changelog/v1.7.1/summary.md new file mode 100644 index 0000000000..28905e6542 --- /dev/null +++ b/.changelog/v1.7.1/summary.md @@ -0,0 +1,12 @@ +This patch release of Hermes now allows operators to set the clearing interval +at a different value for each chain, using the new per-chain `clear_interval` setting. +The global `clear_interval` setting is used as a default value if the per-chain +setting is not defined. + +Additionnaly, operators can now override the CometBFT compatibility mode to be used +for a chain by using the new `compat_mode` per-chain setting. The main use case for this +is to override the automatically detected compatibility mode in case Hermes gets it wrong +or encounters a non-standard version number and falls back on the wrong CometBFT version. + +On top of that, Hermes will now attempt to save on fees by not building a client update +for a given height if the consensus state for that height is already present on chain. diff --git a/CHANGELOG.md b/CHANGELOG.md index 7604939159..d89c5132ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,36 @@ # CHANGELOG +## v1.7.1 + +*November 13th, 2023* + +This patch release of Hermes now allows operators to set the clearing interval +at a different value for each chain, using the new per-chain `clear_interval` setting. +The global `clear_interval` setting is used as a default value if the per-chain +setting is not defined. + +Additionnaly, operators can now override the CometBFT compatibility mode to be used +for a chain by using the new `compat_mode` per-chain setting. The main use case for this +is to override the automatically detected compatibility mode in case Hermes gets it wrong +or encounters a non-standard version number and falls back on the wrong CometBFT version. + +On top of that, Hermes will now attempt to save on fees by not building a client update +for a given height if the consensus state for that height is already present on chain. + +### FEATURES + +- Add an optional per-chain setting `compat_mode`, which can be +used to specify which CometBFT compatibility mode is used for interacting with the node over RPC. +([\#3623](https://github.com/informalsystems/hermes/issues/3623)) +- Add a configuration which allows to override the `clear_interval` for specific +chains ([\#3691](https://github.com/informalsystems/hermes/issues/3691)) + +### IMPROVEMENTS + +- Hermes now saves on fees by not including a client update if the +consensus state at desired height is already present on chain. +([\#3521](https://github.com/informalsystems/hermes/issues/3521)) + ## v1.7.0 *October 20th, 2023* diff --git a/Cargo.lock b/Cargo.lock index 8e7fb96f02..c85b113fcd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1323,7 +1323,7 @@ dependencies = [ [[package]] name = "ibc-chain-registry" -version = "0.26.0" +version = "0.26.1" dependencies = [ "async-trait", "flex-error", @@ -1342,7 +1342,7 @@ dependencies = [ [[package]] name = "ibc-integration-test" -version = "0.26.0" +version = "0.26.1" dependencies = [ "http", "ibc-relayer", @@ -1376,7 +1376,7 @@ dependencies = [ [[package]] name = "ibc-relayer" -version = "0.26.0" +version = "0.26.1" dependencies = [ "anyhow", "async-stream", @@ -1444,7 +1444,7 @@ dependencies = [ [[package]] name = "ibc-relayer-cli" -version = "1.7.0" +version = "1.7.1" dependencies = [ "abscissa_core", "clap", @@ -1485,7 +1485,7 @@ dependencies = [ [[package]] name = "ibc-relayer-rest" -version = "0.26.0" +version = "0.26.1" dependencies = [ "axum", "crossbeam-channel 0.5.8", @@ -1500,7 +1500,7 @@ dependencies = [ [[package]] name = "ibc-relayer-types" -version = "0.26.0" +version = "0.26.1" dependencies = [ "bytes", "derive_more", @@ -1531,7 +1531,7 @@ dependencies = [ [[package]] name = "ibc-telemetry" -version = "0.26.0" +version = "0.26.1" dependencies = [ "axum", "dashmap", @@ -1550,7 +1550,7 @@ dependencies = [ [[package]] name = "ibc-test-framework" -version = "0.26.0" +version = "0.26.1" dependencies = [ "color-eyre", "crossbeam-channel 0.5.8", diff --git a/crates/chain-registry/Cargo.toml b/crates/chain-registry/Cargo.toml index ce64fa35c8..99893f6955 100644 --- a/crates/chain-registry/Cargo.toml +++ b/crates/chain-registry/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ibc-chain-registry" -version = "0.26.0" +version = "0.26.1" edition = "2021" license = "Apache-2.0" keywords = ["cosmos", "ibc", "relayer", "chain", "registry"] @@ -12,7 +12,7 @@ description = """ """ [dependencies] -ibc-relayer-types = { version = "0.26.0", path = "../relayer-types" } +ibc-relayer-types = { version = "0.26.1", path = "../relayer-types" } ibc-proto = { version = "0.38.0", features = ["serde"] } tendermint-rpc = { version = "0.34.0", features = ["http-client", "websocket-client"] } diff --git a/crates/relayer-cli/Cargo.toml b/crates/relayer-cli/Cargo.toml index 2ff1bd1005..33ddd20262 100644 --- a/crates/relayer-cli/Cargo.toml +++ b/crates/relayer-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ibc-relayer-cli" -version = "1.7.0" +version = "1.7.1" edition = "2021" license = "Apache-2.0" readme = "README.md" @@ -25,11 +25,11 @@ telemetry = ["ibc-relayer/telemetry", "ibc-telemetry"] rest-server = ["ibc-relayer-rest"] [dependencies] -ibc-relayer-types = { version = "0.26.0", path = "../relayer-types" } -ibc-relayer = { version = "0.26.0", path = "../relayer" } -ibc-telemetry = { version = "0.26.0", path = "../telemetry", optional = true } -ibc-relayer-rest = { version = "0.26.0", path = "../relayer-rest", optional = true } -ibc-chain-registry = { version = "0.26.0" , path = "../chain-registry" } +ibc-relayer-types = { version = "0.26.1", path = "../relayer-types" } +ibc-relayer = { version = "0.26.1", path = "../relayer" } +ibc-telemetry = { version = "0.26.1", path = "../telemetry", optional = true } +ibc-relayer-rest = { version = "0.26.1", path = "../relayer-rest", optional = true } +ibc-chain-registry = { version = "0.26.1" , path = "../chain-registry" } clap = { version = "3.2", features = ["cargo"] } clap_complete = "3.2" diff --git a/crates/relayer-rest/Cargo.toml b/crates/relayer-rest/Cargo.toml index 4eee1d3dc5..a03ff7d79d 100644 --- a/crates/relayer-rest/Cargo.toml +++ b/crates/relayer-rest/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ibc-relayer-rest" -version = "0.26.0" +version = "0.26.1" authors = ["Informal Systems "] edition = "2021" license = "Apache-2.0" @@ -14,8 +14,8 @@ description = """ """ [dependencies] -ibc-relayer-types = { version = "0.26.0", path = "../relayer-types" } -ibc-relayer = { version = "0.26.0", path = "../relayer" } +ibc-relayer-types = { version = "0.26.1", path = "../relayer-types" } +ibc-relayer = { version = "0.26.1", path = "../relayer" } crossbeam-channel = "0.5" serde = "1.0" diff --git a/crates/relayer-rest/tests/mock.rs b/crates/relayer-rest/tests/mock.rs index b18a1b4531..3fb86d4dbe 100644 --- a/crates/relayer-rest/tests/mock.rs +++ b/crates/relayer-rest/tests/mock.rs @@ -64,7 +64,7 @@ async fn version() { let rest_api_version = VersionInfo { name: "ibc-relayer-rest".to_string(), - version: "0.26.0".to_string(), + version: "0.26.1".to_string(), }; let result: JsonResult<_, ()> = JsonResult::Success(vec![version.clone(), rest_api_version]); diff --git a/crates/relayer-types/Cargo.toml b/crates/relayer-types/Cargo.toml index 59ea4c4846..63a9dd3974 100644 --- a/crates/relayer-types/Cargo.toml +++ b/crates/relayer-types/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ibc-relayer-types" -version = "0.26.0" +version = "0.26.1" edition = "2021" license = "Apache-2.0" readme = "README.md" diff --git a/crates/relayer/Cargo.toml b/crates/relayer/Cargo.toml index c9e8001f93..6e0082f7e5 100644 --- a/crates/relayer/Cargo.toml +++ b/crates/relayer/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ibc-relayer" -version = "0.26.0" +version = "0.26.1" edition = "2021" license = "Apache-2.0" readme = "README.md" @@ -21,8 +21,8 @@ telemetry = ["ibc-telemetry"] [dependencies] ibc-proto = { version = "0.38.0", features = ["serde"] } -ibc-telemetry = { version = "0.26.0", path = "../telemetry", optional = true } -ibc-relayer-types = { version = "0.26.0", path = "../relayer-types", features = ["mocks"] } +ibc-telemetry = { version = "0.26.1", path = "../telemetry", optional = true } +ibc-relayer-types = { version = "0.26.1", path = "../relayer-types", features = ["mocks"] } subtle-encoding = "0.5" humantime-serde = "1.1.1" @@ -109,7 +109,7 @@ version = "0.34.0" default-features = false [dev-dependencies] -ibc-relayer-types = { version = "0.26.0", path = "../relayer-types", features = ["mocks"] } +ibc-relayer-types = { version = "0.26.1", path = "../relayer-types", features = ["mocks"] } serial_test = "2.0.0" env_logger = "0.10.0" test-log = { version = "0.2.10", features = ["trace"] } diff --git a/crates/telemetry/Cargo.toml b/crates/telemetry/Cargo.toml index 73d281e8c8..c583dd845d 100644 --- a/crates/telemetry/Cargo.toml +++ b/crates/telemetry/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ibc-telemetry" -version = "0.26.0" +version = "0.26.1" edition = "2021" license = "Apache-2.0" readme = "README.md" @@ -13,7 +13,7 @@ description = """ """ [dependencies] -ibc-relayer-types = { version = "0.26.0", path = "../relayer-types" } +ibc-relayer-types = { version = "0.26.1", path = "../relayer-types" } once_cell = "1.17.0" opentelemetry = { version = "0.19.0", features = ["metrics"] } diff --git a/guide/README.md b/guide/README.md index 53bdf34be5..b4713bfebf 100644 --- a/guide/README.md +++ b/guide/README.md @@ -10,7 +10,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.7.0`. +Current version: `v1.7.1`. The version of this guide is aligned with the [versioning of the ibc crates](../README.md). diff --git a/guide/src/SUMMARY.md b/guide/src/SUMMARY.md index 07d301ec48..0f4e106282 100644 --- a/guide/src/SUMMARY.md +++ b/guide/src/SUMMARY.md @@ -1,6 +1,6 @@ # Summary -# Hermes v1.7.0 +# Hermes v1.7.1 --- - [Introduction](./index.md) diff --git a/guide/src/documentation/configuration/configure-hermes.md b/guide/src/documentation/configuration/configure-hermes.md index 776322ac7d..a81924147a 100644 --- a/guide/src/documentation/configuration/configure-hermes.md +++ b/guide/src/documentation/configuration/configure-hermes.md @@ -160,7 +160,7 @@ event_source = { mode = 'push', url = 'wss://hello:world@mydomain.com:26657/webs ## Configuring Support for Wasm Relaying -As of version 1.7.0, Hermes supports the relaying of wasm messages natively. This is facilitated by configuring +As of version 1.7.1, Hermes supports the relaying of wasm messages natively. This is facilitated by configuring Hermes to use pull-based relaying by polling for IBC events via the `/block_results` RPC endpoint. Set the `event_source` parameter to pull mode in `config.toml` like so: diff --git a/guide/src/templates/hermes-version.md b/guide/src/templates/hermes-version.md index a20e2d82d2..a97fc4411a 100644 --- a/guide/src/templates/hermes-version.md +++ b/guide/src/templates/hermes-version.md @@ -1 +1 @@ -v1.7.0 +v1.7.1 diff --git a/tools/integration-test/Cargo.toml b/tools/integration-test/Cargo.toml index c5d55f4976..88b23cf76b 100644 --- a/tools/integration-test/Cargo.toml +++ b/tools/integration-test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ibc-integration-test" -version = "0.26.0" +version = "0.26.1" edition = "2021" rust-version = "1.71" license = "Apache-2.0" diff --git a/tools/test-framework/Cargo.toml b/tools/test-framework/Cargo.toml index d89286f158..39764e7c2b 100644 --- a/tools/test-framework/Cargo.toml +++ b/tools/test-framework/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ibc-test-framework" -version = "0.26.0" +version = "0.26.1" edition = "2021" license = "Apache-2.0" readme = "README.md" @@ -14,9 +14,9 @@ description = """ """ [dependencies] -ibc-relayer-types = { version = "=0.26.0", path = "../../crates/relayer-types" } -ibc-relayer = { version = "=0.26.0", path = "../../crates/relayer" } -ibc-relayer-cli = { version = "=1.7.0", path = "../../crates/relayer-cli" } +ibc-relayer-types = { version = "=0.26.1", path = "../../crates/relayer-types" } +ibc-relayer = { version = "=0.26.1", path = "../../crates/relayer" } +ibc-relayer-cli = { version = "=1.7.1", path = "../../crates/relayer-cli" } ibc-proto = { version = "0.38.0", features = ["serde"] } tendermint-rpc = { version = "0.34.0", features = ["http-client", "websocket-client"] }