Skip to main content
This page tracks all releases and changes from the cosmos/ibc-go repository. For the latest development updates, see the UNRELEASED section.
2023-10-20
IBCRelease
v4.5.1

Bug Fixes

  • (apps/transfer) #3045 allow value with slashes in URL template for denom_traces and denom_hashes queries.
  • (apps/transfer) #4709 Order query service RPCs to fix availability of denom traces endpoint when no args are provided.
2023-10-03
IBCRelease
v4.5.0

Dependencies

  • #4738 Bump Cosmos SDK to v0.45.16.
  • #4782 Bump ics23 to v0.9.1.
2023-10-20
IBCRelease
v4.4.3

Bug Fixes

  • (apps/transfer) #3045 allow value with slashes in URL template for denom_traces and denom_hashes queries.
  • (apps/transfer) #4709 Order query service RPCs to fix availability of denom traces endpoint when no args are provided.
2023-05-25
IBCRelease
v4.4.2

Bug Fixes

  • #3662 Retract v4.1.2 and v4.2.1.
2023-05-25
IBCRelease
v4.4.1

Bug Fixes

  • #3346 Properly handle ordered channels in UnreceivedPackets query.
2023-04-25
IBCRelease
v4.4.0

Dependencies

  • #3416 Bump Cosmos SDK to v0.45.15 and replace Tendermint with CometBFT v0.34.27.
2023-05-25
IBCRelease
v4.3.1

Bug Fixes

  • #3346 Properly handle ordered channels in UnreceivedPackets query.
2023-01-24
IBCRelease
v4.3.0

Dependencies

  • #3049 Bump Cosmos SDK to v0.45.12.
  • #2868 Bump ics23 to v0.9.0.

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/bank send 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.
2023-05-25
IBCRelease
v4.2.2

Bug Fixes

  • #3661 Revert state-machine breaking improvement from PR #2786.
2023-05-25
IBCRelease
v4.2.1

Dependencies

  • #2868 Bump ICS 23 to v0.9.0.

Improvements

  • (apps/29-fee) #2786 Save gas by checking key existence with KVStore’s Has method.

Bug Fixes

  • #3346 Properly handle ordered channels in UnreceivedPackets query.
2022-11-07
IBCRelease
v4.2.0

Dependencies

  • #2588 Bump SDK version to v0.45.10 and Tendermint to v0.34.22.

State Machine Breaking

  • (apps/transfer) #2651 Introduce mustProtoMarshalJSON for 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 sequence to MsgTransferResponse.

Features

  • (apps/transfer) #2595 Adding optional memo field to FungibleTokenPacketData and MsgTransfer.

Bug Fixes

  • (apps/transfer) #2679 Check x/bank send enabled.
2023-05-25
IBCRelease
v4.1.3

Bug Fixes

  • #3660 Revert state-machine breaking improvement from PR #2786.
2023-05-25
IBCRelease
v4.1.2

Dependencies

  • #2868 Bump ICS 23 to v0.9.0.

Improvements

  • (apps/29-fee) #2786 Save gas by checking key existence with KVStore’s Has method.

Bug Fixes

  • #3346 Properly handle ordered channels in UnreceivedPackets query.
2022-10-27
IBCRelease
v4.1.1

Dependencies

  • #2624 Bump SDK version to v0.45.10 and Tendermint to v0.34.22.
2022-09-20
IBCRelease
v4.1.0

Dependencies

  • #2288 Bump SDK version to v0.45.8 and Tendermint to v0.34.21.

Features

  • (apps/27-interchain-accounts) #2193 Adding InterchainAccount gRPC query endpoint to ICS27 controller submodule 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.
2022-09-15
IBCRelease
v4.0.1

Dependencies

  • #2287 Bump SDK version to v0.45.8 and Tendermint to v0.34.21.
2022-08-12
IBCRelease
v4.0.0

Dependencies

  • #1627 Bump Go version to 1.18
  • #1905 Bump SDK version to v0.45.7

API Breaking

  • (core/04-channel) #1792 Remove PreviousChannelID from NewMsgChannelOpenTry arguments. MsgChannelOpenTry.ValidateBasic() returns error if the deprecated PreviousChannelID is not empty.
  • (core/03-connection) #1797 Remove PreviousConnectionID from NewMsgConnectionOpenTry arguments. MsgConnectionOpenTry.ValidateBasic() returns error if the deprecated PreviousConnectionID is not empty.
  • (modules/core/03-connection) #1672 Remove crossing hellos from connection handshakes. The PreviousConnectionId in MsgConnectionOpenTry has been deprecated.
  • (modules/core/04-channel) #1317 Remove crossing hellos from channel handshakes. The PreviousChannelId in MsgChannelOpenTry has been deprecated.
  • (transfer) #1250 Deprecate GetTransferAccount since the transfer module account is never used.
  • (channel) #1283 The OnChanOpenInit application callback now returns a version string in line with the latest spec changes.
  • (modules/29-fee)#1338 Renaming Result field in IncentivizedAcknowledgement to AppAcknowledgement.
  • (modules/29-fee)#1343 Renaming KeyForwardRelayerAddress to KeyRelayerAddressForAsyncAck, and ParseKeyForwardRelayerAddress to ParseKeyRelayerAddressForAsyncAck.
  • (apps/27-interchain-accounts)#1432 Updating RegisterInterchainAccount to include an additional version argument, supporting ICS29 fee middleware functionality in ICS27 interchain accounts.
  • (apps/27-interchain-accounts)#1565 Removing NewErrorAcknowledgement in favour of channeltypes.NewErrorAcknowledgement.
  • (transfer)#1565 Removing NewErrorAcknowledgement in favour of channeltypes.NewErrorAcknowledgement.
  • (channel)#1565 Updating NewErrorAcknowledgement to accept an error instead of a string and removing the possibility of non-deterministic writes to application state.
  • (core/04-channel)#1636 Removing SplitChannelVersion and MergeChannelVersions functions 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 than go fmt ./...
  • (middleware) #1022 Add GetAppVersion to 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 NewPacketId and 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_packet events in OnRecvPacket and OnAcknowledgementPacket.
  • (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_interface to adhere to guidelines in Cosmos SDK ADR 019 for annotating google.protobuf.Any types

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.