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.52.0 #1199

Merged
merged 14 commits into from
Apr 26, 2024
Merged
15 changes: 15 additions & 0 deletions .changelog/v0.52.0/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
This release adds some exciting changes, improvements, and new features to ibc-rs.
First and foremost, support for the IBC protocol's [client recovery][client-recovery]
mechanism has been implemented, which provides a route for frozen and expired IBC clients
to be re-instated following a successful governance vote. In addition, a new crate,
`ibc-client-cw`, facilitates CosmWasm contract creation for light clients built using
`ibc-rs`.

This release also includes a myriad of other bug-fixes and improvements,
such as enhancing the portability of ibc-rs's Validation and Execution Context traits,
as well as fixing an incompatibility with how ibc-rs parses `PrefixDenom`s compared
to ibc-go, among many others.

Finally, the minimum-supported Rust version has been updated to `1.72`.

There are no consensus-breaking changes as part of this release.
79 changes: 79 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,84 @@
# CHANGELOG

*April 26, 2024*

## v0.52.0
seanchen1991 marked this conversation as resolved.
Show resolved Hide resolved

This release adds some exciting changes, improvements, and new features to ibc-rs.
First and foremost, support for the IBC protocol's [client recovery][client-recovery]
mechanism has been implemented, which provides a route for frozen and expired IBC clients
to be re-instated following a successful governance vote. In addition, a new crate,
`ibc-client-cw`, facilitates CosmWasm contract creation for light clients built using
seanchen1991 marked this conversation as resolved.
Show resolved Hide resolved
`ibc-rs`.

This release also includes a myriad of other bug-fixes and improvements,
such as enhancing the portability of ibc-rs's Validation and Execution Context traits,
as well as fixing an incompatibility with how ibc-rs parses `PrefixDenom`s compared
to ibc-go, among many others.

Finally, the minimum-supported Rust version has been updated to `1.72`.
seanchen1991 marked this conversation as resolved.
Show resolved Hide resolved

There are no consensus-breaking changes as part of this release.

### BREAKING CHANGES

- [ibc] Enhance portability of custom `Validation/ExecutionContext` traits under
ICS-07. They are relocated, along with the rest of the
client-relevant context APIs, under ICS-02, with the traits renamed to
`ExtClientValidationContext` and `ExtClientExecutionContext` for improved
self-description ([\#1163](https://github.com/cosmos/ibc-rs/issues/1163))
- [ibc-client-tendermint] Simplify custom verifiers usage for Tendermint
clients by directly binding with `tendermint_light_client_verifier::Verifier`
and removing the unused `TmVerifier` trait.
([\#1168](https://github.com/cosmos/ibc-rs/pull/1168))
- [ibc] Update minimum supported Rust version to 1.72.
([\#1193](https://github.com/cosmos/ibc-rs/issues/1193))

### BUG FIXES

- [ibc-query] Update standalone query functions to use the specified query
height ([\#1154](https://github.com/cosmos/ibc-rs/issues/1154))
- [ibc-app-transfer] Bring `PrefixedDenom` parsing up to parity with `ibc-go`.
([\#1177](https://github.com/cosmos/ibc-rs/issues/1177))
- [ibc-app-nft-transfer] Reuse `TracePrefix` and `TracePath` from
`ibc-app-transfer-types` when parsing `PrefixedClassId`.
([\#1178](https://github.com/cosmos/ibc-rs/pull/1178))
- [ibc-core-channel-types] Make receive packet event type identifier consistent
with `ibc-go`. ([\#1180](https://github.com/cosmos/ibc-rs/issues/1180))

### FEATURES

- [ibc-core-client] Implement [client recovery][client-recovery] feature.
([\#738](https://github.com/cosmos/ibc-rs/issues/738))
- [ibc-clients] Introduce CosmWasm context library as `ibc-client-cw` crate to
facilitate CosmWasm contract creation for light clients built using `ibc-rs`
([\#1164](https://github.com/cosmos/ibc-rs/issues/1164))
- [ibc-client-tendermint] Introduce `ibc-client-tendermint-cw` crate
implementing CosmWasm contract for ICS-07 Tendermint light client.
([\#1165](https://github.com/cosmos/ibc-rs/issues/1165))

[client-recovery]: https://github.com/cosmos/ibc-go/blob/main/docs/architecture/adr-026-ibc-client-recovery-mechanisms.md

### IMPROVEMENTS

- [ibc-core-commitment-types] Fallible conversion for `ProofSpec`, `LeafOp` and
`InnerSpec`. ([\#1108](https://github.com/cosmos/ibc-rs/issues/1108))
- [ibc-client-tendermint-types] Box header fields inside of Misbehaviour type so
that the type is smaller (i.e. trade size of the type for heap memory). This
prevents stack overflows on systems with small stack (e.g. Solana).
([\#1145](https://github.com/cosmos/ibc-rs/pull/1145))
- [ibc-client-tendermint] Decouple the arguments of ICS07 Header/Misbehavior
verification functions from the Tendermint client type by flattening and
passing only the required fields.
([\#1149](https://github.com/cosmos/ibc-rs/issues/1149))
- [ibc-query] Add support for querying `upgraded_client/consensus_state` at a
given height along with returning their proof of existence in the response.
([\#1152](https://github.com/cosmos/ibc-rs/issues/1152))
- [ibc-client-tendermint] Add `into_inner()` method to ICS07 `ConsensusState`
([\#1156](https://github.com/cosmos/ibc-rs/pull/1156))
- Update `ibc-proto` to v0.43.0 and `tendermint` dependencies to v0.35.0.
([\#1171](https://github.com/cosmos/ibc-rs/issues/1171))

## v0.51.0

*March 26, 2024*
Expand Down
64 changes: 32 additions & 32 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ exclude = [
]

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

# ibc dependencies
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-testkit = { version = "0.51.0", path = "./ibc-testkit", default-features = false }
ibc = { version = "0.52.0", path = "./ibc", default-features = false }
ibc-core = { version = "0.52.0", path = "./ibc-core", default-features = false }
ibc-clients = { version = "0.52.0", path = "./ibc-clients", default-features = false }
ibc-apps = { version = "0.52.0", path = "./ibc-apps", default-features = false }
ibc-primitives = { version = "0.52.0", path = "./ibc-primitives", default-features = false }
ibc-testkit = { version = "0.52.0", path = "./ibc-testkit", default-features = false }

ibc-derive = { version = "0.6.1", path = "./ibc-derive" }
ibc-derive = { version = "0.7.0", path = "./ibc-derive" }

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-core-client = { version = "0.52.0", path = "./ibc-core/ics02-client", default-features = false }
ibc-core-connection = { version = "0.52.0", path = "./ibc-core/ics03-connection", default-features = false }
ibc-core-channel = { version = "0.52.0", path = "./ibc-core/ics04-channel", default-features = false }
ibc-core-host = { version = "0.52.0", path = "./ibc-core/ics24-host", default-features = false }
ibc-core-handler = { version = "0.52.0", path = "./ibc-core/ics25-handler", default-features = false }
ibc-core-router = { version = "0.52.0", path = "./ibc-core/ics26-routing", default-features = false }

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

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

Expand Down
44 changes: 22 additions & 22 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