From 2c3ef5e61ef94c68467c88934fbb23ef99d3f55e Mon Sep 17 00:00:00 2001 From: erwanor Date: Sat, 18 Feb 2023 01:49:50 +0100 Subject: [PATCH 1/4] changelog: add `v0.29.0` --- .../382-refactor-get-and-store-methods.md | 2 -- .../bug-fixes/403-fix-error-todos.md | 3 -- .../feature/415-remove-val-exec-ctx.md | 1 - .../430-adapt-unit-tests-to-val-exec-ctx.md | 2 -- .../432-impl-mock-validate-self-client.md | 2 -- .../434-doc-validate-self-client.md | 3 -- .../440-refactor-conn-unit-tests.md | 2 -- CHANGELOG.md | 35 +++++++++++++++++++ ci/no-std-check/Cargo.toml | 6 ++-- crates/ibc/Cargo.toml | 16 ++++----- 10 files changed, 46 insertions(+), 26 deletions(-) delete mode 100644 .changelog/unreleased/breaking-changes/382-refactor-get-and-store-methods.md delete mode 100644 .changelog/unreleased/bug-fixes/403-fix-error-todos.md delete mode 100644 .changelog/unreleased/feature/415-remove-val-exec-ctx.md delete mode 100644 .changelog/unreleased/improvement/430-adapt-unit-tests-to-val-exec-ctx.md delete mode 100644 .changelog/unreleased/improvements/432-impl-mock-validate-self-client.md delete mode 100644 .changelog/unreleased/improvements/434-doc-validate-self-client.md delete mode 100644 .changelog/unreleased/improvements/440-refactor-conn-unit-tests.md diff --git a/.changelog/unreleased/breaking-changes/382-refactor-get-and-store-methods.md b/.changelog/unreleased/breaking-changes/382-refactor-get-and-store-methods.md deleted file mode 100644 index b647069fe..000000000 --- a/.changelog/unreleased/breaking-changes/382-refactor-get-and-store-methods.md +++ /dev/null @@ -1,2 +0,0 @@ -- Refactor get_* and store_* methods to take *Path structs instead - ([#382](https://github.com/cosmos/ibc-rs/issues/382)) diff --git a/.changelog/unreleased/bug-fixes/403-fix-error-todos.md b/.changelog/unreleased/bug-fixes/403-fix-error-todos.md deleted file mode 100644 index f165ca366..000000000 --- a/.changelog/unreleased/bug-fixes/403-fix-error-todos.md +++ /dev/null @@ -1,3 +0,0 @@ -- Mend error variant todo!()s wherever tendermint client calls the - "consensus_state" method - ([#403](https://github.com/cosmos/ibc-rs/issues/403)) diff --git a/.changelog/unreleased/feature/415-remove-val-exec-ctx.md b/.changelog/unreleased/feature/415-remove-val-exec-ctx.md deleted file mode 100644 index 9aa7660de..000000000 --- a/.changelog/unreleased/feature/415-remove-val-exec-ctx.md +++ /dev/null @@ -1 +0,0 @@ -- Remove feature flag ([#415](https://github.com/cosmos/ibc-rs/issues/415)) \ No newline at end of file diff --git a/.changelog/unreleased/improvement/430-adapt-unit-tests-to-val-exec-ctx.md b/.changelog/unreleased/improvement/430-adapt-unit-tests-to-val-exec-ctx.md deleted file mode 100644 index 75ba689c9..000000000 --- a/.changelog/unreleased/improvement/430-adapt-unit-tests-to-val-exec-ctx.md +++ /dev/null @@ -1,2 +0,0 @@ -- Make all unit tests test the ValidationContext/ExecutionContext API - ([#430](https://github.com/cosmos/ibc-rs/issues/430)) \ No newline at end of file diff --git a/.changelog/unreleased/improvements/432-impl-mock-validate-self-client.md b/.changelog/unreleased/improvements/432-impl-mock-validate-self-client.md deleted file mode 100644 index 801693dd6..000000000 --- a/.changelog/unreleased/improvements/432-impl-mock-validate-self-client.md +++ /dev/null @@ -1,2 +0,0 @@ -- Add an implementation of `validate_self_client` for the mock client - ([#432](https://github.com/cosmos/ibc-rs/issues/432)) \ No newline at end of file diff --git a/.changelog/unreleased/improvements/434-doc-validate-self-client.md b/.changelog/unreleased/improvements/434-doc-validate-self-client.md deleted file mode 100644 index 200ff5597..000000000 --- a/.changelog/unreleased/improvements/434-doc-validate-self-client.md +++ /dev/null @@ -1,3 +0,0 @@ -- Add a docstring and rename the "validate_self_client" argument for improved - code documentation and readability - ([#434](https://github.com/cosmos/ibc-rs/issues/434)) diff --git a/.changelog/unreleased/improvements/440-refactor-conn-unit-tests.md b/.changelog/unreleased/improvements/440-refactor-conn-unit-tests.md deleted file mode 100644 index 96867ca29..000000000 --- a/.changelog/unreleased/improvements/440-refactor-conn-unit-tests.md +++ /dev/null @@ -1,2 +0,0 @@ -- Refactor connection handler unit tests to adapt with new Validation/Execution API -([#440](https://github.com/cosmos/ibc-rs/issues/440)). \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 690c70284..2f8b10d57 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,38 @@ +## v0.29.0 + +*February 17, 2023* + +This release updates the `tendermint-rs` dependency to `v0.29.0`, which contains modularity improvements to the cryptographic routines, as well as bug fixes, and replacing `ed25519-dalek` with `ed25519-consensus`. + +### BREAKING CHANGES + +- Refactor get_* and store_* methods to take *Path structs instead + ([#382](https://github.com/cosmos/ibc-rs/issues/382)) + +### BUG FIXES + +- Mend error variant todo!()s wherever tendermint client calls the + "consensus_state" method + ([#403](https://github.com/cosmos/ibc-rs/issues/403)) + +### FEATURE + +- Remove feature flag ([#415](https://github.com/cosmos/ibc-rs/issues/415)) + +### IMPROVEMENT + +- Make all unit tests test the ValidationContext/ExecutionContext API + ([#430](https://github.com/cosmos/ibc-rs/issues/430)) + +### IMPROVEMENTS + +- Add an implementation of `validate_self_client` for the mock client + ([#432](https://github.com/cosmos/ibc-rs/issues/432)) +- Add a docstring and rename the "validate_self_client" argument for improved + code documentation and readability + ([#434](https://github.com/cosmos/ibc-rs/issues/434)) +- Refactor connection handler unit tests to adapt with new Validation/Execution API +([#440](https://github.com/cosmos/ibc-rs/issues/440)). # CHANGELOG ## v0.28.0 diff --git a/ci/no-std-check/Cargo.toml b/ci/no-std-check/Cargo.toml index 0f21330fd..9734caed3 100644 --- a/ci/no-std-check/Cargo.toml +++ b/ci/no-std-check/Cargo.toml @@ -13,9 +13,9 @@ ibc-proto = { version = "0.25.0", default-features = false, features = [ "parity-scale-codec", "borsh", ] } -tendermint = { version = "0.28.0", default-features = false } -tendermint-proto = { version = "0.28.0", default-features = false } -tendermint-light-client-verifier = { version = "0.28.0", default-features = false } +tendermint = { version = "0.29.0", default-features = false } +tendermint-proto = { version = "0.29.0", default-features = false } +tendermint-light-client-verifier = { version = "0.29.0", default-features = false } sp-core = { version = "16.0.0", default-features = false, optional = true } sp-io = { version = "17.0.0", default-features = false, optional = true } diff --git a/crates/ibc/Cargo.toml b/crates/ibc/Cargo.toml index 65da0f965..59ffdfbf5 100644 --- a/crates/ibc/Cargo.toml +++ b/crates/ibc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ibc" -version = "0.28.0" +version = "0.29.0" edition = "2021" license = "Apache-2.0" readme = "README.md" @@ -52,7 +52,7 @@ mocks-no-std = ["cfg-if"] [dependencies] # Proto definitions for all IBC-related interfaces, e.g., connections or channels. -ibc-proto = { version = "0.25.0", default-features = false, features = ["parity-scale-codec", "borsh"] } +ibc-proto = { version = "0.26.0", default-features = false, features = ["parity-scale-codec", "borsh"] } ics23 = { version = "0.9.0", default-features = false, features = ["host-functions"] } time = { version = ">=0.3.0, <0.3.18", default-features = false } serde_derive = { version = "1.0.104", default-features = false, optional = true } @@ -80,19 +80,19 @@ parking_lot = { version = "0.12.1", default-features = false, optional = true } cfg-if = { version = "1.0.0", optional = true } [dependencies.tendermint] -version = "0.28" +version = "0.29" default-features = false [dependencies.tendermint-proto] -version = "0.28" +version = "0.29" default-features = false [dependencies.tendermint-light-client-verifier] -version = "0.28" +version = "0.29" default-features = false [dependencies.tendermint-testgen] -version = "0.28" +version = "0.29" optional = true default-features = false @@ -101,7 +101,7 @@ env_logger = "0.10.0" rstest = "0.16.0" tracing-subscriber = { version = "0.3.14", features = ["fmt", "env-filter", "json"]} test-log = { version = "0.2.10", features = ["trace"] } -tendermint-rpc = { version = "0.28", features = ["http-client", "websocket-client"] } -tendermint-testgen = { version = "0.28" } # Needed for generating (synthetic) light blocks. +tendermint-rpc = { version = "0.29", features = ["http-client", "websocket-client"] } +tendermint-testgen = { version = "0.29" } # Needed for generating (synthetic) light blocks. parking_lot = { version = "0.12.1" } cfg-if = { version = "1.0.0" } From 3e6afd7ff9da69c213931c758e462f0ab18a094a Mon Sep 17 00:00:00 2001 From: erwanor Date: Sat, 18 Feb 2023 11:27:44 +0100 Subject: [PATCH 2/4] cargo: use `tendermint-light-client-verifier` with `rust-crypto` feature --- crates/ibc/Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/ibc/Cargo.toml b/crates/ibc/Cargo.toml index 59ffdfbf5..0b01520ed 100644 --- a/crates/ibc/Cargo.toml +++ b/crates/ibc/Cargo.toml @@ -90,6 +90,7 @@ default-features = false [dependencies.tendermint-light-client-verifier] version = "0.29" default-features = false +features = ["rust-crypto"] [dependencies.tendermint-testgen] version = "0.29" From 406859cd5afdbffab8ca400718cd43a65f2574c0 Mon Sep 17 00:00:00 2001 From: erwanor Date: Sat, 18 Feb 2023 11:28:50 +0100 Subject: [PATCH 3/4] changelog: add `v0.29.0` --- .../breaking-changes/382-refactor-get-and-store-methods.md | 2 ++ .changelog/v0.29.0/bug-fixes/403-fix-error-todos.md | 3 +++ .changelog/v0.29.0/feature/415-remove-val-exec-ctx.md | 1 + .../improvement/430-adapt-unit-tests-to-val-exec-ctx.md | 2 ++ .../v0.29.0/improvements/432-impl-mock-validate-self-client.md | 2 ++ .../v0.29.0/improvements/434-doc-validate-self-client.md | 3 +++ .../v0.29.0/improvements/440-refactor-conn-unit-tests.md | 2 ++ .changelog/v0.29.0/summary.md | 3 +++ 8 files changed, 18 insertions(+) create mode 100644 .changelog/v0.29.0/breaking-changes/382-refactor-get-and-store-methods.md create mode 100644 .changelog/v0.29.0/bug-fixes/403-fix-error-todos.md create mode 100644 .changelog/v0.29.0/feature/415-remove-val-exec-ctx.md create mode 100644 .changelog/v0.29.0/improvement/430-adapt-unit-tests-to-val-exec-ctx.md create mode 100644 .changelog/v0.29.0/improvements/432-impl-mock-validate-self-client.md create mode 100644 .changelog/v0.29.0/improvements/434-doc-validate-self-client.md create mode 100644 .changelog/v0.29.0/improvements/440-refactor-conn-unit-tests.md create mode 100644 .changelog/v0.29.0/summary.md diff --git a/.changelog/v0.29.0/breaking-changes/382-refactor-get-and-store-methods.md b/.changelog/v0.29.0/breaking-changes/382-refactor-get-and-store-methods.md new file mode 100644 index 000000000..b647069fe --- /dev/null +++ b/.changelog/v0.29.0/breaking-changes/382-refactor-get-and-store-methods.md @@ -0,0 +1,2 @@ +- Refactor get_* and store_* methods to take *Path structs instead + ([#382](https://github.com/cosmos/ibc-rs/issues/382)) diff --git a/.changelog/v0.29.0/bug-fixes/403-fix-error-todos.md b/.changelog/v0.29.0/bug-fixes/403-fix-error-todos.md new file mode 100644 index 000000000..f165ca366 --- /dev/null +++ b/.changelog/v0.29.0/bug-fixes/403-fix-error-todos.md @@ -0,0 +1,3 @@ +- Mend error variant todo!()s wherever tendermint client calls the + "consensus_state" method + ([#403](https://github.com/cosmos/ibc-rs/issues/403)) diff --git a/.changelog/v0.29.0/feature/415-remove-val-exec-ctx.md b/.changelog/v0.29.0/feature/415-remove-val-exec-ctx.md new file mode 100644 index 000000000..9aa7660de --- /dev/null +++ b/.changelog/v0.29.0/feature/415-remove-val-exec-ctx.md @@ -0,0 +1 @@ +- Remove feature flag ([#415](https://github.com/cosmos/ibc-rs/issues/415)) \ No newline at end of file diff --git a/.changelog/v0.29.0/improvement/430-adapt-unit-tests-to-val-exec-ctx.md b/.changelog/v0.29.0/improvement/430-adapt-unit-tests-to-val-exec-ctx.md new file mode 100644 index 000000000..75ba689c9 --- /dev/null +++ b/.changelog/v0.29.0/improvement/430-adapt-unit-tests-to-val-exec-ctx.md @@ -0,0 +1,2 @@ +- Make all unit tests test the ValidationContext/ExecutionContext API + ([#430](https://github.com/cosmos/ibc-rs/issues/430)) \ No newline at end of file diff --git a/.changelog/v0.29.0/improvements/432-impl-mock-validate-self-client.md b/.changelog/v0.29.0/improvements/432-impl-mock-validate-self-client.md new file mode 100644 index 000000000..801693dd6 --- /dev/null +++ b/.changelog/v0.29.0/improvements/432-impl-mock-validate-self-client.md @@ -0,0 +1,2 @@ +- Add an implementation of `validate_self_client` for the mock client + ([#432](https://github.com/cosmos/ibc-rs/issues/432)) \ No newline at end of file diff --git a/.changelog/v0.29.0/improvements/434-doc-validate-self-client.md b/.changelog/v0.29.0/improvements/434-doc-validate-self-client.md new file mode 100644 index 000000000..200ff5597 --- /dev/null +++ b/.changelog/v0.29.0/improvements/434-doc-validate-self-client.md @@ -0,0 +1,3 @@ +- Add a docstring and rename the "validate_self_client" argument for improved + code documentation and readability + ([#434](https://github.com/cosmos/ibc-rs/issues/434)) diff --git a/.changelog/v0.29.0/improvements/440-refactor-conn-unit-tests.md b/.changelog/v0.29.0/improvements/440-refactor-conn-unit-tests.md new file mode 100644 index 000000000..96867ca29 --- /dev/null +++ b/.changelog/v0.29.0/improvements/440-refactor-conn-unit-tests.md @@ -0,0 +1,2 @@ +- Refactor connection handler unit tests to adapt with new Validation/Execution API +([#440](https://github.com/cosmos/ibc-rs/issues/440)). \ No newline at end of file diff --git a/.changelog/v0.29.0/summary.md b/.changelog/v0.29.0/summary.md new file mode 100644 index 000000000..ae90b98d1 --- /dev/null +++ b/.changelog/v0.29.0/summary.md @@ -0,0 +1,3 @@ +*February 17, 2023* + +This release updates the `tendermint-rs` dependency to `v0.29.0`, which contains modularity improvements to the cryptographic routines, as well as bug fixes, and replacing `ed25519-dalek` with `ed25519-consensus`. From 54e9d2f050d810803d3d1d4b7bf1592437b19c10 Mon Sep 17 00:00:00 2001 From: erwanor Date: Sat, 18 Feb 2023 11:31:30 +0100 Subject: [PATCH 4/4] chore: remove references to `html_root_url` --- CONTRIBUTING.md | 8 ++------ crates/ibc/src/lib.rs | 1 - 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1fab3a8fb..8dc2f523b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -252,12 +252,8 @@ Our release process is as follows: 2. Push this to a branch `release/vX.Y.Z` according to the version number of the anticipated release (e.g. `release/v0.18.0`) and open a **draft PR**. 3. Bump all relevant versions in the codebase to the new version and push these - changes to the release PR. This includes: - 1. `crates/ibc/Cargo.toml` file (making sure dependencies' versions are updated - too). - 2. `crates/ibc/lib.rs` file documentation references' `html_root_url` - parameters must point to the new version. - + changes to the release PR. This includes the `crates/ibc/Cargo.toml` file (making sure dependency + versions are updated too). 4. In the `crates/ibc/` directory, run `cargo doc --all-features --open` locally to double-check that all the documentation compiles and seems up-to-date and coherent. Fix any potential issues here and push them to the release PR. diff --git a/crates/ibc/src/lib.rs b/crates/ibc/src/lib.rs index a16c81d55..9f98fc6f7 100644 --- a/crates/ibc/src/lib.rs +++ b/crates/ibc/src/lib.rs @@ -13,7 +13,6 @@ #![forbid(unsafe_code)] // https://github.com/cosmos/ibc-rs/issues/342 #![allow(clippy::result_large_err)] -#![doc(html_root_url = "https://docs.rs/ibc/0.28.0")] //! This library implements the InterBlockchain Communication (IBC) protocol in Rust. IBC is //! a distributed protocol that enables communication between distinct sovereign blockchains. //! Loose analogies may be drawn between the IBC protocol and the TCP/UDP protocols that enable