Skip to content

Commit

Permalink
Release v0.53.0 (#1223)
Browse files Browse the repository at this point in the history
* Add 0.53 summary to changelog.md

* Revert "Add 0.53 summary to changelog.md"

This reverts commit 9618fa0.

* Add 0.53 summary to changelog.md

* Bump ibc crate versions

* Run taplo format

* Rebuild cw-check Cargo.lock file

* use basecoin-store release

* add missing changelog

* nit on summary.md

* add the other bug

* update changelog

* fix english article

* update no-std-check cargo lockfile

* update dep graph png

* update release md

* fix indent

---------

Co-authored-by: Ranadeep Biswas <[email protected]>
  • Loading branch information
seanchen1991 and rnbguy authored May 13, 2024
1 parent 2367cb9 commit 97165b1
Show file tree
Hide file tree
Showing 14 changed files with 343 additions and 325 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- [ibc-core] Reject IBC packets without height and timestamp timeout.
([\#1198](https://github.com/cosmos/ibc-rs/issues/1198))
3 changes: 3 additions & 0 deletions .changelog/v0.53.0/improvements/1109-revamp-ibc-testkit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- [ibc-testkit] Major refactor of the `ibc-testkit` via
[ADR-09](https://github.com/cosmos/ibc-rs/blob/main/docs/architecture/adr-009-revamp-testkit.md).
([\#1109](https://github.com/cosmos/ibc-rs/issues/1109))
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- [ibc-core] Replace fixed `ClientError` associated type restriction with an
`Into<ClientError>` trait bound.
([\#1203](https://github.com/cosmos/ibc-rs/issues/1203))
22 changes: 22 additions & 0 deletions .changelog/v0.53.0/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
This release overhauls the `ibc-testkit` crate such that it is now able to:

- simulate more realistic IBC workflows by utilizing real IBC and relayer
interfaces (as opposed to mocked versions)
- validate code paths that were not easily testable beforehand, such as Merkle
proof generation
- compose tests in a much more succinct and readable fashion

Note that the drastic changes made to `ibc-testkit`'s structs and types are
breaking changes.

For more information and background context on the changes to `ibc-testkit` and
the rationale behind the overhaul, please refer to [ADR 009][adr-009].

This release also includes two fixes. One is to reject packets without height
and timestamp timeout. The other is to correct the proof verification logic for
a `PacketTimeout` due to a closed channel, which was verifying an incorrect
field. It also bumps the minimum-supported version of `ibc-proto` to 0.44, and
the version of `tendermint` to 0.36. Note that the minimum-supported Rust
version was reverted back to 1.71.1.

[adr-009]: https://github.com/cosmos/ibc-rs/blob/main/docs/architecture/adr-009-revamp-testkit.md
50 changes: 50 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,55 @@
# CHANGELOG

## v0.53.0

*May 13, 2024*

This release overhauls the `ibc-testkit` crate such that it is now able to:

- simulate more realistic IBC workflows by utilizing real IBC and relayer
interfaces (as opposed to mocked versions)
- validate code paths that were not easily testable beforehand, such as Merkle
proof generation
- compose tests in a much more succinct and readable fashion

Note that the drastic changes made to `ibc-testkit`'s structs and types are
breaking changes.

For more information and background context on the changes to `ibc-testkit` and
the rationale behind the overhaul, please refer to [ADR 009][adr-009].

This release also includes two fixes. One is to reject packets without height
and timestamp timeout. The other is to correct the proof verification logic for
a `PacketTimeout` due to a closed channel, which was verifying an incorrect
field. It also bumps the minimum-supported version of `ibc-proto` to 0.44, and
the version of `tendermint` to 0.36. Note that the minimum-supported Rust
version was reverted back to 1.71.1.

[adr-009]: https://github.com/cosmos/ibc-rs/blob/main/docs/architecture/adr-009-revamp-testkit.md

### BUG FIXES

- [ibc-core] Reject IBC packets without height and timestamp timeout.
([\#1198](https://github.com/cosmos/ibc-rs/issues/1198))
- [ibc-core] Fix proof verification for `PacketTimeout` on a closed channel.
([\#1217](https://github.com/cosmos/ibc-rs/issues/1217))

### IMPROVEMENTS

- [ibc-testkit] Replace `HostBlock` and `HostType` enums with a `Host` trait to
eliminate manual delegations by utilizing monomorphization.
([\#1044](https://github.com/cosmos/ibc-rs/issues/1044))
- [ibc-testkit] Major refactor of the `ibc-testkit` via
[ADR-09](https://github.com/cosmos/ibc-rs/blob/main/docs/architecture/adr-009-revamp-testkit.md).
([\#1109](https://github.com/cosmos/ibc-rs/issues/1109))
- [ibc-core] Replace fixed `ClientError` associated type restriction with an
`Into<ClientError>` trait bound.
([\#1203](https://github.com/cosmos/ibc-rs/issues/1203))
- Update `ibc-proto` to v0.44.0 and `tendermint` dependencies to v0.36.0.
([\#1212](https://github.com/cosmos/ibc-rs/issues/1212))
- Revert Rust minimum supported version to `1.71.1`.
([\#1206](https://github.com/cosmos/ibc-rs/pull/1206))

## v0.52.0

*April 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.52.0"
version = "0.53.0"
license = "Apache-2.0"
edition = "2021"
rust-version = "1.71.1"
Expand All @@ -65,43 +65,43 @@ serde_json = { package = "serde-json-wasm", version = "1.0.1", default-feat
subtle-encoding = { version = "0.5", default-features = false }

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

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

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

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

Expand Down
22 changes: 12 additions & 10 deletions RELEASES.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,19 @@ Our release process is as follows:
the root `Cargo.toml` as well, and push these changes to the release PR.
- If you released a new version of `ibc-derive` in step 3, make sure to
update that dependency.
- Verify that there is no dev-dependency among the workspace crates,
except `ibc-testkit`. This is important, as `cargo-release` ignores
dev-dependency edges. You may use `cargo-depgraph`:
```sh
cargo depgraph --all-features --workspace-only --dev-deps | dot -Tpng > graph.png
```
- Verify that there is no dev-dependency among the workspace crates. This is
important, as `cargo-release` ignores dev-dependency edges. You may use
`cargo-depgraph`:
```sh
cargo depgraph --all-features --workspace-only --dev-deps | dot -Tpng > graph.png
```
The command will generate a graph similar to this:
![alt test](docs/dev-deps-graph.png)
The blue lines indicate dev dependencies; there should only be one blue line
referring to the `ibc-testkit` dependency. So the above example would result
in an unsuccessful release.
![alt test](docs/dev-deps-graph.png) The dev dependencies are colored with
blue arrows. Currently, there are no blue arrows, i.e. there is no dev
dependency among the IBC crates. It is advised to avoid any dev dependency
because of release order complicacy (except maybe inside `ibc-testkit`, as
it is the top crate that depends on `ibc` crate and no other crate depends
on it).
- In order to resolve such a situation, the dev dependencies other than `ibc-testkit`
can be manually released to crates.io first so that the subsequent crates that
depend on them can then be released via the release process. For instructions
Expand Down
Loading

0 comments on commit 97165b1

Please sign in to comment.