github cosmos/ibc-go v8.0.0

latest releases: v9.0.1, v8.5.2, v9.0.0...
12 months ago

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.

Don't miss a new ibc-go release

NewReleases is sending notifications on new releases.