Releases: cosmos/ibc-go
modules/light-clients/08-wasm/v0.3.1+ibc-go-v7.4-wasmvm-v1.5
This release amends the release of 08-wasm v0.3.0 with ibc-go v7.3 to bump the version of ibc-go to v7.4 as v7.3 was redacted. No additional commits have been made.
In order to use this release, please follow the steps to import git commit 13c071f.
v8.4.0
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.
v7.7.0
We present here a summary of the most relevant changes, please see the v7.7.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.
dependencies
- Cosmos SDK has been bumped to v0.47.13.
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.47.13 and ibc-go v7.7.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.
modules/light-clients/08-wasm/v0.4.0+ibc-go-v8.3-wasmvm-v2.0
Highlights 🌟
We present here a summary of the most relevant changes, please see the changelog for more details.
- In v0.3.0+ibc-go-v8.3-wasmvm-v2.0 we added a new
MerklePath
type and used it for thePath
field of theVerifyMembershipMsg
andVerifyNonMembershipMsg
structs of the contract API. This change was API breaking for light contracts and it required a migration for existing contracts to correctly handle deserialization of theKeyPath
field (which had changed from[]string
to[][]byte
). In this release we are making an extra change to explicitly break the contract API JSON message field name: thepath
field of the JSON-encodedVerifyMembershipMsg
andVerifyNonMembershipMsg
messages has been renamed tomerkle_path
, so that light client contracts would not silently unmarshal a key as a base64 encoded string value (and instead fail to unmarshal the message entirely).
All previous releases of the 08-wasm compatible with ibc-go v8.3 and wasmvm v2.0 have been retracted and we strongly recommend contract developers to update their JSON API message structure for the SudoMsg
payloads VerifyMembershipMsg
and VerifyNonMembershipMsg
.
For chains on v8.3 or above in the v8 line that have not deployed a light client contract yet, we strongly recommend to upgrade to this release first and then deploy the updated contract. Otherwise, chains will need to migrate the contract later on.
Migration 🦆
Please check out the migration docs to upgrade to this release from v0.3.x compatible with ibc-go v8.3.x.
In order to use this release, please follow the steps to import git commit 44562d7.
modules/light-clients/08-wasm/v0.3.0+ibc-go-v7.3-wasmvm-v1.5
Highlights 🌟
We present here a summary of the most relevant changes, please see the changelog for more details.
- In v0.2.0+ibc-go-v7.3-wasmvm-v1.5 we added a new
MerklePath
type and used it for thePath
field of theVerifyMembershipMsg
andVerifyNonMembershipMsg
structs of the contract API. This change was API breaking for light contracts and it required a migration for existing contracts to correctly handle deserialization of theKeyPath
field (which had changed from[]string
to[][]byte
). In this release we are making an extra change to explicitly break the contract API JSON message field name: thepath
field of the JSON-encodedVerifyMembershipMsg
andVerifyNonMembershipMsg
messages has been ranamed tomerkle_path
, so that light client contracts would not silently unmarshal a key as a base64 encoded string value (and instead fail to unmarshal the message entirely).
All previous releases of the 08-wasm compatible with ibc-go v7.3 and wasmvm v1.5 have been retracted and we strongly recommend contract developers to update their JSON API message structure for the SudoMsg
payloads VerifyMembershipMsg
and VerifyNonMembershipMsg
.
For chains on v7.3 or above in the v7 line that have not deployed a light client contract yet, we strongly recommend to upgrade to this release first and then deploy the updated contract. Otherwise, chains will need to migrate the contract later on.
Migration 🦆
Please check out the migration docs to upgrade to this release from v0.2.x compatible with ibc-go v7.3.x.
In order to use this release, please follow the steps to import git commit 86f7c39.
modules/light-clients/08-wasm/v0.3.0+ibc-go-v8.3-wasmvm-v2.0
Highlights 🌟
We present here a summary of the most relevant changes, please see the changelog for the full set of changes included in this release.
- Update of wasmvm to v2.1.0.
- Add a new
MerklePath
type that replaces the usage of ibc-go'sMerklePath
for thePath
field of theVerifyMembershipMsg
andVerifyNonMembershipMsg
structs of the contract API. Please note that this change is API breaking for light contracts and it requires a migration for existing contracts to correctly handle deserialization of theKeyPath
field which has changed from[]string
to[][]byte
. In JSON message structures this change is reflected as theKeyPath
being marshalled as a list of base64 encoded byte strings. This change supports proving values stored under keys which contain non-utf8 encoded symbols. See the migration documentation for more details. For chains on v8.3 or above in the v8 line that have not deployed a light client contract yet, we strongly recommend to upgrade to this release first and then deploy the updated contract. Otherwise, chains will need to migrate the contract later on. - Add an implementation of the
ConsensusHost
interface for custom self client/consensus state validation.
Migration 🦆
Please check out the migration docs to upgrade to this release from v0.2.x compatible with ibc-go v8.3.x.
In order to use this release, please follow the steps to import git commit bb71eef.
Contributors ❤️
Special thanks to all external contributors that pushed code for this release:
modules/light-clients/08-wasm/v0.2.0+ibc-go-v7.3-wasmvm-v1.5
Highlights 🌟
We present here a summary of the most relevant changes, please see the changelog for the full set of changes included in this release.
- Add a new
MerklePath
type that replaces the usage of ibc-go'sMerklePath
for thePath
field of theVerifyMembershipMsg
andVerifyNonMembershipMsg
structs of the contract API. Please note that this change is API breaking for light contracts and it requires a migration for existing contracts to correctly handle deserialization of theKeyPath
field which has changed from[]string
to[][]byte
. In JSON message structures this change is reflected as theKeyPath
being marshalled as a list of base64 encoded byte strings. This change supports proving values stored under keys which contain non-utf8 encoded symbols. See the migration documentation for more details. For chains on v7.3 or above in the v7 line that have not deployed a light client contract yet, we strongly recommend to upgrade to this release first and then deploy the updated contract. Otherwise, chains will need to migrate the contract later on. - A CLI command to broadcast a transaction with
MsgMigrateContract
. See the documentation for more details.
Migration 🦆
Please check out the migration docs to upgrade to this release from v0.1.x compatible with ibc-go v7.3.x.
In order to use this release, please follow the steps to import git commit 570d057.
Contributors ❤️
Special thanks to all external contributors that pushed code for this release:
modules/capability v1.0.1
This release:
- Bumps Cosmos SDK to v0.50.7 and CometBFT to v0.38.9.
- Adds the
HasModule
method to the capability keeper to allow checking if a scoped module already exists. Many thanks to @Pantani for this improvement.
Changelog for v1.0.1 is available here.
v8.3.2
This release introduces an improvement in the function that returns the list of all query paths labeled with module_query_safe
in the proto files to avoid a panic during the ICA host keeper instantiation. Many thanks to @GAtom22 for discovering this issue and implementing the improvement.
Please check the v8.3.2 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.50.7 and ibc-go v8.3.1, 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.
v7.6.0
This release includes the back port of the length limitations released in v8.0.0 in string fields of the following messages:
- transfer:
MsgTransfer
. - 27-interchain-accounts:
MsgRegisterInterchainAccount
andMsgSendTx
. - 29-fee:
MsgRegisterCounterpartyPayee
.
Please note that this release, as indicated in our release versioning policy, is state machine breaking and requires a coordinated upgrade.
Please check the v7.6.0 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.12 and ibc-go v7.6.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.