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.54.0 #1305

Merged
merged 30 commits into from
Aug 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
e2321ab
Update dependencies
seanchen1991 Aug 7, 2024
279cef1
Merge branch 'main' of https://github.com/cosmos/ibc-rs into release/…
seanchen1991 Aug 7, 2024
ee44fb3
Revert tendermint dependencies to v0.38
seanchen1991 Aug 7, 2024
698d629
Revert tendermint deps to v0.38
seanchen1991 Aug 7, 2024
ce11201
Update dependencies
seanchen1991 Aug 7, 2024
868661c
Fix merge conflict
seanchen1991 Aug 7, 2024
bbfc250
Format cargo.toml files
seanchen1991 Aug 7, 2024
80f0ee5
Update dependencies
seanchen1991 Aug 8, 2024
58686b4
Merge branch 'main' of https://github.com/cosmos/ibc-rs into release/…
seanchen1991 Aug 8, 2024
19f917e
Update dependencies
seanchen1991 Aug 9, 2024
bb02c00
Format cargo.toml files
seanchen1991 Aug 9, 2024
6c7a65e
Merge branch 'main' into release/v0.54.0
Farhad-Shabani Aug 9, 2024
dd88741
Merge branch 'main' of https://github.com/cosmos/ibc-rs into release/…
seanchen1991 Aug 9, 2024
bbed1c7
Update basecoin-store dependency version
seanchen1991 Aug 9, 2024
c5e1d3a
Merge branch 'release/v0.54.0' of https://github.com/cosmos/ibc-rs in…
seanchen1991 Aug 9, 2024
a96af21
Format cargo.toml files
seanchen1991 Aug 9, 2024
6a4ef5f
Fix clippy warning
seanchen1991 Aug 9, 2024
06235cc
Update changelog for v0.54.0 release
seanchen1991 Aug 9, 2024
4182571
Bump ibc-derive version
seanchen1991 Aug 9, 2024
41ff475
Bump ibc crate versions
seanchen1991 Aug 9, 2024
6ecb69d
Format cargo.toml file
seanchen1991 Aug 9, 2024
6cc5cc9
Commit cosmwasm/Cargo.lock file
seanchen1991 Aug 9, 2024
87bdf0b
Remove cosmwasm release commands from Makefile
seanchen1991 Aug 9, 2024
df17a31
Update releases.md
seanchen1991 Aug 12, 2024
924c16d
Release cosmwasm workspace under main `make release` command
seanchen1991 Aug 12, 2024
cb80f47
Update ci/cw-check/Cargo.lock
seanchen1991 Aug 12, 2024
21cc047
Fix typo in releases.md
seanchen1991 Aug 12, 2024
05fa9d6
nit: few minor lints
Farhad-Shabani Aug 12, 2024
061ae15
nit: lint summary.md
Farhad-Shabani Aug 12, 2024
859a741
Add changelog entries for bumping dependencies
seanchen1991 Aug 12, 2024
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
24 changes: 24 additions & 0 deletions .changelog/v0.54.0/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
This release includes a number of breaking changes, including separating the
packet timeout timestamp from the host `Timestamp` via defining a new bespoke
`TimeoutTimestamp` type. The `cosmwasm` feature flag has been removed. CosmWasm
implementations have also been migrated into their own separate workspace under
the `cosmwasm` directory in an effort to simplify dependency management.

Notable bug fixes include:

- Correctly preventing expired client creation
- Expiring clients when the elapsed time from a trusted header matches the
trusting period
- Allowing user-defined upgrade paths for client upgrades rather than just
defaulting to `UPGRADED_IBC_STATE`
- Preventing `Timestamp::nanoseconds` from panicking by disallowing negative
values from `tendermint::Time`

Lastly, this release adds some new features, including allowing proof
verification methods to accept custom paths, thus allowing light client
developers to introduce custom path serialization logic into their applications.
CosmWasm response types have been refactored to match the `08-wasm` client API.

This release bumps the MSRV of ibc-rs to 1.72.1. `prost` has been bumped to 0.13.1.
`ibc-proto` has been bumped to 0.47.0. `tendermint` dependencies have been bumped
to 0.38.0. The `cosmwasm` dependency has also been bumped to 2.1.0.
133 changes: 113 additions & 20 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,98 @@
# CHANGELOG

## v0.54.0

*August 12, 2024*

