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 v0.51.0 #1137

Merged
merged 6 commits into from
Mar 22, 2024
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
11 changes: 11 additions & 0 deletions .changelog/v0.51.0/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
This release introduces a few changes for better customizability. The main one is modularizing ICS-24, ICS-02, and ICS-07 trait implementations. This change empowers developers to write Rust light clients succinctly in a smart-contract context like CosmWasm. Also, the default Tendermint client state verifier is now detached to support custom verifiers, if required.

In addition, this version fixes a bug where the consensus state is incorrectly stored when a header with an older height is submitted.

Furthermore, a set of new host keys is added. This makes `ibc-rs` more consistent with the storage access of `ibc-go`. Also, access to client update information is merged into a single method; instead of individual details.

This release updates the `ibc-proto-rs` dependency to `v0.42.2`. This takes account of the updated `MsgUpdateClient` and deprecates `MsgSubmitMisbehaviour`.

Finally, the minimum supported Rust version is corrected and updated to `1.71.1`.

There are no consensus-breaking changes.
88 changes: 88 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,93 @@
# CHANGELOG

## v0.51.0

*March 22, 2024*

This release introduces a few changes for better customizability. The main one is modularizing ICS-24, ICS-02, and ICS-07 trait implementations. This change empowers developers to write Rust light clients succinctly in a smart-contract context like CosmWasm. Also, the default Tendermint client state verifier is now detached to support custom verifiers, if required.

In addition, this version fixes a bug where the consensus state is incorrectly stored when a header with an older height is submitted.

Furthermore, a set of new host keys is added. This makes `ibc-rs` more consistent with the storage access of `ibc-go`. Also, access to client update information is merged into a single method; instead of individual details.

This release updates the `ibc-proto-rs` dependency to `v0.42.2`. This takes account of the updated `MsgUpdateClient` and deprecates `MsgSubmitMisbehaviour`.

Finally, the minimum supported Rust version is corrected and updated to `1.71.1`.

There are no consensus-breaking changes.

### BREAKING CHANGES

