This page tracks all releases and changes from the cosmos/ibc-go repository.
For the latest development updates, see the UNRELEASED section.
Dependencies
State Machine Breaking
- (core/04-channel) #2973 Write channel state before invoking app callbacks in ack and confirm channel handshake steps.
Improvements
- (apps/29-fee) #2786 Save gas on
IsFeeEnabled.
Bug Fixes
- (apps/29-fee) #2942 Check
x/banksend enabled before escrowing fees.
Documentation
- #2737 Fix migration/docs for ICA controller middleware.
Miscellaneous Tasks
- #2772 Integrated git cliff into the code base to automate generation of changelogs.
Dependencies
- #2588 Bump SDK version to v0.45.10 and Tendermint to v0.34.22.
State Machine Breaking
- (apps/transfer) #2651 Introduce
mustProtoMarshalJSONfor ics20 packet data marshalling which will skip emission (marshalling) of the memo field if unpopulated (empty). - (27-interchain-accounts) #2590 Removing port prefix requirement from the ICA host channel handshake
- (transfer) #2377 Adding
sequencetoMsgTransferResponse.
Features
- (apps/transfer) #2595 Adding optional memo field to
FungibleTokenPacketDataandMsgTransfer.
Bug Fixes
- (apps/transfer) #2679 Check
x/banksend enabled.
Dependencies
- #2288 Bump SDK version to v0.45.8 and Tendermint to v0.34.21.
Features
- (apps/27-interchain-accounts) #2193 Adding
InterchainAccountgRPC query endpoint to ICS27controllersubmodule to allow users to retrieve registered interchain account addresses.
Bug Fixes
- (27-interchain-accounts) #2308 Nil checks have been added to ensure services are not registered for nil host or controller keepers.
Dependencies
API Breaking
- (core/04-channel) #1792 Remove
PreviousChannelIDfromNewMsgChannelOpenTryarguments.MsgChannelOpenTry.ValidateBasic()returns error if the deprecatedPreviousChannelIDis not empty. - (core/03-connection) #1797 Remove
PreviousConnectionIDfromNewMsgConnectionOpenTryarguments.MsgConnectionOpenTry.ValidateBasic()returns error if the deprecatedPreviousConnectionIDis not empty. - (modules/core/03-connection) #1672 Remove crossing hellos from connection handshakes. The
PreviousConnectionIdinMsgConnectionOpenTryhas been deprecated. - (modules/core/04-channel) #1317 Remove crossing hellos from channel handshakes. The
PreviousChannelIdinMsgChannelOpenTryhas been deprecated. - (transfer) #1250 Deprecate
GetTransferAccountsince thetransfermodule account is never used. - (channel) #1283 The
OnChanOpenInitapplication callback now returns a version string in line with the latest spec changes. - (modules/29-fee)#1338 Renaming
Resultfield inIncentivizedAcknowledgementtoAppAcknowledgement. - (modules/29-fee)#1343 Renaming
KeyForwardRelayerAddresstoKeyRelayerAddressForAsyncAck, andParseKeyForwardRelayerAddresstoParseKeyRelayerAddressForAsyncAck. - (apps/27-interchain-accounts)#1432 Updating
RegisterInterchainAccountto include an additionalversionargument, supporting ICS29 fee middleware functionality in ICS27 interchain accounts. - (apps/27-interchain-accounts)#1565 Removing
NewErrorAcknowledgementin favour ofchanneltypes.NewErrorAcknowledgement. - (transfer)#1565 Removing
NewErrorAcknowledgementin favour ofchanneltypes.NewErrorAcknowledgement. - (channel)#1565 Updating
NewErrorAcknowledgementto accept an error instead of a string and removing the possibility of non-deterministic writes to application state. - (core/04-channel)#1636 Removing
SplitChannelVersionandMergeChannelVersionsfunctions since they are not used.
State Machine Breaking
- (apps/transfer) #1907 Blocked module account addresses are no longer allowed to send IBC transfers.
- (apps/27-interchain-accounts) #1882 Explicitly check length of interchain account packet data in favour of nil check.
Improvements
- (app/20-transfer) #1680 Adds migration to correct any malformed trace path information of tokens with denoms that contains slashes. The transfer module consensus version has been bumped to 2.
- (app/20-transfer) #1730 parse the ics20 denomination provided via a packet using the channel identifier format specified by ibc-go.
- (cleanup) #1335
gofumpt -w -l .to standardize the code layout more strictly thango fmt ./... - (middleware) #1022 Add
GetAppVersionto the ICS4Wrapper interface. This function should be used by IBC applications to obtain their own version since the version set in the channel structure may be wrapped many times by middleware. - (modules/core/04-channel) #1232 Updating params on
NewPacketIdand moving to bottom of file. - (app/29-fee) #1305 Change version string for fee module to
ics29-1 - (app/29-fee) #1341 Check if the fee module is locked and if the fee module is enabled before refunding all fees
- (transfer) #1414 Emitting Sender address from
fungible_token_packetevents inOnRecvPacketandOnAcknowledgementPacket. - (testing/simapp) #1397 Adding mock module to maccperms and adding check to ensure mock module is not a blocked account address.
- (core/02-client) #1570 Emitting an event when handling an upgrade client proposal.
- (modules/light-clients/07-tendermint) #1713 Allow client upgrade proposals to update
TrustingPeriod. See ADR-026 for context. - (core/client) #1740 Add
cosmos_proto.implements_interfaceto adhere to guidelines in Cosmos SDK ADR 019 for annotatinggoogle.protobuf.Anytypes
Features
- #276 Adding the Fee Middleware module v1
- (apps/29-fee) #1229 Adding CLI commands for getting all unrelayed incentivized packets and packet by packet-id.
- (apps/29-fee) #1224 Adding Query/CounterpartyAddress and CLI to ICS29 fee middleware
- (apps/29-fee) #1225 Adding Query/FeeEnabledChannel and Query/FeeEnabledChannels with CLIs to ICS29 fee middleware.
- (modules/apps/29-fee) #1230 Adding CLI command for getting incentivized packets for a specific channel-id.
Bug Fixes
- (apps/29-fee) #1774 Change non nil relayer assertion to non empty to avoid import/export issues for genesis upgrades.
- (apps/29-fee) #1278 The URI path for the query to get all incentivized packets for a specific channel did not follow the same format as the rest of queries.
- (modules/core/04-channel)#1919 Fixed formatting of sequence for packet “acknowledgement written” logs.