This release includes a number of breaking changes, including separating the
packet timeout timestamp from the host `Timestamp` via defining a new bespoke
`TimeoutTimestamp` type. The `cosmwasm` feature flag has been removed. CosmWasm
implementations have also been migrated into their own separate workspace under
the `cosmwasm` directory in an effort to simplify dependency management.

Notable bug fixes include:

- Correctly preventing expired client creation
- Expiring clients when the elapsed time from a trusted header matches the
trusting period
- Allowing user-defined upgrade paths for client upgrades rather than just
defaulting to `UPGRADED_IBC_STATE`
- Preventing `Timestamp::nanoseconds` from panicking by disallowing negative
values from `tendermint::Time`

Lastly, this release adds some new features, including allowing proof
verification methods to accept custom paths, thus allowing light client
developers to introduce custom path serialization logic into their applications.
CosmWasm response types have been refactored to match the `08-wasm` client API.

This release bumps the MSRV of ibc-rs to 1.72.1. `prost` has been bumped to 0.13.1.
`ibc-proto` has been bumped to 0.47.0. `tendermint` dependencies have been bumped
to 0.38.0. The `cosmwasm` dependency has also been bumped to 2.1.0.

### BREAKING CHANGES
Farhad-Shabani marked this conversation as resolved.
Show resolved Hide resolved

