Skip to content

Releases: cosmos/ibc-go

v7.5.1

22 May 07:19
5080b59
Compare
Choose a tag to compare

This release improves the performance in the handling of MsgRecvPacket and MsgUpdateClient in the RedundantRelayDecorator ante handler.

Please check the v7.5.1 changelog for more details.


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.47.11 and ibc-go v7.5.1, please follow:

  1. 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.
  2. The migration from ibc-go v1 to v2.
  3. The migration from ibc-go v2 to v3.
  4. The migration from ibc-go v3 to v4.
  5. The migration from ibc-go v4 to v5.
  6. The migration from ibc-go v5 to v6.
  7. The migration from ibc-go v6 to v7.
  8. The migration from ibc-go v7 to v7.1.
  9. The migration from ibc-go v7.2 to v7.3.

v7.4.1

22 May 07:19
5bf12e6
Compare
Choose a tag to compare

This release:

Please check the v7.4.1 changelog for more details.


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.47.8 and ibc-go v7.4.1, please follow:

  1. 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.
  2. The migration from ibc-go v1 to v2.
  3. The migration from ibc-go v2 to v3.
  4. The migration from ibc-go v3 to v4.
  5. The migration from ibc-go v4 to v5.
  6. The migration from ibc-go v5 to v6.
  7. The migration from ibc-go v6 to v7.
  8. The migration from ibc-go v7 to v7.1.
  9. The migration from ibc-go v7.2 to v7.3.

v8.3.0

16 May 11:36
8b708ca
Compare
Choose a tag to compare

Highlights 🌟

We present here a summary of the most relevant changes, please see the v8.3.0 changelog for the full set of changes included in this release. Check out also the release announcement blog post for more information.

dependencies

  • Cosmos SDK has been bumped to v0.50.6.
  • CometBFT has been bumped to v0.38.7.

core

  • Up until now ibc-go assumed that its underlying consensus is Tendermint, but in this release we have added the ConsensusHost interface that defines methods to validate an IBC light client ClientState and ConsensusState against the host chain's underlying consensus parameters. This enables chains whose underlying consensus is not Tendermint to still use ibc-go and be able to specify how the client state and consensus state of counterparties' light clients should be verified during the connection handshake. A custom implementation of the ConsensusHost interface can be set in the core IBC keeper using function SetConsensusHost. By default the consensus host will be set to the implementation for 07-tendermint. See issue #5315 and PR #6055 for more details.

core/02-client

  • We have added the VerifyMembershipProof query service gRPC endpoint that queries an IBC light client for proof verification of a value at a given key path. This endpoint specifically enables light clients to query other light clients through gRPC, and streamlines the process of implementing conditional clients, particularly within the 08-wasm module. The method takes a QueryVerifyMembershipRequest where the ID of the light client the verification parameters (proof, value, height, etc) are specified. See issue #5310 and PR #5821 for more details.

apps/transfer

  • In v8.1.0 the field allowed_packet_data was added to the Allocation type used for authz support of IBC transfers. This field was originally a list of MsgTransfer's memo packet data keys that were allowed (i.e. top level JSON object keys). After receiving some feedback (thanks to Yieldmos team), we have re-purposed this field to be a list of full memo strings. That means that this field contains a list of memo strings that that the granter allows the grantee to include in the memo field of MsgTransfer, the grantee can then submit MsgTransfer with one of the allowed memo strings. See the documentation for more information.
  • In OnChanOpenTry, when the counterparty version does not match the executing chain's own version, instead of returning an error, the current version is now returned. This allows the channel handshake to complete in situations where the handshake initiating chain has the fee middleware wired up, but the counterparty doesn't (then transfer channel will be created with a version that does not contain fee middleware information). Similar change has been applied to OnChanOpenTry of the host submodule in 27-interchain-accounts. See PR #6253 for more details.

apps/27-interchain-accounts

Unordered channels

Support for unordered channels was introduced in v8.1.0, and with this release we have now also changed the default ordering of new ICA channels from ordered to unordered. This means that new ICA channels will be unordered by default. Ordering can be specified either by setting the field ordering of MsgRegisterInterchainAccount or using the newly introduced function RegisterInterchainAccountWithOrdering (in case the legacy RegisterInterchainAccount function is used by a custom auth module).

Queries

We have added the message MsgModuleQuerySafe, which enables to perform queries on the host chain. This message contains a list of QueryRequests that will be routed to the query router when the message MsgModuleQuerySafe is executed on the host chain. The MsgModuleQuerySafe message can be included in the list of encoded sdk.Msgs of InterchainPacketData. The host chain will return on the acknowledgment the responses for all the queries (in the same order as the query requests in the Requests field of the MsgModuleQuerySafe).

Please note that only module safe queries can be executed (i.e. deterministic queries that are safe to be called from within the state machine). See the documentation for more details and the list of supported queries.

Please also note that it is mandatory to register the gRPC query router after the creation of the host submodule's keeper, otherwise nodes will not start. The WithQueryRouter function should be used. Please check the sample integration code in the documentation for more details.

apps/29-fee

  • We have fixed a bug where, upon channel closure, already refunded fees remained in state in the event of one or more of the packet fees attached to a packet not being refunded. See PR #6255 for more details. Many thanks to @sushiwushi for reporting this bug.

Contributors ❤️

Special thanks to all external contributors that pushed code for this release:


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.50.6 and ibc-go v8.3.0, please follow:

  1. 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.
  2. The migration from ibc-go v1 to v2.
  3. The migration from ibc-go v2 to v3.
  4. The migration from ibc-go v3 to v4.
  5. The migration from ibc-go v4 to v5.
  6. The migration from ibc-go v5 to v6.
  7. The migration from ibc-go v6 to v7.
  8. The migration from ibc-go v7 to v7.1.
  9. The migration from ibc-go v7.2 to v7.3.
  10. The migration from ibc-go v7 to v8.
  11. The migration from ibc-go v8 to v8.1.

v7.5.0

14 May 07:29
3a5f6d4
Compare
Choose a tag to compare

We present here a summary of the most relevant changes, please see the v7.5.0 changelog for the full set of changes included in this release. Check out also the release announcement blog post for more information.

dependencies

  • Cosmos SDK has been bumped to v0.47.11.
  • CometBFT has been bumped to v0.37.5.

apps/transfer

  • In v8.1.0 the field allowed_packet_data was added to the Allocation type used for authz support of IBC transfers. This field was originally a list of MsgTransfer's memo packet data keys that were allowed (i.e. top level JSON object keys). After receiving some feedback (thanks to Yieldmos team), we have re-purposed this field to be a list of full memo strings. That means that this field contains a list of memo strings that that the granter allows the grantee to include in the memo field of MsgTransfer, the grantee can then submit MsgTransfer with one of the allowed memo strings. See the documentation for more information.
  • In OnChanOpenTry, when the counterparty version does not match the executing chain's own version, instead of returning an error, the current version is now returned. This allows the channel handshake to complete in situations where the handshake initiating chain has the fee middleware wired up, but the counterparty doesn't (then transfer channel will be created with a version that does not contain fee middleware information). Similar change has been applied to OnChanOpenTry of the host submodule in 27-interchain-accounts. See PR #6253 for more details.

apps/27-interchain-accounts

Unordered channels

When ICA was initially released in v3.0.0 ICA channels were only allowed to be ordered, which causes the channel to close if a timeout occurs, forcing the user to reopen it. Support for unordered channels was introduced in v8.1.0, and with this release we have now back ported the feature to the v7 release line.

We have also changed the default ordering of new ICA channels from ordered to unordered. This means that new ICA channels will be unordered by default. Ordering can be specified either by setting the field ordering of MsgRegisterInterchainAccount or using the newly introduced function RegisterInterchainAccountWithOrdering (in case the legacy RegisterInterchainAccount function is used by a custom auth module).

Queries

We have added the message MsgModuleQuerySafe, which enables to perform queries on the host chain. This message contains a list of QueryRequests that will be routed to the query router when the message MsgModuleQuerySafe is executed on the host chain. The MsgModuleQuerySafe message can be included in the list of encoded sdk.Msgs of InterchainPacketData. The host chain will return on the acknowledgment the responses for all the queries (in the same order as the query requests in the Requests field of the MsgModuleQuerySafe).

Please note that only module safe queries can be executed (i.e. deterministic queries that are safe to be called from within the state machine). See the documentation for more details and the list of supported queries.

Please also note that it is mandatory to register the gRPC query router after the creation of the host submodule's keeper, otherwise nodes will not start. The WithQueryRouter function should be used. Please check the sample integration code in the documentation for more details.

This feature will also be included in the upcoming v8.3.0 release.

apps/29-fee

  • We have fixed a bug where, upon channel closure, already refunded fees remained in state in the event of one or more of the packet fees attached to a packet not being refunded. See PR #6255 for more details. Many thanks to @sushiwushi for reporting this bug.

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.47.11 and ibc-go v7.5.0, please follow:

  1. 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.
  2. The migration from ibc-go v1 to v2.
  3. The migration from ibc-go v2 to v3.
  4. The migration from ibc-go v3 to v4.
  5. The migration from ibc-go v4 to v5.
  6. The migration from ibc-go v5 to v6.
  7. The migration from ibc-go v6 to v7.
  8. The migration from ibc-go v7 to v7.1.
  9. The migration from ibc-go v7.2 to v7.3.

v6.2.2

06 May 11:42
a89bb2f
Compare
Choose a tag to compare

Changelog

v8.2.1

25 Apr 14:48
2beec48
Compare
Choose a tag to compare

This release:

  • Moves the deprecation message of 02-client legacy v1beta gov types from the package level to the constructor functions See #5837 for more details.
  • Emits an event signalling that the interchain accounts host submodule is disabled in OnRecvPacket. See #6147 for more details.
  • Fixes the text in log of the migration that sets the total amount of source chain tokens in escrow. See #5497 for more detail. Thanks to @yihuang for this fix.

Changelog for v8.2.1 is available here.


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.50.5 and ibc-go v8.2.1, please follow:

  1. 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.
  2. The migration from ibc-go v1 to v2.
  3. The migration from ibc-go v2 to v3.
  4. The migration from ibc-go v3 to v4.
  5. The migration from ibc-go v4 to v5.
  6. The migration from ibc-go v5 to v6.
  7. The migration from ibc-go v6 to v7.
  8. The migration from ibc-go v7 to v7.1.
  9. The migration from ibc-go v7.2 to v7.3.
  10. The migration from ibc-go v7 to v8.
  11. The migration from ibc-go v8 to v8.1.

v6.3.1

24 Apr 15:08
Compare
Choose a tag to compare

Changelog

  • 8cd96f4 update CHANGELOG
  • c459a75 imp: add version to tm headers in ibctesting (release/v6.3.x) (#6179)
  • 43b1f4a Update CHANGELOG.md

modules/light-clients/08-wasm/v0.1.1+ibc-go-v7.3-wasmvm-v1.5

12 Apr 10:37
7ee2a24
Compare
Choose a tag to compare

This release:

The changelog for this release is available here.

v8.2.0

05 Apr 12:03
a2f3d7a
Compare
Choose a tag to compare

This release includes a fix for the ASA-2024-007 security advisory. Credits to Maxwell Dulin (@mdulin2) at Asymmetric Research for the discovery and disclosure via our bug bounty program.

Please note that this release, as indicated in our release versioning policy, is state machine breaking and requires a coordinated upgrade.

Please see the v8.2.0 changelog for the full set of changes included in this release. Other relevant changes are:

dependencies

  • Cosmos SDK has been bumped to v0.50.5.

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.50.5 and ibc-go v8.2.0, please follow:

  1. 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.
  2. The migration from ibc-go v1 to v2.
  3. The migration from ibc-go v2 to v3.
  4. The migration from ibc-go v3 to v4.
  5. The migration from ibc-go v4 to v5.
  6. The migration from ibc-go v5 to v6.
  7. The migration from ibc-go v6 to v7.
  8. The migration from ibc-go v7 to v7.1.
  9. The migration from ibc-go v7.2 to v7.3.
  10. The migration from ibc-go v7 to v8.
  11. The migration from ibc-go v8 to v8.1.

v7.4.0

05 Apr 12:02
802ca26
Compare
Choose a tag to compare

This release includes a fix for the ASA-2024-007 security advisory. Credits to Maxwell Dulin (@mdulin2) at Asymmetric Research for the discovery and disclosure via our bug bounty program.

Please note that this release, as indicated in our release versioning policy, is state machine breaking and requires a coordinated upgrade.

Please see the v7.4.0 changelog for the full set of changes included in this release.


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.47.8 and ibc-go v7.4.0, please follow:

  1. 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.
  2. The migration from ibc-go v1 to v2.
  3. The migration from ibc-go v2 to v3.
  4. The migration from ibc-go v3 to v4.
  5. The migration from ibc-go v4 to v5.
  6. The migration from ibc-go v5 to v6.
  7. The migration from ibc-go v6 to v7.