Skip to content

Commit

Permalink
Release v0.55.0 (#1354)
Browse files Browse the repository at this point in the history
* chore: write changelog and summary

* chore: bump version + update Cargo.lock

* nit

* editorial

---------

Co-authored-by: Ranadeep Biswas <mail@rnbguy.at>
  • Loading branch information
Farhad-Shabani and rnbguy authored Sep 26, 2024
1 parent e31fd3e commit a163056
Show file tree
Hide file tree
Showing 17 changed files with 168 additions and 80 deletions.
22 changes: 22 additions & 0 deletions .changelog/v0.55.0/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
This release brings major improvements to error handling in `ibc-rs`, giving
hosting environments better control over errors and easier debugging for the
developers. A key enhancement is the clearer distinction between host-sourced
errors and those propagated by `ibc-rs`, effectively separating host-level
errors from protocol-level ones. Therefore, a noticeable update is the renaming
of the previous `ContextError` to `HandlerError`, which now exclusively manages
errors from IBC handlers. In parallel, a new `HostError` has been introduced to
handle errors originating from hosts, particularly those from validation and
execution contexts. Additionally, error definitions within `ibc-rs` have been
unified, reducing the granularity of error variants. For more details, please
refer to [ADR-011](./docs/architecture/adr-11-refactor-errors.md).

In addition, it introduces various fixes and enhancements. Notably, helper
traits with default implementations have been added to simplify the conversion
between host time types and `Timestamp`. Consequently, the `ibc-primitives`
crate has been fully decoupled from the `tendermint` dependency.

It’s also worth noting that the `cosmwasm` workspace has been relocated to its
own repository, now available under
[cosmwasm-ibc](https://github.com/informalsystems/cosmwasm-ibc).

There are no consensus-breaking changes in this release.
66 changes: 66 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,71 @@
# CHANGELOG

## v0.55.0

*September 26, 2024*

This release brings major improvements to error handling in `ibc-rs`, giving
hosting environments better control over errors and easier debugging for the
developers. A key enhancement is the clearer distinction between host-sourced
errors and those propagated by `ibc-rs`, effectively separating host-level
errors from protocol-level ones. Therefore, a noticeable update is the renaming
of the previous `ContextError` to `HandlerError`, which now exclusively manages
errors from IBC handlers. In parallel, a new `HostError` has been introduced to
handle errors originating from hosts, particularly those from validation and
execution contexts. Additionally, error definitions within `ibc-rs` have been
unified, reducing the granularity of error variants. For more details, please
refer to [ADR-011](./docs/architecture/adr-11-refactor-errors.md).

In addition, it introduces various fixes and enhancements. Notably, helper
traits with default implementations have been added to simplify the conversion
between host time types and `Timestamp`. Consequently, the `ibc-primitives`
crate has been fully decoupled from the `tendermint` dependency.

It’s also worth noting that the `cosmwasm` workspace has been relocated to its
own repository, now available under
[cosmwasm-ibc](https://github.com/informalsystems/cosmwasm-ibc).

There are no consensus-breaking changes in this release.

### BREAKING CHANGES

- [ibc] Standardize error variants across the codebase to make them less
specific and more consistent.
([\#270](https://github.com/cosmos/ibc-rs/issues/270))
- [ibc-core-handler] Return `DecodingError` for `MsgEnvelope` when trying to
decode from `Any` ([\#950](https://github.com/cosmos/ibc-rs/issues/950))
- [cosmwasm] Migrate the `cosmwasm` workspace into its own separate repository
located at [cosmwasm-ibc](https://github.com/informalsystems/cosmwasm-ibc).
([\#1311](https://github.com/cosmos/ibc-rs/issues/1311))
- [ibc] Consolidate decoding-related errors into new `DecodingError` type
([\1319](https://github.com/cosmos/ibc-rs/issues/1319))
- [ibc-core] Define a new `HostError` type in ICS-24 to draw distinction between
protocol errors and host errors. Additionally, rename `ContextError` to
`HandlerError` to better reflect its use case.
([\1320](https://github.com/cosmos/ibc-rs/issues/1320))
- [ibc-core-channel] Merge `PacketError` type into `ChannelError`
([#1339](https://github.com/cosmos/ibc-rs/issues/1339))
- [ibc] Clean up multi-purpose variants like the `Other` variant and reduce
unnecessary `String` allocations in `*Error` enums.
([\#1346](https://github.com/cosmos/ibc-rs/issues/1346))
- [ibc-core-client] Update ICS-02 `ConsensusState::timestamp()` to return
`Result<Timestamp, ClientError>`
([\#1352](https://github.com/cosmos/ibc-rs/issues/1352))

### BUG FIXES

- [ibc-core] Remove faulty receipt check during `recv_packet_validate`
([#1336](https://github.com/cosmos/ibc-rs/issues/1336)).

### IMPROVEMENTS

- [ibc-primitives] Define utility traits for converting between `Timestamp` and
host-specific time types.
([#1323](https://github.com/cosmos/ibc-rs/pull/1323)).
- [ibc-testkit] Remove redundant path constructions in the implementation of
`ValidationContext` for `MockIbcStore`
([#1338](https://github.com/cosmos/ibc-rs/pull/1338)).

## v0.54.0

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

[workspace.package]
version = "0.54.0"
version = "0.55.0"
license = "Apache-2.0"
edition = "2021"
rust-version = "1.72.1"
Expand All @@ -68,42 +68,42 @@ subtle-encoding = { version = "0.5", default-features = false }
hex = { version = "0.4.3", default-features = false }

# ibc dependencies
ibc = { version = "0.54.0", path = "./ibc", default-features = false }
ibc-core = { version = "0.54.0", path = "./ibc-core", default-features = false }
ibc-clients = { version = "0.54.0", path = "./ibc-clients", default-features = false }
ibc-apps = { version = "0.54.0", path = "./ibc-apps", default-features = false }
ibc-primitives = { version = "0.54.0", path = "./ibc-primitives", default-features = false }
ibc-testkit = { version = "0.54.0", path = "./ibc-testkit", default-features = false }
ibc = { version = "0.55.0", path = "./ibc", default-features = false }
ibc-core = { version = "0.55.0", path = "./ibc-core", default-features = false }
ibc-clients = { version = "0.55.0", path = "./ibc-clients", default-features = false }
ibc-apps = { version = "0.55.0", path = "./ibc-apps", default-features = false }
ibc-primitives = { version = "0.55.0", path = "./ibc-primitives", default-features = false }
ibc-testkit = { version = "0.55.0", path = "./ibc-testkit", default-features = false }

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

ibc-core-client = { version = "0.54.0", path = "./ibc-core/ics02-client", default-features = false }
ibc-core-connection = { version = "0.54.0", path = "./ibc-core/ics03-connection", default-features = false }
ibc-core-channel = { version = "0.54.0", path = "./ibc-core/ics04-channel", default-features = false }
ibc-core-host = { version = "0.54.0", path = "./ibc-core/ics24-host", default-features = false }
ibc-core-handler = { version = "0.54.0", path = "./ibc-core/ics25-handler", default-features = false }
ibc-core-router = { version = "0.54.0", path = "./ibc-core/ics26-routing", default-features = false }
ibc-query = { version = "0.54.0", path = "./ibc-query", default-features = false }
ibc-core-client = { version = "0.55.0", path = "./ibc-core/ics02-client", default-features = false }
ibc-core-connection = { version = "0.55.0", path = "./ibc-core/ics03-connection", default-features = false }
ibc-core-channel = { version = "0.55.0", path = "./ibc-core/ics04-channel", default-features = false }
ibc-core-host = { version = "0.55.0", path = "./ibc-core/ics24-host", default-features = false }
ibc-core-handler = { version = "0.55.0", path = "./ibc-core/ics25-handler", default-features = false }
ibc-core-router = { version = "0.55.0", path = "./ibc-core/ics26-routing", default-features = false }
ibc-query = { version = "0.55.0", path = "./ibc-query", default-features = false }

ibc-client-cw = { version = "0.54.0", path = "./ibc-clients/cw-context", default-features = false }
ibc-client-tendermint = { version = "0.54.0", path = "./ibc-clients/ics07-tendermint", default-features = false }
ibc-client-cw = { version = "0.55.0", path = "./ibc-clients/cw-context", default-features = false }
ibc-client-tendermint = { version = "0.55.0", path = "./ibc-clients/ics07-tendermint", default-features = false }

ibc-app-transfer = { version = "0.54.0", path = "./ibc-apps/ics20-transfer", default-features = false }
ibc-app-nft-transfer = { version = "0.54.0", path = "./ibc-apps/ics721-nft-transfer", default-features = false }
ibc-app-transfer = { version = "0.55.0", path = "./ibc-apps/ics20-transfer", default-features = false }
ibc-app-nft-transfer = { version = "0.55.0", path = "./ibc-apps/ics721-nft-transfer", default-features = false }

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

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

Expand Down
42 changes: 21 additions & 21 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 a163056

Please sign in to comment.