- [ibc-primitive] Decouple `Timestamp` definition from `tendermint::Time`.
([\#180](https://github.com/cosmos/ibc-rs/issues/180))
- [ics23] Auto-derive `serde::Serialize` for `CommitmentPrefix`.
([\#1229](https://github.com/cosmos/ibc-rs/issues/1229))
- [ibc] Bump MSRV version to 1.72.1
([\#1276](https://github.com/cosmos/ibc-rs/pull/1276))
- [ibc-client-cw] Rename `path` to `merkle_path` in `cw-context` for verify
(non)membership ([\#1291](https://github.com/cosmos/ibc-rs/issues/1291))
- [ibc-core] Separate the packet timeout timestamp from the host `Timestamp` by
defining a new specific `TimeoutTimestamp`.
([\#1296](https://github.com/cosmos/ibc-rs/issues/1296))
- [ibc] Bump `prost` to 0.13.1
- [ibc] Bump `ibc-proto` to 0.47.0
- [ibc] Bump `tendermint` dependencies to 0.38.0

### BUG FIXES

- [ibc-core-client] Prevent expired client creations by ensuring that consensus
state's timestamp is within the trusting period.
- ([\#1088](https://github.com/cosmos/ibc-rs/issues/1088))
- [ibc-client-tendermint] Expire a client when the elapsed time from a trusted
header equals the trusting period, to stay consistent with the expiry logic in
`tendermint-rs` ([\#1239](https://github.com/cosmos/ibc-rs/issues/1239))
- [ibc-client-tendermint] Fix client verification panic on upgrades when the
`upgrade_path` size is 1.
([\#1297](https://github.com/cosmos/ibc-rs/issues/1297))
- [ibc-client-tendermint] Use the user-defined upgrade path for client upgrades,
instead of defaulting to `UPGRADED_IBC_STATE`.
([\#1303](https://github.com/cosmos/ibc-rs/issues/1303))
- [ibc-core] Prevent `Timestamp::nanoseconds` from panicking by disallowing
negative values from `tendermint::Time`.
([\#1306](https://github.com/cosmos/ibc-rs/issues/1306))

### FEATURES

- [ibc-core-commitment-types] Allow empty `CommitmentPrefix`
([#1006](https://github.com/cosmos/ibc-rs/issues/1006)).
- Unpack/pack Wasm client/consensus state at `ConnectionOpenTry` and
`ConnectionOpenAck` for host client/consensus state.
([#1237](https://github.com/cosmos/ibc-rs/issues/1237)).
- [ibc-core-client] Enable proof verification methods to accept custom paths as
bytes by defining a new `serializer_path()` API allowing light client
developers to introduce the path serialization behavior of their system.
([\#1255](https://github.com/cosmos/ibc-rs/issues/1255))

### IMPROVEMENTS

- [ibc] Update `ibc-proto` to v0.46.0 and `tendermint` to v0.37.0.
([\#1264](https://github.com/cosmos/ibc-rs/pull/1264))
- [ibc-client-cw] Supersede `Bytes` with `cosmwasm::Binary`.
([\#1271](https://github.com/cosmos/ibc-rs/issues/1271))
- [ibc-client] Bump cosmwasm version to 2.1.0
([\#1276](https://github.com/cosmos/ibc-rs/pull/1276))
- [ibc-client-cw] Refactor CosmWasm response types to match `08-wasm` client API
([\#1277](https://github.com/cosmos/ibc-rs/issues/1277))
- [ibc-client-wasm-type] Remove the `cosmwasm` feature for consistent feature
flags across ibc-rs, and use existing `serde` and `schema` features.
([\#1283](https://github.com/cosmos/ibc-rs/pull/1283))
- [cosmwasm] Move CosmWasm implementations to a separate workspace under
`cosmwasm` directory to simplify dependency management and decouple `ibc-rs`
MSRV from `cosmwasm`. ([\#1295](https://github.com/cosmos/ibc-rs/issue/1295))

## v0.53.0

*May 13, 2024*
Expand Down Expand Up @@ -725,7 +818,7 @@ There are consensus-breaking changes.

### BREAKING CHANGES

- Support for upgrade client proposal by featuring helper contexts and domain types
- Support for upgrade client proposal by featuring helper contexts and domain types
([#420](https://github.com/cosmos/ibc-rs/issues/420))
- Remove unused `ClientState` methods
([#681](https://github.com/cosmos/ibc-rs/issues/681))
Expand Down Expand Up @@ -848,7 +941,7 @@ There are consensus-breaking changes.

### BREAKING CHANGES

- `ClientState`: Split `check_misbehaviour_and_update_state`
- `ClientState`: Split `check_misbehaviour_and_update_state`
and `check_header_and_update_state`
([#535](https://github.com/cosmos/ibc-rs/issues/535))
- Improve MsgTransfer struct
Expand All @@ -862,12 +955,12 @@ There are consensus-breaking changes.
- Disallow creation of new Tendermint client state instance with a frozen height
([#178](https://github.com/cosmos/ibc-rs/issues/178))
- Emit a message event for SendPacket ([#574](https://github.com/cosmos/ibc-rs/issues/574))
- Properly convert from `Any` to `MsgEnvelope`
- Properly convert from `Any` to `MsgEnvelope`
([#578](https://github.com/cosmos/ibc-rs/issues/578))
- Tendermint light client: fix missing trusted_validator_set
- Tendermint light client: fix missing trusted_validator_set
hash check
([#583](https://github.com/cosmos/ibc-rs/issues/583))
- Tendermint light client: fix missing `Header.height()`
- Tendermint light client: fix missing `Header.height()`
vs `Header.trusted_height` check
([#585](https://github.com/cosmos/ibc-rs/issues/585))
- Tendermint light client: ensure that we use the correct
Expand Down Expand Up @@ -914,7 +1007,7 @@ This is a consensus-breaking change.

### BUG

- Timeout handler returns an error only when both height and timestamp have not reached yet
- Timeout handler returns an error only when both height and timestamp have not reached yet
([#555](https://github.com/cosmos/ibc-rs/issues/555))

## v0.34.0
Expand All @@ -927,7 +1020,7 @@ This is a consensus-breaking change.

### BUG

- Fix client IDs for the proof verifications in `ConnectionOpenTry` and `ConnectionOpenAck`
- Fix client IDs for the proof verifications in `ConnectionOpenTry` and `ConnectionOpenAck`
([#550](https://github.com/cosmos/ibc-rs/issues/550))

## v0.33.0
Expand All @@ -949,7 +1042,7 @@ There are no consensus-breaking changes.

### IMPROVEMENT

- Fix `ContextError` Display output
- Fix `ContextError` Display output
([#547](https://github.com/cosmos/ibc-rs/issues/547))

## v0.32.0
Expand All @@ -970,7 +1063,7 @@ There are no consensus-breaking changes.
- Refactor and privatize Packet/Ack commitment computations for improved security
and modularity.
([#470](https://github.com/cosmos/ibc-rs/issues/470))
- Allow for non-'static bound Modules
- Allow for non-'static bound Modules
[#490](https://github.com/cosmos/ibc-rs/issues/490))
- Separate the validation from the execution process for `send/mint/burn_coins`
operations.
Expand Down Expand Up @@ -1002,12 +1095,12 @@ There are no consensus-breaking changes.

- Remove ibc::handler module ([#478](https://github.com/cosmos/ibc-rs/issues/478))
- Discard the `connection-channels` method under `ValidationContext` since it is
no longer used by the core handlers.
no longer used by the core handlers.
([#479](https://github.com/cosmos/ibc-rs/issues/479))
- Remove Send + Sync supertraits on the Module trait
([#480](https://github.com/cosmos/ibc-rs/issues/480))
- Modify `validate_self_client` error type to return `ContextError` instead of
`ConnectionError`
`ConnectionError`
([#482](https://github.com/cosmos/ibc-rs/issues/482))

### IMPROVEMENTS
Expand All @@ -1019,7 +1112,7 @@ There are no consensus-breaking changes.
*February 24, 2023*

This release contains an overhaul of the `send_packet()` and `send_transfer()` architecture.
The main gain is to separate into `send_packet_{validate,execute}()`, and similarly for
The main gain is to separate into `send_packet_{validate,execute}()`, and similarly for
`send_transfer()`.

There are no consensus-breaking changes.
Expand Down Expand Up @@ -1103,7 +1196,7 @@ There are consensus-breaking changes.
### FEATURE

- Finish implementing `ValidationContext::validate()` and
`ExecutionContext::execute()`
`ExecutionContext::execute()`
([#393](https://github.com/cosmos/ibc-rs/issues/393))

### IMPROVEMENTS
Expand Down Expand Up @@ -1140,7 +1233,7 @@ There are no consensus-breaking changes.
([#20](https://github.com/cosmos/ibc-rs/issues/20))
- Simplify Msg trait by removing unnecessary methods.
([#218](https://github.com/cosmos/ibc-rs/issues/218))
- Refactor proof handlers to conduct proof verifications inline with the process function
- Refactor proof handlers to conduct proof verifications inline with the process function
and apply naming conventions to packet messages types
([#230](https://github.com/cosmos/ibc-rs/issues/230))
- The function parameters in the Reader traits now references,
Expand All @@ -1153,7 +1246,7 @@ There are no consensus-breaking changes.
- The function parameters in the `ValidationContext` trait now use references,
while the functions in the `ExecutionContext` trait take ownership directly.
([#319](https://github.com/cosmos/ibc-rs/issues/319))
- Make internal `process()` `pub(crate)`
- Make internal `process()` `pub(crate)`
([#338](https://github.com/cosmos/ibc-rs/issues/338))

### FEATURES
Expand Down Expand Up @@ -1273,7 +1366,7 @@ There are consensus-breaking changes in the connection and channel handshakes. H
([#145](https://github.com/cosmos/ibc-rs/issues/145))
- Makes channel/packet events compatible with ibc-go
([#146](https://github.com/cosmos/ibc-rs/issues/146))
- Remove crossing hellos logic from connection handshake. Breaking changes in
- Remove crossing hellos logic from connection handshake. Breaking changes in
connection message types.
([#156](https://github.com/cosmos/ibc-rs/issues/156)).
- Remove crossing hellos logic from channel handshake
Expand Down Expand Up @@ -1338,9 +1431,9 @@ This is a major release, which implemented [ADR 4](https://github.com/cosmos/ibc
- Remove `Display` from `IbcEvent` ([#144](https://github.com/cosmos/ibc-rs/issues/144)).
- Remove `IbcEvent::Empty` ([#144](https://github.com/cosmos/ibc-rs/issues/144)).
- Make `client_state` field required in `MsgConnectionOpenTry` and
`MsgConnectionOpenAck`. Necessary for correctness according to spec.
`MsgConnectionOpenAck`. Necessary for correctness according to spec.
([#159](https://github.com/cosmos/ibc-rs/issues/159)).
- Redesign the API to allow light client implementations to be hosted outside the ibc-rs repository.
- Redesign the API to allow light client implementations to be hosted outside the ibc-rs repository.
([#2483](https://github.com/informalsystems/ibc-rs/pull/2483)).

### BUG FIXES
Expand All @@ -1352,7 +1445,7 @@ This is a major release, which implemented [ADR 4](https://github.com/cosmos/ibc

### FEATURES

- Public PrefixedDenom inner type and add as_str func for BaseDenom
- Public PrefixedDenom inner type and add as_str func for BaseDenom
([#161](https://github.com/cosmos/ibc-rs/issues/161))

### IMPROVEMENTS
Expand Down Expand Up @@ -1466,7 +1559,7 @@ This is a major release, which implemented [ADR 4](https://github.com/cosmos/ibc

*May 2nd, 2022*

> This is a legacy version with no ibc crate changes.
> This is a legacy version with no ibc crate changes.
## v0.14.0

Expand Down
Loading
Loading