- [ibc-core] Update `MsgUpdateClient` handler to accept misbehaviour reports via
its `client_message` field
([\#835](https://github.com/cosmos/ibc-rs/issues/835))
- [ibc-core-client] Merge client update time and height modification method
pairs into one, that is replace
a) client_update_{time,height} by update_meta,
b) store_update_{time,height} by store_update_meta and
c) delete_update_{time,height} by delete_update_meta.
([\#973](https://github.com/cosmos/ibc-rs/issues/973))
- [ibc] Refactor client relevant APIs for improved modularity and allow
standalone ICS-02 integration
([\#1114](https://github.com/cosmos/ibc-rs/issues/1114))
- [ibc] Increase minimum supported Rust version to 1.71.1
([\#1118](https://github.com/cosmos/ibc-rs/issues/1118))
- [ibc] Upgrade `ibc-proto-rs` to `v0.42.2`
([\#1125](https://github.com/cosmos/ibc-rs/pull/1125))

### BUG FIXES

- [ibc] Add missing dependencies for some feature flags across multiple crates
([\#1059](https://github.com/cosmos/ibc-rs/issues/1059))
- [ibc-client-tendermint-types] Ease frozen Height check in the tendermint
`ClientState` protobuf deserialization, and consequently include frozen client
check for client creation path.
([\#1061](https://github.com/cosmos/ibc-rs/issues/1061)),
([\#1063](https://github.com/cosmos/ibc-rs/pull/1063))
- [ibc-client-tendermint] Use header height for Tendermint consensus state storage
([\#1080](https://github.com/cosmos/ibc-rs/issues/1080))
- [ibc] Upgrade `serde_json` to "1.0.1" to address an stack overflow issue
within the `serde-json-wasm` crate
([\#1083](https://github.com/cosmos/ibc-rs/pull/1083))
- [ibc] Resolve potential `base64` dependency resolution issue by bringing it to
the workspace `Cargo.toml`
([\#1084](https://github.com/cosmos/ibc-rs/issues/1084))
- [ibc-client-tendermint-types] Check ics23 proof specs for empty depth range.
([\#1100](https://github.com/cosmos/ibc-rs/issues/1100))

### FEATURE

- [ibc-core-host] Add remaining storage paths.
([\#1065](https://github.com/cosmos/ibc-rs/issues/1065))
- [ibc-core-host] Add iteration key for cross-compatibility with `ibc-go` used
for iterating over consensus states
([\#1090](https://github.com/cosmos/ibc-rs/issues/1090))

### IMPROVEMENTS

- [ibc-core] Deprecate `ChannelEnd::order_matches` method
([\#394](https://github.com/cosmos/ibc-rs/issues/394))
- [ibc-apps] Ease `serde` derive on `ICS-20` and `ICS-721` types
([\#1060](https://github.com/cosmos/ibc-rs/pull/1060))
- [ibc-data-types] Refactor `Default` implementations with concrete names
([\#1074](https://github.com/cosmos/ibc-rs/issues/1074))
- [ibc-core] Deprecate `MsgSubmitMisbehaviour` in favor of `MsgUpdateClient` for
submitting misbehaviour reports
([\#1077](https://github.com/cosmos/ibc-rs/issues/1077))
- [ibc-core-host] Improve path segment access by exposing path prefixes and
implementing some convenient parent/leaf methods
([\#1089](https://github.com/cosmos/ibc-rs/issues/1089))
- [ibc-client-tendermint] Detach client state verifier such that users have a
way to utilize custom verifiers
([\#1097](https://github.com/cosmos/ibc-rs/pull/1097))
- [ibc-primitives] Use `let-else` over `downcast!()` and remove `utils/macros`
module as a result ([\#1118](https://github.com/cosmos/ibc-rs/issues/1118))
- [ibc-core] Remove unnecessary shadowing with same value
([\#1120](https://github.com/cosmos/ibc-rs/issues/1120))
- [ibc-core-connection] Remove `State::Uninitialized` check while parsing
`ConnectionEnd` from Protobuf
([\#1123](https://github.com/cosmos/ibc-rs/issues/1123))

## v0.50.0

*January 24, 2024*
Expand Down
56 changes: 28 additions & 28 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ exclude = [
]

[workspace.package]
version = "0.50.0"
version = "0.51.0"
license = "Apache-2.0"
edition = "2021"
rust-version = "1.71.1"
Expand All @@ -62,36 +62,36 @@ serde_json = { package = "serde-json-wasm", version = "1.0.1", default-
subtle-encoding = { version = "0.5", default-features = false }

# ibc dependencies
ibc = { version = "0.50.0", path = "./ibc", default-features = false }
ibc-core = { version = "0.50.0", path = "./ibc-core", default-features = false }
ibc-clients = { version = "0.50.0", path = "./ibc-clients", default-features = false }
ibc-apps = { version = "0.50.0", path = "./ibc-apps", default-features = false }
ibc-primitives = { version = "0.50.0", path = "./ibc-primitives", default-features = false }
ibc = { version = "0.51.0", path = "./ibc", default-features = false }
ibc-core = { version = "0.51.0", path = "./ibc-core", default-features = false }
ibc-clients = { version = "0.51.0", path = "./ibc-clients", default-features = false }
ibc-apps = { version = "0.51.0", path = "./ibc-apps", default-features = false }
ibc-primitives = { version = "0.51.0", path = "./ibc-primitives", default-features = false }
ibc-derive = { version = "0.6.0", path = "./ibc-derive" }

ibc-core-client = { version = "0.50.0", path = "./ibc-core/ics02-client", default-features = false }
ibc-core-connection = { version = "0.50.0", path = "./ibc-core/ics03-connection", default-features = false }
ibc-core-channel = { version = "0.50.0", path = "./ibc-core/ics04-channel", default-features = false }
ibc-core-host = { version = "0.50.0", path = "./ibc-core/ics24-host", default-features = false }
ibc-core-handler = { version = "0.50.0", path = "./ibc-core/ics25-handler", default-features = false }
ibc-core-router = { version = "0.50.0", path = "./ibc-core/ics26-routing", default-features = false }
ibc-client-tendermint = { version = "0.50.0", path = "./ibc-clients/ics07-tendermint", default-features = false }
ibc-app-transfer = { version = "0.50.0", path = "./ibc-apps/ics20-transfer", default-features = false }
ibc-app-nft-transfer = { version = "0.50.0", path = "./ibc-apps/ics721-nft-transfer", default-features = false }
ibc-core-client = { version = "0.51.0", path = "./ibc-core/ics02-client", default-features = false }
ibc-core-connection = { version = "0.51.0", path = "./ibc-core/ics03-connection", default-features = false }
ibc-core-channel = { version = "0.51.0", path = "./ibc-core/ics04-channel", default-features = false }
ibc-core-host = { version = "0.51.0", path = "./ibc-core/ics24-host", default-features = false }
ibc-core-handler = { version = "0.51.0", path = "./ibc-core/ics25-handler", default-features = false }
ibc-core-router = { version = "0.51.0", path = "./ibc-core/ics26-routing", default-features = false }
ibc-client-tendermint = { version = "0.51.0", path = "./ibc-clients/ics07-tendermint", default-features = false }
ibc-app-transfer = { version = "0.51.0", path = "./ibc-apps/ics20-transfer", default-features = false }
ibc-app-nft-transfer = { version = "0.51.0", path = "./ibc-apps/ics721-nft-transfer", default-features = false }

ibc-core-client-context = { version = "0.50.0", path = "./ibc-core/ics02-client/context", default-features = false }
ibc-core-client-types = { version = "0.50.0", path = "./ibc-core/ics02-client/types", default-features = false }
ibc-core-channel-types = { version = "0.50.0", path = "./ibc-core/ics04-channel/types", default-features = false }
ibc-core-connection-types = { version = "0.50.0", path = "./ibc-core/ics03-connection/types", default-features = false }
ibc-core-commitment-types = { version = "0.50.0", path = "./ibc-core/ics23-commitment/types", default-features = false }
ibc-core-host-cosmos = { version = "0.50.0", path = "./ibc-core/ics24-host/cosmos", default-features = false }
ibc-core-host-types = { version = "0.50.0", path = "./ibc-core/ics24-host/types", default-features = false }
ibc-core-handler-types = { version = "0.50.0", path = "./ibc-core/ics25-handler/types", default-features = false }
ibc-core-router-types = { version = "0.50.0", path = "./ibc-core/ics26-routing/types", default-features = false }
ibc-client-tendermint-types = { version = "0.50.0", path = "./ibc-clients/ics07-tendermint/types", default-features = false }
ibc-client-wasm-types = { version = "0.50.0", path = "./ibc-clients/ics08-wasm/types", default-features = false }
ibc-app-transfer-types = { version = "0.50.0", path = "./ibc-apps/ics20-transfer/types", default-features = false }
ibc-app-nft-transfer-types = { version = "0.50.0", path = "./ibc-apps/ics721-nft-transfer/types", default-features = false }
ibc-core-client-context = { version = "0.51.0", path = "./ibc-core/ics02-client/context", default-features = false }
ibc-core-client-types = { version = "0.51.0", path = "./ibc-core/ics02-client/types", default-features = false }
ibc-core-channel-types = { version = "0.51.0", path = "./ibc-core/ics04-channel/types", default-features = false }
ibc-core-connection-types = { version = "0.51.0", path = "./ibc-core/ics03-connection/types", default-features = false }
ibc-core-commitment-types = { version = "0.51.0", path = "./ibc-core/ics23-commitment/types", default-features = false }
ibc-core-host-cosmos = { version = "0.51.0", path = "./ibc-core/ics24-host/cosmos", default-features = false }
ibc-core-host-types = { version = "0.51.0", path = "./ibc-core/ics24-host/types", default-features = false }
ibc-core-handler-types = { version = "0.51.0", path = "./ibc-core/ics25-handler/types", default-features = false }
ibc-core-router-types = { version = "0.51.0", path = "./ibc-core/ics26-routing/types", default-features = false }
ibc-client-tendermint-types = { version = "0.51.0", path = "./ibc-clients/ics07-tendermint/types", default-features = false }
ibc-client-wasm-types = { version = "0.51.0", path = "./ibc-clients/ics08-wasm/types", default-features = false }
ibc-app-transfer-types = { version = "0.51.0", path = "./ibc-apps/ics20-transfer/types", default-features = false }
ibc-app-nft-transfer-types = { version = "0.51.0", path = "./ibc-apps/ics721-nft-transfer/types", default-features = false }

ibc-proto = { version = "0.42.2", default-features = false }

Expand Down
38 changes: 19 additions & 19 deletions ci/cw-check/Cargo.lock

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

Loading
Loading