We present here a summary of the most relevant changes, please see the v8.4.0 changelog for more details. Please note that this release, as indicated in our release versioning policy, is state machine breaking and requires a coordinated upgrade.
core/04-channel
- An extra check has been added to the
ChannelUpgradeConfirm
handler to make sure that the upgrades are compatible and thus prevent that an upgrade completes with channel ends in incompatible state. We have retracted v8.2.x and v8.3.x and all chains planning to use channel upgradability are strongly recommended to upgrade to this version. Thank you very much to @siburu and @bluele for responsibly reporting this bug through our bug bounty program.
apps/transfer
- If the
Amount
of theToken
field inMsgTransfer
is set to the maximum value for a 256-bit unsigned integer (i.e. 2^256 - 1), then the whole balance of the corresponding denomination will be transferred. The helper functionUnboundedSpendLimit
in thetypes
package of thetransfer
module provides the sentinel value that can be used.
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.7 and ibc-go v8.4.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.
- The migration from ibc-go v8 to v8.1.