Skip to content

Commit 68268ec

Browse files
Release v0.54.0 (#1305)
* Update dependencies * Revert tendermint dependencies to v0.38 * Revert tendermint deps to v0.38 * Update dependencies * Format cargo.toml files * Update dependencies * Update dependencies * Format cargo.toml files * Update basecoin-store dependency version * Format cargo.toml files * Fix clippy warning * Update changelog for v0.54.0 release * Bump ibc-derive version * Bump ibc crate versions * Format cargo.toml file * Commit cosmwasm/Cargo.lock file * Remove cosmwasm release commands from Makefile * Update releases.md * Release cosmwasm workspace under main `make release` command * Update ci/cw-check/Cargo.lock * Fix typo in releases.md * nit: few minor lints * nit: lint summary.md * Add changelog entries for bumping dependencies --------- Co-authored-by: Farhad Shabani <[email protected]>
1 parent 9d19cc9 commit 68268ec

34 files changed

+486
-374
lines changed

.changelog/v0.54.0/summary.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
This release includes a number of breaking changes, including separating the
2+
packet timeout timestamp from the host `Timestamp` via defining a new bespoke
3+
`TimeoutTimestamp` type. The `cosmwasm` feature flag has been removed. CosmWasm
4+
implementations have also been migrated into their own separate workspace under
5+
the `cosmwasm` directory in an effort to simplify dependency management.
6+
7+
Notable bug fixes include:
8+
9+
- Correctly preventing expired client creation
10+
- Expiring clients when the elapsed time from a trusted header matches the
11+
trusting period
12+
- Allowing user-defined upgrade paths for client upgrades rather than just
13+
defaulting to `UPGRADED_IBC_STATE`
14+
- Preventing `Timestamp::nanoseconds` from panicking by disallowing negative
15+
values from `tendermint::Time`
16+
17+
Lastly, this release adds some new features, including allowing proof
18+
verification methods to accept custom paths, thus allowing light client
19+
developers to introduce custom path serialization logic into their applications.
20+
CosmWasm response types have been refactored to match the `08-wasm` client API.
21+
22+
This release bumps the MSRV of ibc-rs to 1.72.1. `prost` has been bumped to 0.13.1.
23+
`ibc-proto` has been bumped to 0.47.0. `tendermint` dependencies have been bumped
24+
to 0.38.0. The `cosmwasm` dependency has also been bumped to 2.1.0.

CHANGELOG.md

Lines changed: 113 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,98 @@
11
# CHANGELOG
22

3+
## v0.54.0
4+
5+
*August 12, 2024*
6+
7+
This release includes a number of breaking changes, including separating the
8+
packet timeout timestamp from the host `Timestamp` via defining a new bespoke
9+
`TimeoutTimestamp` type. The `cosmwasm` feature flag has been removed. CosmWasm
10+
implementations have also been migrated into their own separate workspace under
11+
the `cosmwasm` directory in an effort to simplify dependency management.
12+
13+
Notable bug fixes include:
14+
15+
- Correctly preventing expired client creation
16+
- Expiring clients when the elapsed time from a trusted header matches the
17+
trusting period
18+
- Allowing user-defined upgrade paths for client upgrades rather than just
19+
defaulting to `UPGRADED_IBC_STATE`
20+
- Preventing `Timestamp::nanoseconds` from panicking by disallowing negative
21+
values from `tendermint::Time`
22+
23+
Lastly, this release adds some new features, including allowing proof
24+
verification methods to accept custom paths, thus allowing light client
25+
developers to introduce custom path serialization logic into their applications.
26+
CosmWasm response types have been refactored to match the `08-wasm` client API.
27+
28+
This release bumps the MSRV of ibc-rs to 1.72.1. `prost` has been bumped to 0.13.1.
29+
`ibc-proto` has been bumped to 0.47.0. `tendermint` dependencies have been bumped
30+
to 0.38.0. The `cosmwasm` dependency has also been bumped to 2.1.0.
31+
32+
### BREAKING CHANGES
33+
34+
- [ibc-primitive] Decouple `Timestamp` definition from `tendermint::Time`.
35+
([\#180](https://github.com/cosmos/ibc-rs/issues/180))
36+
- [ics23] Auto-derive `serde::Serialize` for `CommitmentPrefix`.
37+
([\#1229](https://github.com/cosmos/ibc-rs/issues/1229))
38+
- [ibc] Bump MSRV version to 1.72.1
39+
([\#1276](https://github.com/cosmos/ibc-rs/pull/1276))
40+
- [ibc-client-cw] Rename `path` to `merkle_path` in `cw-context` for verify
41+
(non)membership ([\#1291](https://github.com/cosmos/ibc-rs/issues/1291))
42+
- [ibc-core] Separate the packet timeout timestamp from the host `Timestamp` by
43+
defining a new specific `TimeoutTimestamp`.
44+
([\#1296](https://github.com/cosmos/ibc-rs/issues/1296))
45+
- [ibc] Bump `prost` to 0.13.1
46+
- [ibc] Bump `ibc-proto` to 0.47.0
47+
- [ibc] Bump `tendermint` dependencies to 0.38.0
48+
49+
### BUG FIXES
50+
51+
- [ibc-core-client] Prevent expired client creations by ensuring that consensus
52+
state's timestamp is within the trusting period.
53+
- ([\#1088](https://github.com/cosmos/ibc-rs/issues/1088))
54+
- [ibc-client-tendermint] Expire a client when the elapsed time from a trusted
55+
header equals the trusting period, to stay consistent with the expiry logic in
56+
`tendermint-rs` ([\#1239](https://github.com/cosmos/ibc-rs/issues/1239))
57+
- [ibc-client-tendermint] Fix client verification panic on upgrades when the
58+
`upgrade_path` size is 1.
59+
([\#1297](https://github.com/cosmos/ibc-rs/issues/1297))
60+
- [ibc-client-tendermint] Use the user-defined upgrade path for client upgrades,
61+
instead of defaulting to `UPGRADED_IBC_STATE`.
62+
([\#1303](https://github.com/cosmos/ibc-rs/issues/1303))
63+
- [ibc-core] Prevent `Timestamp::nanoseconds` from panicking by disallowing
64+
negative values from `tendermint::Time`.
65+
([\#1306](https://github.com/cosmos/ibc-rs/issues/1306))
66+
67+
### FEATURES
68+
69+
- [ibc-core-commitment-types] Allow empty `CommitmentPrefix`
70+
([#1006](https://github.com/cosmos/ibc-rs/issues/1006)).
71+
- Unpack/pack Wasm client/consensus state at `ConnectionOpenTry` and
72+
`ConnectionOpenAck` for host client/consensus state.
73+
([#1237](https://github.com/cosmos/ibc-rs/issues/1237)).
74+
- [ibc-core-client] Enable proof verification methods to accept custom paths as
75+
bytes by defining a new `serializer_path()` API allowing light client
76+
developers to introduce the path serialization behavior of their system.
77+
([\#1255](https://github.com/cosmos/ibc-rs/issues/1255))
78+
79+
### IMPROVEMENTS
80+
81+
- [ibc] Update `ibc-proto` to v0.46.0 and `tendermint` to v0.37.0.
82+
([\#1264](https://github.com/cosmos/ibc-rs/pull/1264))
83+
- [ibc-client-cw] Supersede `Bytes` with `cosmwasm::Binary`.
84+
([\#1271](https://github.com/cosmos/ibc-rs/issues/1271))
85+
- [ibc-client] Bump cosmwasm version to 2.1.0
86+
([\#1276](https://github.com/cosmos/ibc-rs/pull/1276))
87+
- [ibc-client-cw] Refactor CosmWasm response types to match `08-wasm` client API
88+
([\#1277](https://github.com/cosmos/ibc-rs/issues/1277))
89+
- [ibc-client-wasm-type] Remove the `cosmwasm` feature for consistent feature
90+
flags across ibc-rs, and use existing `serde` and `schema` features.
91+
([\#1283](https://github.com/cosmos/ibc-rs/pull/1283))
92+
- [cosmwasm] Move CosmWasm implementations to a separate workspace under
93+
`cosmwasm` directory to simplify dependency management and decouple `ibc-rs`
94+
MSRV from `cosmwasm`. ([\#1295](https://github.com/cosmos/ibc-rs/issue/1295))
95+
396
## v0.53.0
497

598
*May 13, 2024*
@@ -725,7 +818,7 @@ There are consensus-breaking changes.
725818

726819
### BREAKING CHANGES
727820

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

849942
### BREAKING CHANGES
850943

851-
- `ClientState`: Split `check_misbehaviour_and_update_state`
944+
- `ClientState`: Split `check_misbehaviour_and_update_state`
852945
and `check_header_and_update_state`
853946
([#535](https://github.com/cosmos/ibc-rs/issues/535))
854947
- Improve MsgTransfer struct
@@ -862,12 +955,12 @@ There are consensus-breaking changes.
862955
- Disallow creation of new Tendermint client state instance with a frozen height
863956
([#178](https://github.com/cosmos/ibc-rs/issues/178))
864957
- Emit a message event for SendPacket ([#574](https://github.com/cosmos/ibc-rs/issues/574))
865-
- Properly convert from `Any` to `MsgEnvelope`
958+
- Properly convert from `Any` to `MsgEnvelope`
866959
([#578](https://github.com/cosmos/ibc-rs/issues/578))
867-
- Tendermint light client: fix missing trusted_validator_set
960+
- Tendermint light client: fix missing trusted_validator_set
868961
hash check
869962
([#583](https://github.com/cosmos/ibc-rs/issues/583))
870-
- Tendermint light client: fix missing `Header.height()`
963+
- Tendermint light client: fix missing `Header.height()`
871964
vs `Header.trusted_height` check
872965
([#585](https://github.com/cosmos/ibc-rs/issues/585))
873966
- Tendermint light client: ensure that we use the correct
@@ -914,7 +1007,7 @@ This is a consensus-breaking change.
9141007

9151008
### BUG
9161009

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

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

9281021
### BUG
9291022

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

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

9501043
### IMPROVEMENT
9511044

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

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

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

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

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

10251118
There are no consensus-breaking changes.
@@ -1103,7 +1196,7 @@ There are consensus-breaking changes.
11031196
### FEATURE
11041197

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

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

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

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

13531446
### FEATURES
13541447

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

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

14671560
*May 2nd, 2022*
14681561

1469-
> This is a legacy version with no ibc crate changes.
1562+
> This is a legacy version with no ibc crate changes.
14701563
14711564
## v0.14.0
14721565

0 commit comments

Comments
 (0)