This document is intended to highlight significant changes which may require more information than presented in the CHANGELOG. Any changes that must be done by a user of ibc-go should be documented here.
There are four sections based on the four potential user groups of this document:
- Chains
- IBC Apps
- Relayers
- IBC Light Clients
Note: ibc-go supports golang semantic versioning and therefore all imports must be updated to bump the version number on major releases.
github.com/cosmos/ibc-go/v2 -> github.com/cosmos/ibc-go/v3
No genesis or in-place migrations are required when upgrading from v1 or v2 of ibc-go.
ICS27 Interchain Accounts has been added as a supported IBC application of ibc-go.
Previously, IBC module callbacks were apart of the AppModule
type.
The recommended approach is to create an IBCModule
type and move the IBC module callbacks from AppModule
to IBCModule
in a separate file ibc_module.go
.
The mock module go API has been broken in this release by applying the above format.
The IBC module callbacks have been moved from the mock modules AppModule
into a new type IBCModule
.
As apart of this release, the mock module now supports middleware testing. Please see the README for more information.
Please review the mock and transfer modules as examples. Additionally, simapp provides an example of how IBCModule
types should now be added to the IBC router in favour of AppModule
.
- No relevant changes were made in this release.
The GetProofSpecs
function has been removed from the ClientState
interface. This function was previously unused by core IBC. Light clients which don't use this function may remove it.