Releases: cosmos/ibc-go
v4.2.0
UPDATES
- 25th May 2023: This release is NOT recommended since it is impacted by the huckleberry security advisory. Please use version >= 4.2.2.
This release uses Cosmos SDK v0.45.10 and introduces a couple of improvements requested by the community. Please see the v4.2.0 changelog for more details.
apps/transfer
- The sequence number of the packet sent has been added to
MsgTransferResponse
. - An optional
memo
field has been added toFungibleTokenPacketData
. Token transfers that include a non-empty memo field will fail if the receiver chain is not running a version of ibc-go that also supports thememo
field. Please read this blog post for more information.
apps/27-interchain-accounts
- The check in
OnChanOpenTry
callback on the host submodule that required the port ID on the controller chain to be prefixed byicacontroller-
has been removed. Thanks to @LaurensKubat and @catShaark for this recommendation.
Special thanks to our external contributors on this release: @faddat @agouin @nicolaslara @LaurensKubat
Please note that the v4 release line contains a bug where 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.2.1 or above.
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.10 and ibc-go v4.2.0, please follow:
v3.4.0
This release uses Cosmos SDK v0.45.10 and introduces a couple of improvements requested by the community. Please see the v3.4.0 changelog for more details.
apps/transfer
- The sequence number of the packet sent has been added to
MsgTransferResponse
. - An optional
memo
field has been added toFungibleTokenPacketData
. Token transfers that include a non-empty memo field will fail if the receiver chain is not running a version of ibc-go that also supports thememo
field. Please read this blog post for more information.
apps/27-interchain-accounts
- The check in
OnChanOpenTry
callback on the host submodule that required the port ID on the controller chain to be prefixed byicacontroller-
has been removed. Thanks to @LaurensKubat and @catShaark for this recommendation.
Special thanks to our external contributors on this release: @faddat @agouin @nicolaslara @LaurensKubat
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.10 and ibc-go v3.4.0, please follow:
v2.5.0
This release uses Cosmos SDK v0.45.10 and introduces a couple of improvements requested by the community. Please see the v2.5.0 changelog for more details.
apps/transfer
- The sequence number of the packet sent has been added to
MsgTransferResponse
. - An optional
memo
field has been added toFungibleTokenPacketData
. Token transfers that include a non-empty memo field will fail if the receiver chain is not running a version of ibc-go that also supports thememo
field. Please read this blog post for more information.
Special thanks to our external contributors on this release: @faddat @agouin @nicolaslara
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.10 and ibc-go v2.5.0, please follow:
v6.0.0-beta1
This release introduces a series of improvements to ICS-27 Interchain Accounts (ICA).
We appreciate very much the feedback that we have got since the initial release of ICA in ibc-go v3.0.0 and we have recognized that the lack of a default underlying app (aka authentication module) has been one the primary reasons for the slow adoption of ICA (i.e. lack of controller chains in mainnet). With the release of Cosmos SDK v0.46.x we have also realized the need to separate authentication and application logic: the new design of x/gov
and x/group
allow for arbitrary message passing via the message router and these modules can act as authentication modules with respect to interchain accounts integration.
ibc-go v6.0.0 includes changes to ICA that makes integrating the controller chain functionality easier. It introduces a new message server to the controller submodule and, once application callbacks are implemented (see ADR-008), all use cases for ICA will be supported by the message server without the need for an underlying app and we will incrementally move towards deprecation of the public APIs (this and this).
To minimize disruption to developers working on the original design of the ICS-27 controller module, all changes are made made in a backwards compatible fashion. The only difference is in terms of how the channel capability is claimed. Instead of the underlying app claiming the channel capability, it is now the controller submodule who will claim it. Any logic associated with claiming the capability should be now removed from the OnChanOpenInit
callback of the underlying app. See ADR-009 for more information on these changes.
We present here a summary of the most relevant changes in comparison to v6.0.0-alpha1. Please see the v6.0.0 changelog for the full set of changes included in this pre-release.
dependencies
- Cosmos SDK has been bumped to v0.46.2.
core/04-channel
- The signature of
SendPacket
has been modified to take in all necessary arguments to construct the packet, rather than taking in an entire packet. The generated packet sequence is returned by theSendPacket
function.
apps/transfer
- The public
SendTransfer
function has been removed in favor of a privatesendTransfer
function. All IBC transfers must be initiated withMsgTransfer
. - The packet sequence has been added to
MsgTransferResponse
. - An optional
memo
field has been added toFungibleTokenPacketData
andMsgTransfer
. Token transfers that include a non-empty memo field will fail if the receiver chain is not running a version of ibc-go that also supports thememo
field. Please read this blog post for more information.
apps/27-interchain-accounts
- The check in
OnChanOpenTry
callback on the host submodule that required the port ID on the controller chain to be prefixed byicacontroller-
has been removed. Thanks to @LaurensKubat and @catShaark for this recommendation.
Special thanks to our external contributors on this release: @Anmol1696 @georgelombardi97 @alizahidraja @agouin @nicolaslara @LaurensKubat
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.46.2 and ibc-go v6.0.0-beta1, please follow:
v5.0.1
UPDATES
- 20th December 2022: This release is NOT recommended since it uses a version of Cosmos SDK (v0.46.3) that has been retracted. Please use version >= 5.2.0.
This release bumps the Cosmos SDK from v0.46.1 to v0.46.3. Cosmos SDK v0.46.3 includes the fix for the dragonberry security advisory.
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.46.3 and ibc-go v5.0.1, please follow:
v4.1.1
UPDATES
- 25th May 2023: This release is NOT recommended since it is impacted by the huckleberry security advisory. Please use version >= 4.1.3.
This release bumps the Cosmos SDK from v0.45.8 to v0.45.10. Cosmos SDK v0.45.10 includes the fix for the dragonberry security advisory.
Please note that the v4 release line contains a bug where 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.2.1 or above.
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.10 and ibc-go v4.1.1, please follow:
v3.3.1
This release bumps the Cosmos SDK from v0.45.8 to v0.45.10. Cosmos SDK v0.45.10 includes the fix for the dragonberry security advisory.
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.10 and ibc-go v3.3.1, please follow:
v2.4.2
This release bumps the Cosmos SDK from v0.45.8 to v0.45.10. Cosmos SDK v0.45.10 includes the fix for the dragonberry security advisory.
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.10 and ibc-go v2.4.2, please follow:
v6.0.0-alpha1
This release introduces a series of improvements to ICS-27 Interchain Accounts (ICA).
We appreciate very much the feedback that we have got since the initial release of ICA in ibc-go v3.0.0 and we have recognized that the lack of a default underlying app (aka authentication module) has been one the primary reasons for the slow adoption of ICA (i.e. lack of controller chains in mainnet). With the release of Cosmos SDK v0.46.x we have also realized the need to separate authentication and application logic: the new design of x/gov
and x/group
allow for arbitrary message passing via the message router and these modules can act as authentication modules with respect to interchain accounts integration.
ibc-go v6.0.0 includes changes to ICA that makes integrating the controller chain functionality easier. It introduces a new message server to the controller submodule and, once application callbacks are implemented (see ADR-008), all use cases for ICA will be supported by the message server without the need for an underlying app and we will incrementally move towards deprecation of the public APIs (this and this).
To minimize disruption to developers working on the original design of the ICS-27 controller module, all changes are made made in a backwards compatible fashion. The only difference is in terms of how the channel capability is claimed. Instead of the underlying app claiming the channel capability, it is now the controller submodule who will claim it. Any logic associated with claiming the capability should be now removed from the OnChanOpenInit
callback of the underlying app. See ADR-009 for more information on these changes.
We present here a summary of the most relevant changes. Please see the v6.0.0 changelog for the full set of changes included in this pre-release.
apps/27-interchain-accounts
- A new
MsgServer
has been added to the controller submodule that exposes two RPC endpoints:RegisterInterchainAccount
andSendTx
. Corresponding CLI commands have also been added. - The controller submodule now claims the channel capability in
OnChanOpenInit
instead of the underlying app. - An upgrade migration handler has been added to controller submodule that reassigns ownership of the channel capability from the underlying app to the controller module.
- An ICS-27 module automatic migration has been added to assert ownership of channel capabilities and check that the upgrade handler channel capability migration has been performed successfully. The ICS-27 module consensus version has been bumped from 1 to 2.
- The default for the host param
allow_messages
has changed to allow all host messages. - A new CLI command has been added to the host submodule to generate ICS-27 packet data. The generated packet data can then be used as input for the controller submodule CLI command to send a transaction to the host chain.
Special thanks to our external contributors on this release: @Anmol1696 @georgelombardi97 @alizahidraja
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.46.1 and ibc-go v6.0.0-alpha1, please follow:
- The migration from SDK 0.41.x or 0.42.x to the IBC module in the ibc-go repository based on the SDK v0.44.x.
- The migration from ibc-go v1 to v2.
- The migration from ibc-go v2 to v3.
- The migration from ibc-go v3 to v4.
- The migration from ibc-go v4 to v5.
- The migration from ibc-go v5 to v6 (not merged yet, but work is in progress here).
v5.0.0
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 >= 5.0.1.
This release bumps the Cosmos SDK to v0.46.1 (for more information, see Cosmos SDK v0.46.1 Release Notes) and Tendermint to v0.34.21 (for more information, see Tendermint 0.34.21 changelog). It also introduces several code style improvements flagged by linting tools. We present here a summary of the most relevant changes, but please see the v5.0.0 changelog for the full set of changes included in this release.
core/02-client
- Missing transactions flags have been added to the CLI commands for updating client and submitting misbehavior.
- Missing query flags have been added to the CLI query for client status.
apps/27-interchain-accounts
- Support for Cosmos-SDK simulation has been added.
- The
InterchainAccount
gRPC query endpoint and CLI query have been added to the controller submodule to allow end users the ability to inspect the interchain account address generated on the host chain. has been added the controller submodule to allow users to retrieve the registered interchain account addresses on the host chain. - A
MessageRouter
interface has been added. It has replaced the*baseapp.MsgServiceRouter
used in the controller and host keepers.
testing
- A new interface
ibctestingtypes.StakingKeeper
has been added. It is used for the testing appStakingKeeper
setup.
Special thanks to our external contributors on this release: @faddat @Taztingo @jhernandezb
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.46.1 and ibc-go v5.0.0, please follow: