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
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:
- @0xmuralik
- @anhductn2001
- @aleem1314
- @alpe
- @AtreusSoltani
- @bugarela
- @catShaark
- @CyberGA
- @dzmitry-lahoda
- @emidev98
- @expertdicer
- @faddat
- @GNaD13
- @hieuvubk
- @julienrbrt
- @lazyfuhrer
- @PanGan21
- @phamminh0811
- @pysel
- @Reecepbcups
- @RegisGraptin
- @rllola
- @ruthishvitwit
- @siburu
- @sontrinh16
- @stackman27
- @tbruyelle
- @ThanhNhann
- @tac0turtle
- @trinitys7
- @ulbqb
- @vishal-kanna
- @webmaster128
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:
- 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.
- The migration from ibc-go v6 to v7.
- The migration from ibc-go v7 to v7.1.
- The migration from ibc-go v7.2 to v7.3.
- The migration from ibc-go v7 to v8.