diff --git a/.changelog/unreleased/improvements/926_mocks_implies_std.md b/.changelog/unreleased/improvements/926_mocks_implies_std.md deleted file mode 100644 index 85474a8b9..000000000 --- a/.changelog/unreleased/improvements/926_mocks_implies_std.md +++ /dev/null @@ -1,9 +0,0 @@ -- Change `mocks` feature to imply `std` since it requires - Timestamp::now to work. - ([\#926](https://github.com/cosmos/ibc-rs/pull/926)) - - diff --git a/.changelog/unreleased/improvements/600-tendermint-pruning.md b/.changelog/v0.47.0/features/600-tendermint-pruning.md similarity index 100% rename from .changelog/unreleased/improvements/600-tendermint-pruning.md rename to .changelog/v0.47.0/features/600-tendermint-pruning.md diff --git a/.changelog/unreleased/improvements/538-test-for-client-expiry.md b/.changelog/v0.47.0/improvements/538-test-for-client-expiry.md similarity index 100% rename from .changelog/unreleased/improvements/538-test-for-client-expiry.md rename to .changelog/v0.47.0/improvements/538-test-for-client-expiry.md diff --git a/.changelog/unreleased/improvements/850-fix-wasm-compilation-error-with-floats.md b/.changelog/v0.47.0/improvements/850-fix-wasm-compilation-error-with-floats.md similarity index 100% rename from .changelog/unreleased/improvements/850-fix-wasm-compilation-error-with-floats.md rename to .changelog/v0.47.0/improvements/850-fix-wasm-compilation-error-with-floats.md diff --git a/.changelog/v0.47.0/improvements/926_mocks_implies_std.md b/.changelog/v0.47.0/improvements/926_mocks_implies_std.md new file mode 100644 index 000000000..b7d46ac6f --- /dev/null +++ b/.changelog/v0.47.0/improvements/926_mocks_implies_std.md @@ -0,0 +1,3 @@ +- Change `mocks` feature to imply `std` since it requires + Timestamp::now to work. + ([\#926](https://github.com/cosmos/ibc-rs/pull/926)) diff --git a/.changelog/unreleased/improvements/927-refactor-packet-commitments-and-packet-acknowledgements.md b/.changelog/v0.47.0/improvements/927-refactor-packet-commitments-and-packet-acknowledgements.md similarity index 100% rename from .changelog/unreleased/improvements/927-refactor-packet-commitments-and-packet-acknowledgements.md rename to .changelog/v0.47.0/improvements/927-refactor-packet-commitments-and-packet-acknowledgements.md diff --git a/.changelog/unreleased/improvements/929-remove-anyschema.md b/.changelog/v0.47.0/improvements/929-remove-anyschema.md similarity index 100% rename from .changelog/unreleased/improvements/929-remove-anyschema.md rename to .changelog/v0.47.0/improvements/929-remove-anyschema.md diff --git a/.changelog/v0.47.0/summary.md b/.changelog/v0.47.0/summary.md new file mode 100644 index 000000000..2a621c86a --- /dev/null +++ b/.changelog/v0.47.0/summary.md @@ -0,0 +1,8 @@ +This release adds necessary APIs for featuring consensus state pruning and +implements pertaining logic for Tendermint light clients. This prevents +unlimited store growth. Additionally, we've enhanced ibc-rs compatibility with +no-float environments making Wasm compilation smoother and updated main +dependencies including `prost` to v0.12, `ibc-proto-rs` to v0.37, and +`tendermint-rs` to v0.34, ensuring the latest advancements. + +There are no consensus-breaking changes. diff --git a/CHANGELOG.md b/CHANGELOG.md index ac9eeb4e6..4b78e0da0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,39 @@ # CHANGELOG +## v0.47.0 + +*October 19, 2023* + +This release adds necessary APIs for featuring consensus state pruning and +implements pertaining logic for Tendermint light clients. This prevents +unlimited store growth. Additionally, we've enhanced ibc-rs compatibility with +no-float environments making Wasm compilation smoother and updated main +dependencies including `prost` to v0.12, `ibc-proto-rs` to v0.37, and +`tendermint-rs` to v0.34, ensuring the latest advancements. + +There are no consensus-breaking changes. + +### FEATURES + +- Implement consensus state pruning for Tendermint light clients. ([\#600](https://github.com/cosmos/ibc-rs/issues/600)) + +### IMPROVEMENTS + +- Add test for expired client status. + ([\#538](https://github.com/cosmos/ibc-rs/issues/538)) + +- Fix compilation issue with Wasm envs because of floats. ([\#850](https://github.com/cosmos/ibc-rs/issues/850)) + - Use `serde-json-wasm` dependency instead of `serde-json` for no-floats support + - Add CI test to include CosmWasm compilation check + +- Change `mocks` feature to imply `std` since it requires + Timestamp::now to work. + ([\#926](https://github.com/cosmos/ibc-rs/pull/926)) +- Return PacketStates instead of paths from packet_commitments and + packet_acknowledgements. ([\#927](https://github.com/cosmos/ibc-rs/issues/927)) +- Remove `AnySchema` as `JsonSchema` derive on `Any` now accessible through + `ibc-proto-rs`. ([#929](https://github.com/cosmos/ibc-rs/issues/929)) + ## v0.46.0 *October 12, 2023* diff --git a/README.md b/README.md index 9b4ed00a8..2654f16d5 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,13 @@ Rust implementation of the Inter-Blockchain Communication (IBC) protocol. This project hosts the `ibc` rust crate which defines the main data structures and on-chain logic for the IBC protocol. -See the [ibc](crates/ibc/README.md) crate's README.md for more detailed information on the `ibc` crate. +## Libraries + +- [ibc](crates/ibc/README.md) - Data structures and on-chain logic for the IBC protocol. +- [ibc-query](crates/ibc-query/README.md) - Utility traits and implementations for querying the +state of an `ibc-rs` enabled chain. +- [ibc-derive](crates/ibc-derive/README.md) - Derive macros for `ClientState` + and `ConsensusState` traits, reducing boilerplate. ## Contributing diff --git a/ci/cw-check/Cargo.lock b/ci/cw-check/Cargo.lock index b72af99c7..153b91f8f 100644 --- a/ci/cw-check/Cargo.lock +++ b/ci/cw-check/Cargo.lock @@ -613,7 +613,7 @@ dependencies = [ [[package]] name = "ibc" -version = "0.45.0" +version = "0.47.0" dependencies = [ "bytes", "derive_more", @@ -651,9 +651,9 @@ dependencies = [ [[package]] name = "ibc-proto" -version = "0.35.0" +version = "0.37.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "459ccbab879b749bf500ae13244593fa16fc64c1b3159f6b0753c169625a1e23" +checksum = "63042806bb2f662ca1c68026231900cfe13361136ddfd0dd09bcb315056a22b8" dependencies = [ "base64 0.21.2", "bytes", @@ -669,9 +669,9 @@ dependencies = [ [[package]] name = "ics23" -version = "0.10.2" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "442d4bab37956e76f739c864f246c825d87c0bb7f9afa65660c57833c91bf6d4" +checksum = "661e2d6f79952a65bc92b1c81f639ebd37228dae6ff412a5aba7d474bdc4b957" dependencies = [ "anyhow", "bytes", @@ -904,9 +904,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.11.9" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" +checksum = "f4fdd22f3b9c31b53c060df4a0613a1c7f062d4115a2b984dd15b1858f7e340d" dependencies = [ "bytes", "prost-derive", @@ -914,22 +914,22 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.11.9" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" +checksum = "265baba7fabd416cf5078179f7d2cbeca4ce7a9041111900675ea7c4cb8a4c32" dependencies = [ "anyhow", "itertools", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.28", ] [[package]] name = "prost-types" -version = "0.11.9" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" +checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf" dependencies = [ "prost", ] @@ -1253,9 +1253,9 @@ dependencies = [ [[package]] name = "tendermint" -version = "0.33.2" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c35fe4fd24a7715571814c22416dbc40ec0f2a6e3cce75d73e19699faecd246" +checksum = "bc2294fa667c8b548ee27a9ba59115472d0a09c2ba255771092a7f1dcf03a789" dependencies = [ "bytes", "digest 0.10.7", @@ -1282,9 +1282,9 @@ dependencies = [ [[package]] name = "tendermint-light-client-verifier" -version = "0.33.2" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "680639f67d51eceb700bff18b45b584373ec94ee0d7ffe61f4ca6c54ed7787ff" +checksum = "74994da9de4b1144837a367ca2c60c650f5526a7c1a54760a3020959b522e474" dependencies = [ "derive_more", "flex-error", @@ -1295,9 +1295,9 @@ dependencies = [ [[package]] name = "tendermint-proto" -version = "0.33.2" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "639e5adffd77220d238a800a72c74c98d7e869290a6e4494c10b6b4e8f702f02" +checksum = "2cc728a4f9e891d71adf66af6ecaece146f9c7a11312288a3107b3e1d6979aaf" dependencies = [ "bytes", "flex-error", diff --git a/ci/no-std-check/Cargo.lock b/ci/no-std-check/Cargo.lock index ab6f65baf..73605b5f5 100644 --- a/ci/no-std-check/Cargo.lock +++ b/ci/no-std-check/Cargo.lock @@ -1064,7 +1064,7 @@ dependencies = [ [[package]] name = "ibc" -version = "0.46.0" +version = "0.47.0" dependencies = [ "bytes", "derive_more", diff --git a/crates/ibc-query/Cargo.toml b/crates/ibc-query/Cargo.toml index 101934f1f..6a73318c3 100644 --- a/crates/ibc-query/Cargo.toml +++ b/crates/ibc-query/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ibc-query" -version = "0.46.0" +version = "0.47.0" edition = "2021" license = "Apache-2.0" readme = "README.md" @@ -18,7 +18,7 @@ default = ["std"] std = ["ibc-proto/std", "ibc/std"] [dependencies] -ibc = { version = "0.46.0", path = "../ibc", default-features = false } +ibc = { version = "0.47.0", path = "../ibc", default-features = false } ibc-proto = { version = "0.37.1", default-features = false, features = ["server"] } displaydoc = { version = "0.2", default-features = false } tonic = "0.10" diff --git a/crates/ibc/Cargo.toml b/crates/ibc/Cargo.toml index aca555c97..ae4d4d56b 100644 --- a/crates/ibc/Cargo.toml +++ b/crates/ibc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ibc" -version = "0.46.0" +version = "0.47.0" edition = "2021" license = "Apache-2.0" readme = "README.md" @@ -52,7 +52,7 @@ mocks = ["tendermint-testgen", "parking_lot", "typed-builder", "std"] # Proto definitions for all IBC-related interfaces, e.g., connections or channels. ibc-proto = { version = "0.37.1", default-features = false } ics23 = { version = "0.11", default-features = false, features = ["host-functions"] } -time = { version = ">=0.3.0, <0.3.30", default-features = false } +time = { version = ">=0.3.0, <0.3.31", default-features = false } serde_derive = { version = "1.0.104", default-features = false, optional = true } serde = { version = "1.0", default-features = false, optional = true } serde_json = { package = "serde-json-wasm", version = "1.0.0" , default-features = false, optional = true}