UPDATES
- 27th October 2022: This release is NOT recommended since it uses a version of the Cosmos SDK impacted by the dragonberry security advisory. Please use version >= 4.1.1.
- 20th September 2022: It is NOT recommended to use the ICS27 host submodule of this release, since it contains a security vulnerability. Please use version >= 4.1.0.
- 20th September 2022: fee-enabled Interchain Accounts channels cannot be reopened in case of channel closure due to packet timeout. Regular Interchain Accounts channels (i.e. non fee-enabled) can be reopened. In order to be able to reopen fee-enabled Interchain Accounts channels, please upgrade to v5.0.0 or above.
This release includes v1 of the Fee Middleware module. 🍾
Please read the introduction blog post and the documentation!
Many thanks to @devashishdxt @allthatjazzleo and other folks at crypto.com for their feedback and early integration of the feature. 🙏
This release also bumps the Go version to v1.18 and the Cosmos SDK to v0.45.7 (for more information, see Cosmos SDK v0.45.7 Release Notes), and introduces several improvements and bug fixes. We present here a summary of the most relevant changes, but please see the v4.0.0 changelog for the full set of changes included in this release.
core/03-connection
- The defensive logic to handle crossing hellos has been removed from the connection handshake. The
PreviousConnectionId
field inMsgConnectionOpenTry
has been deprecated. - The
PreviousConnectionID
argument has been removed fromNewMsgConnectionOpenTry
.MsgConnectionOpenTry.ValidateBasic()
returns now an error if the deprecatedPreviousConnectionID
is not empty.
core/04-channel
- The
OnChanOpenInit
application callback now returns a version string in line with the latest spec change. - The
NewErrorAcknowledgement
function accepts now an error instead of a string, removing therefore the possibility of non-deterministic writes to application state. Please read the relevant section in the migration documentation for more details. - The defensive logic to handle crossing hellos has been removed from the channel handshake. The
PreviousChannelId
field inMsgChannelOpenTry
has been deprecated. - The
PreviousChannelID
argument has been removed fromNewMsgChannelOpenTry
.MsgChannelOpenTry.ValidateBasic()
returns now an error if the deprecatedPreviousChannelID
is not empty.
apps/transfer
- The
NewErrorAcknowledgement
function has been removed in favour of04-channel
'sNewErrorAcknowledgement
. - A new migration has been added to correct any malformed trace path information of tokens whose base denomination contains slashes. The transfer module consensus version has been bumped to 2.
- The channel ID is now used to split the complete denomination into the trace path and the base denomination. Previously the port ID
transfer
was used. - A check has been added to ensure that the sender is not a blocked address. Thanks to @asalzmann for reporting a problem with blocked addresses that resulted in this fix.
apps/27-interchain-accounts
- The
RegisterInterchainAccount
function includes now an additional version argument to support ICS29 fee middleware functionality in ICS27 interchain accounts. Please read the relevant section in the documentation for more information. - The
NewErrorAcknowledgement
function has been removed in favour of04-channel
'sNewErrorAcknowledgement
.
light-clients/07-tendermint
- Client upgrade proposals are now able to update the
TrustingPeriod
of the light client.
Special thanks to our external contributors on this release: @faddat @vuong177 @pyramation @devashishdxt @joeabbey
To learn more about ibc-go versioning, please read our RELEASES.md.
IMPORTANT: Please read the migration guides for any versions of ibc-go that you might be going through when upgrading to this version. For example: if you upgrade from the IBC module contained in the Cosmos SDK 0.42.0 to SDK v0.45.6 and ibc-go v4.0.0, please follow: