Skip to content

Releases: cosmos/ibc-go

modules/apps/callbacks/v0.2.0+ibc-go-v8.0

15 Nov 09:37
342c00b
Compare
Choose a tag to compare

This release bumps ibc-go to v8.0.0 and introduces two fixes:

Please also note that this release requires a coordinated upgrade.

v8.0.0

10 Nov 08:13
2551dea
Compare
Choose a tag to compare

UPDATES


This release main additions are:

Cosmos SDK v0.50 upgrade

We have upgraded to Cosmos SDK v0.50.1 and CometBFT v0.38.

Migration of gov proposals from v1beta1 to v1

Governance proposals based on Cosmos SDK version v1beta1 of the x/gov module have been migrated to v1 messages. The proposal ClientUpdateProposal has been deprecated and MsgRecoverClient should be used instead. Likewise, the proposal UpgradeProposal has been deprecated and MsgIBCSoftwareUpgrade should be used instead. Both proposals will be removed in the next major release.

MsgRecoverClient and MsgIBCSoftwareUpgrade will only be allowed to be executed if the signer is the authority designated at the time of instantiating the IBC keeper. So please make sure that the correct authority is provided to the IBC keeper.

Migration of params to be self managed

Params of all modules are now self-managed. Each module has a corresponding MsgUpdateParams message with a field of type Params that can be specified in full to update the module's params.

Legacy params subspaces must still be initialised in app.go in order to successfully migrate from x/params to the new self-contained approach. See this code sample for more information.

For new chains which do not rely on migration of parameters from x/params, an expected interface has been added for each module. This allows chain developers to provide nil as the legacySubspace argument to NewKeeper functions.

Highlights 🌟

Please see the v8.0.0 changelog for the full set of changes included in this release. We present here a summary of other relevant changes included in this release:

dependencies

  • Cosmos SDK has been bumped to v0.50.1.
  • CometBFT has been bumped to v0.38.

apps/transfer

Length validation has been added to the Receiver and Memo fields of MsgTransfer.

We are now using Cosmos SDK x/bank's Metadata to store metadata for IBC vouchers when they are minted for the first time. Cosmos SDK v0.50 introduces the boolean field resolve_denom to QueryAllBalancesRequest and the flag resolve-denom in the query bank balances CLI command. When specified in the balances query, and if there exists metadata for the IBC vouchers in the balance of the account, the denomination displayed for IBC vouchers will not be the regular denomination of the form ibc/<hash>, but a human-readable denomination with full prefix trace path and the token denomination on the source chain.

For example, when using the query bank balances CLI command before the resolve-denom flag was available, the denomination for IBC vouchers displayed like this:

> simd query bank balances cosmos14wajutn6hcph9u8zl6j9c4l5cduwpqwmu3g7nt \
  --node http://localhost:27010
balances:
- amount: "100"
  denom: ibc/27A6394C3F9FF9C9DCF5DFFADF9BB5FE9A37C7E92B006199894CF1824DF9AC7C
- amount: "100000000"
  denom: samoleans
- amount: "99998941"
  denom: stake
pagination:
  next_key: ""
  total: "3"

But from ibc-go v8.0.0, when using the resolve-denom flag, the denomination for IBC vouchers will be displayed like this:

> simd query bank balances cosmos14wajutn6hcph9u8zl6j9c4l5cduwpqwmu3g7nt --resolve-denom \
  --node http://localhost:27010
balances:
- amount: "100"
  denom: transfer/channel-0/samoleans
- amount: "100000000"
  denom: samoleans
- amount: "99998941"
  denom: stake
pagination:
  next_key: ""
  total: "3"

Note that the denomination for the IBC voucher displays now as transfer/channel-0/samoleans.

We have also implemented an automatic migration handler to set the denomination metadata for the IBC denominations of all vouchers minted by the transfer module. Therefore, the human-readable denomination will be available for all previously minted IBC vouchers.

apps/27-interchain-accounts

apps/29-fee

Contributors ❤️

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

Migration 🦆

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.1 and ibc-go v8.0.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.

modules/capability v1.0.0

09 Nov 08:27
Compare
Choose a tag to compare

x/capability -> modules/capability

The x/capability module previously maintained within the Cosmos SDK has been migrated to this repository. Thanks to the team at Binary Builders (@binary_builders) and @tac0turtle for helping to facilitate the handover.

Please note that with the v1.0.0 release of this module, it will enter maintenance mode and no additional features will be added.

v1.0.0

Dependencies

Improvements

  • #4068 Various improvements made to testing to reduce the dependency tree and use new cosmos-sdk test utils.
  • #4770 Save gas on IsInitialized, use Has in favour of Get.

Bug Fixes

  • #15030 InitMemStore now correctly uses a NewInfiniteGasMeter for both GasMeter and BlockGasMeter. This fixes an issue where the gasMeter was incremented non-deterministically across validators. See #15015 for more information.

Capability in the Cosmos SDK Repository

The capability module was originally released in v0.40.0 of the Cosmos SDK. Please see the Release Notes.

The capability module has been removed from the Cosmos SDK from v0.50.0 onwards and has been migrated to this repository. It will now be maintained as a standalone go module.

Please refer to the Cosmos SDK repository for historical content.


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

v8.0.0-rc.0

31 Oct 12:29
4ab7752
Compare
Choose a tag to compare
v8.0.0-rc.0 Pre-release
Pre-release

This release main additions are:

Cosmos SDK v0.50 upgrade

We have upgraded to Cosmos SDK v0.50 and CometBFT v0.38.

Migration of gov proposals from v1beta1 to v1

Governance proposals based on Cosmos SDK version v1beta1 of the x/gov module have been migrated to v1 messages. The proposal ClientUpdateProposal has been deprecated and MsgRecoverClient should be used instead. Likewise, the proposal UpgradeProposal has been deprecated and MsgIBCSoftwareUpgrade should be used instead. Both proposals will be removed in the next major release.

MsgRecoverClient and MsgIBCSoftwareUpgrade will only be allowed to be executed if the signer is the authority designated at the time of instantiating the IBC keeper. So please make sure that the correct authority is provided to the IBC keeper.

Migration of params to be self managed

Params of all modules are now self-managed. Each module has a corresponding MsgUpdateParams message with a field of type Params that can be specified in full to update the module's params.

Legacy params subspaces must still be initialised in app.go in order to successfully migrate from x/params to the new self-contained approach. See this code sample for more information.

For new chains which do not rely on migration of parameters from x/params, an expected interface has been added for each module. This allows chain developers to provide nil as the legacySubspace argument to NewKeeper functions.


Please see the v8.0.0-rc.0 changelog for the full set of changes included in this pre-release. We present here a summary of other relevant changes included in this release:

dependencies

  • Cosmos SDK has been bumped to v0.50.
  • CometBFT has been bumped to v0.38.

apps/transfer

We are now using Cosmos SDK x/bank's Metadata to store metadata for IBC vouchers when they are minted for the first time. Cosmos SDK v0.50 introduces the boolean field resolve_denom to QueryAllBalancesRequest and the flag resolve-denom in the query bank balances CLI command. When specified in the balances query, and if there exists metadata for the IBC vouchers in the balance of the account, the denomination displayed for IBC vouchers will not be the regular denomination of the form ibc/<hash>, but a human-readable denomination with full prefix trace path and the token denomination on the source chain.

For example, when using the query bank balances CLI command before the resolve-denom flag was available, the denomination for IBC vouchers displayed like this:

> simd query bank balances cosmos14wajutn6hcph9u8zl6j9c4l5cduwpqwmu3g7nt \
  --node http://localhost:27010
balances:
- amount: "100"
  denom: ibc/27A6394C3F9FF9C9DCF5DFFADF9BB5FE9A37C7E92B006199894CF1824DF9AC7C
- amount: "100000000"
  denom: samoleans
- amount: "99998941"
  denom: stake
pagination:
  next_key: ""
  total: "3"

But from ibc-go v8.0.0, when using the resolve-denom flag, the denomination for IBC vouchers will be displayed like this:

> simd query bank balances cosmos14wajutn6hcph9u8zl6j9c4l5cduwpqwmu3g7nt --resolve-denom \
  --node http://localhost:27010
balances:
- amount: "100"
  denom: transfer/channel-0/samoleans
- amount: "100000000"
  denom: samoleans
- amount: "99998941"
  denom: stake
pagination:
  next_key: ""
  total: "3"

Note that the denomination for the IBC voucher displays now as transfer/channel-0/samoleans.

We have also implemented an automatic migration handler to set the denomination metadata for the IBC denominations of all vouchers minted by the transfer module. Therefore, the human-readable denomination will be available for all previously minted IBC vouchers.

apps/27-interchain-accounts

An encoding parameter has been added to SerializeCosmosTx and DeserializeCosmosTx to specify the encoding format of the messages. Currently supported values are proto3 and proto3json.

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 and ibc-go v8.0.0-rc.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.

v7.3.1

20 Oct 08:54
bc74146
Compare
Choose a tag to compare

UPDATES


We present here a summary of the most relevant changes, please see the v7.3.1 changelog for the full set of changes included in this release.

dependencies

  • Cosmos SDK has been bumped to v0.47.5.

apps/transfer

  • The REST endpoint /ibc/apps/transfer/v1/denom_traces takes precedence over /ibc/apps/transfer/v1/denom_traces/{hash} when no argument is provided.

Special thanks to our external contributors in this release: @emidev98


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.5 and ibc-go v7.3.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.2.2

20 Oct 08:43
1867cf5
Compare
Choose a tag to compare

UPDATES


We present here a summary of the most relevant changes, please see the v7.2.2 changelog for the full set of changes included in this release.

dependencies

  • Cosmos SDK has been bumped to v0.47.5.

apps/transfer

  • The REST endpoint /ibc/apps/transfer/v1/denom_traces takes precedence over /ibc/apps/transfer/v1/denom_traces/{hash} when no argument is provided.

Special thanks to our external contributors in this release: @emidev98


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.5 and ibc-go v7.2.2, 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.

v6.2.1

20 Oct 08:40
e6b013a
Compare
Choose a tag to compare

UPDATES


We present here a summary of the most relevant changes, please see the v6.2.1 changelog for the full set of changes included in this release.

apps/transfer

  • The REST endpoints /ibc/apps/transfer/v1/denom_traces/{hash} and /ibc/apps/transfer/v1/denom_hashes/{trace} accept now values for hash and trace that contain slashes.

Special thanks to our external contributors in this release: @emidev98


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.12 and ibc-go v6.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.

v6.1.2

20 Oct 08:37
4d32854
Compare
Choose a tag to compare

UPDATES


We present here a summary of the most relevant changes, please see the v6.1.2 changelog for the full set of changes included in this release.

apps/transfer

  • The REST endpoints /ibc/apps/transfer/v1/denom_traces/{hash} and /ibc/apps/transfer/v1/denom_hashes/{trace} accept now values for hash and trace that contain slashes.

Special thanks to our external contributors in this release: @emidev98


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.7 and ibc-go v6.1.2, 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.

v5.3.2

20 Oct 08:35
fd8402f
Compare
Choose a tag to compare

UPDATES


We present here a summary of the most relevant changes, please see the v5.3.2 changelog for the full set of changes included in this release.

apps/transfer

  • The REST endpoints /ibc/apps/transfer/v1/denom_traces/{hash} and /ibc/apps/transfer/v1/denom_hashes/{trace} accept now values for hash and trace that contain slashes.

Special thanks to our external contributors in this release: @emidev98


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.12 and ibc-go v5.3.2, 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.

v4.5.1

20 Oct 08:25
9b891f4
Compare
Choose a tag to compare

UPDATES


We present here a summary of the most relevant changes, please see the v4.5.1 changelog for the full set of changes included in this release.

apps/transfer

  • The REST endpoints /ibc/apps/transfer/v1/denom_traces/{hash} and /ibc/apps/transfer/v1/denom_hashes/{trace} accept now values for hash and trace that contain slashes.

Special thanks to our external contributors in this release: @emidev98


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.3.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.16 and ibc-go v4.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.