Skip to content

Commit

Permalink
Release v0.52.0 (#1199)
Browse files Browse the repository at this point in the history
* Add 0.52 release summary

* Update changelog file and summary.md

* Bump ibc-derive version

* Update ibc-derive deps version

* Update Cargo.lock

* Update ibc crate versions

* Ensure changelog file's format isn't changed

* Run unclog release

* Update cw-check Cargo.lock

* update no-std-check cargo lockfile

* Incorporate PR feedback

* update summary.md

---------

Co-authored-by: Ranadeep Biswas <[email protected]>
  • Loading branch information
seanchen1991 and rnbguy authored Apr 26, 2024
1 parent e5c626f commit 67d0735
Show file tree
Hide file tree
Showing 21 changed files with 215 additions and 166 deletions.
18 changes: 18 additions & 0 deletions .changelog/v0.52.0/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
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`. Lastly, the ics07 tendermint light client has also been packaged and included
as a CosmWasm contract.

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.

The minimum-supported Rust version has been updated to `1.72`. `ibc-proto` has been
bumped to `0.43`. `tendermint` has been bumped to `0.35`. `ibc-derive` has been
bumped to `0.7`.

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

## v0.52.0

*April 26, 2024*

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`. Lastly, the ics07 tendermint light client has also been packaged and included
as a CosmWasm contract.

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.

The minimum-supported Rust version has been updated to `1.72`. `ibc-proto` has been
bumped to `0.43`. `tendermint` has been bumped to `0.35`. `ibc-derive` has been
bumped to `0.7`.

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

0 comments on commit 67d0735

Please sign in to comment.