Skip to content

Releases: cosmos/ibc-go

v6.1.2

20 Oct 08:37
4d32854
Compare
Choose a tag to compare

UPDATES


We present here a summary of the most relevant changes, please see the v6.1.2 changelog for the full set of changes included in this release.

apps/transfer

  • The REST endpoints /ibc/apps/transfer/v1/denom_traces/{hash} and /ibc/apps/transfer/v1/denom_hashes/{trace} accept now values for hash and trace that contain slashes.

Special thanks to our external contributors in this release: @emidev98


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.46.7 and ibc-go v6.1.2, please follow:

  1. 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.
  2. The migration from ibc-go v1 to v2.
  3. The migration from ibc-go v2 to v3.
  4. The migration from ibc-go v3 to v4.
  5. The migration from ibc-go v4 to v5.
  6. The migration from ibc-go v5 to v6.

v5.3.2

20 Oct 08:35
fd8402f
Compare
Choose a tag to compare

UPDATES


We present here a summary of the most relevant changes, please see the v5.3.2 changelog for the full set of changes included in this release.

apps/transfer

  • The REST endpoints /ibc/apps/transfer/v1/denom_traces/{hash} and /ibc/apps/transfer/v1/denom_hashes/{trace} accept now values for hash and trace that contain slashes.

Special thanks to our external contributors in this release: @emidev98


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.46.12 and ibc-go v5.3.2, please follow:

  1. 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.
  2. The migration from ibc-go v1 to v2.
  3. The migration from ibc-go v2 to v3.
  4. The migration from ibc-go v3 to v4.
  5. The migration from ibc-go v4 to v5.

v4.5.1

20 Oct 08:25
9b891f4
Compare
Choose a tag to compare

UPDATES


We present here a summary of the most relevant changes, please see the v4.5.1 changelog for the full set of changes included in this release.

apps/transfer

  • The REST endpoints /ibc/apps/transfer/v1/denom_traces/{hash} and /ibc/apps/transfer/v1/denom_hashes/{trace} accept now values for hash and trace that contain slashes.

Special thanks to our external contributors in this release: @emidev98


Please note that the v4 release line contains a bug where fee-enabled Interchain Accounts channels cannot be reopened in case of channel closure due to packet timeout. Regular Interchain Accounts channels (i.e. non fee-enabled) can be reopened. In order to be able to reopen fee-enabled Interchain Accounts channels, please upgrade to v5.3.1 or above.


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.45.16 and ibc-go v4.5.1, please follow:

  1. 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.
  2. The migration from ibc-go v1 to v2.
  3. The migration from ibc-go v2 to v3.
  4. The migration from ibc-go v3 to v4.

v4.4.3

20 Oct 08:21
c5422fe
Compare
Choose a tag to compare

UPDATES


We present here a summary of the most relevant changes, please see the v4.4.3 changelog for the full set of changes included in this release.

apps/transfer

  • The REST endpoints /ibc/apps/transfer/v1/denom_traces/{hash} and /ibc/apps/transfer/v1/denom_hashes/{trace} accept now values for hash and trace that contain slashes.

Special thanks to our external contributors in this release: @emidev98


Please note that the v4 release line contains a bug where fee-enabled Interchain Accounts channels cannot be reopened in case of channel closure due to packet timeout. Regular Interchain Accounts channels (i.e. non fee-enabled) can be reopened. In order to be able to reopen fee-enabled Interchain Accounts channels, please upgrade to v5.3.1 or above.


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.45.15 and ibc-go v4.4.3, please follow:

  1. 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.
  2. The migration from ibc-go v1 to v2.
  3. The migration from ibc-go v2 to v3.
  4. The migration from ibc-go v3 to v4.

v4.5.0

03 Oct 08:09
80bc445
Compare
Choose a tag to compare

UPDATES


We present here a summary of the most relevant changes, please see the v4.5.0 changelog for the full set of changes included in this release.

dependencies

  • Cosmos SDK has been bumped to v0.45.16.
  • ics23 has been bumped to v0.9.1.

Please note that the v4 release line contains a bug where fee-enabled Interchain Accounts channels cannot be reopened in case of channel closure due to packet timeout. Regular Interchain Accounts channels (i.e. non fee-enabled) can be reopened. In order to be able to reopen fee-enabled Interchain Accounts channels, please upgrade to v5.2.1 or above.


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.45.16 and ibc-go v4.5.0, please follow:

  1. 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.
  2. The migration from ibc-go v1 to v2.
  3. The migration from ibc-go v2 to v3.
  4. The migration from ibc-go v3 to v4.

v7.3.0

31 Aug 19:25
c75650a
Compare
Choose a tag to compare

UPDATES


This release main additions are:

Support for JSON encoding of ICA transactions

We have added support for JSON encoding of transactions in the Interchain Accounts packet data. During ICA channel handshake it is possible, using the encoding of the channel version metadata , to indicate that the ICA transactions in the data field of InterchainAccountPacketData will be proto3 JSON encoded. See the Transaction Encoding section in the documentation for more information.

Support for ADR 8 middleware

We have added a set of optional interfaces that IBC applications can implement, so that the callbacks middleware can target these interfaces in order to get the desired callback addresses on the source and destination chains and execute actions on packet lifecycle events. See the Callbacks Middleware section in the documentation for more information.

Shout-out to @srdtrk for all the 🌟🦄 amazing🥇🙇 work on both features.

Please see the v7.3.0 changelog for the full set of changes included in this release. Please also note that this release requires a coordinated upgrade. We present here a summary of other relevant changes included in this release:

dependencies

  • Cosmos SDK has been bumped to v0.47.4.

light-clients/06-solomachine

  • Solo machines are now expected to sign data on a path that 1) does not include a connection prefix (e.g. ibc) and 2) does not escape any characters. Because of this change we recommend NOT using the solo machine light client of versions lower than v7.3.0.

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.4 and ibc-go v7.3.0, please follow:

  1. 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.
  2. The migration from ibc-go v1 to v2.
  3. The migration from ibc-go v2 to v3.
  4. The migration from ibc-go v3 to v4.
  5. The migration from ibc-go v4 to v5.
  6. The migration from ibc-go v5 to v6.
  7. The migration from ibc-go v6 to v7.
  8. The migration from ibc-go v7 to v7.1.
  9. The migration from ibc-go v7.2 to v7.3.

v7.2.1

31 Aug 19:18
856f019
Compare
Choose a tag to compare

UPDATES


Please see the v7.2.1 changelog for the full set of changes included in this release.

Special thanks to our external contributors on this release: @GAtom22


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.3 and ibc-go v7.2.1, please follow:

  1. 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.
  2. The migration from ibc-go v1 to v2.
  3. The migration from ibc-go v2 to v3.
  4. The migration from ibc-go v3 to v4.
  5. The migration from ibc-go v4 to v5.
  6. The migration from ibc-go v5 to v6.
  7. The migration from ibc-go v6 to v7.
  8. The migration from ibc-go v7 to v7.1.

modules/apps/callbacks/v0.1.0+ibc-go-v7.3

31 Aug 19:49
17cf126
Compare
Choose a tag to compare

This is the first release of the much awaited 🥁🎺 callbacks middleware 🌈🤩

I never heard of this before 🙈 what's this callbacks middleware?

The callbacks middleware is an IBC module that implements ADR-008, which means that the module is charged with superpowers to execute callbacks in any execution environment (like the Wasm or EVM execution frameworks) on packet lifecycle events. We have added the ContractKeeper interface defining the entry points exposed to the execution environment. The execution environment is expected to execute its custom logic within these entry points.

Read the documentation or this blog post by @adiraviraj for more information.

Hmm, ok... that sounds pretentious and a bit vague 🤔 what can I do with it?

I am glad you asked: the callbacks middleware opens up endless possibilities to implement use cases of the form send X, do Y programmatically. The main benefit for smart contract developers is the ability to leverage existing IBC app and to build new and unique apps for use cases of the form transfer + action or ICA + action. For example, the following will be possible to execute in a single user flow:

  • Send tokens from chain A to B. If the transfer was successful, then send an ICA packet to stake/LP/swap tokens.
  • Execute arbitrary smart contract logic upon receiving an ICS-20 packet.

Wow 😮 this is pretty cool, how can use it like... today?

This pre-release is compatible with ibc-go v7.3 (v7.3.0 is the first available release at the time of publishing), so the chain will need to be running at least this version. Please check out the relevant section of the documentation to learn how to wire up the middleware. Additionally, the chain should be running a version of the execution environment that implements the ContractKeeper interface (for example, for CosmWasm chains the Confio team is aiming to add support for this in x/wasm during Q4; and the Evmos team is also planning to add support for this in their EVM chain). Until those VM execution environments are updated, the middleware can nonetheless be used with custom Cosmos SDK modules that implement the ContractKeeper interface.

This is a fine piece of engineering work 🛠️ who are the masterminds behind such thing?

The 🔈shout-out 🗣️ goes for the IBC team at Interchain, but specially to:

  • @AdityaSripal for designing ADR-008 🧠
  • @srdtrk for writing the implementation and enhancing ADR-008 ✍️
  • @colin-axner for reviewing and proposing countless improvements ♾️

But we would not have been able to achieve this without the invaluable help, feedback and support of:

modules/apps/[email protected]+ibc-go-v7.3-rc1

30 Aug 11:18
84dca76
Compare
Choose a tag to compare

This is the first pre-release of the much awaited 🥁🎺 callbacks middleware 🌈🤩

I never heard of this before 🙈 what's this callbacks middleware?

The callbacks middleware is an IBC module that implements ADR-008, which means that the module is charged with superpowers to execute callbacks in any execution environment (like the Wasm or EVM execution frameworks) on packet lifecycle events. We have added the ContractKeeper interface defining the entry points exposed to the execution environment. The execution environment is expected to execute its custom logic within these entry points.

Read the documentation or this blog post by @adiraviraj for more information.

Hmm, ok... that sounds pretentious and a bit vague 🤔 what can I do with it?

I am glad you asked: the callbacks middleware opens up endless possibilities to implement use cases of the form send X, do Y programmatically. The main benefit for smart contract developers is the ability to leverage existing IBC app and to build new and unique apps for use cases of the form transfer + action or ICA + action. For example, the following will be possible to execute in a single user flow:

  • Send tokens from chain A to B. If the transfer was successful, then send an ICA packet to stake/LP/swap tokens.
  • Execute arbitrary smart contract logic upon receiving an ICS-20 packet.

Wow 😮 this is pretty cool, how can use it like... today?

This pre-release is compatible with ibc-go v7.3 (v7.3.0-rc1 is the latest pre-release available at the time of publishing), so the chain will need to be running at least this version. Please check out the relevant section of the documentation to learn how to wire up the middleware. Additionally, the chain should be running a version of the execution environment that implements the ContractKeeper interface (the Confio team is aiming to add support for this in x/wasm during Q4 2023).

This is a fine piece of engineering work 🛠️ who are the masterminds behind such thing?

The 🔈shout-out 🗣️ goes for the IBC team at Interchain, but specially to:

  • @AdityaSripal for designing ADR-008 🧠
  • @srdtrk for writing the implementation and enhancing ADR-008 ✍️
  • @colin-axner for reviewing and proposing countless improvements ♾️

But we would not have been able to achieve this without the invaluable help, feedback and support of:

v7.3.0-rc1

28 Aug 11:46
3201ab9
Compare
Choose a tag to compare
v7.3.0-rc1 Pre-release
Pre-release

This pre-release main additions are:

Support for JSON encoding of ICA transactions

We have added support for JSON encoding of transactions in the Interchain Accounts packet data. During ICA channel handshake it is possible, using the encoding of the channel version metadata , to indicate that the ICA transactions in the data field of InterchainAccountPacketData will be proto3 JSON encoded. See the Transaction Encoding section in the documentation for more information.

Support for ADR 8 middleware

We have added a set of optional interfaces that IBC applications can implement, so that the callbacks middleware (link to v1.0.0 release not available yet) can target these interfaces in order to get the desired callback addresses on the source and destination chains and execute actions on packet lifecycle events. See the Callbacks Middleware section in the documentation for more information.

Shout-out to @srdtrk for all the 🌟🦄 amazing🥇🙇 work on both features.

Additionally, this release also makes an improvement to light-clients/06-solomachine: solo machines are now expected to sign data on a path that 1) does not include a connection prefix (e.g. ibc) and 2) does not escape any characters.

Please see the v7.3.0-rc1 changelog for the full set of changes included in this pre-release.


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.4 and ibc-go v7.3.0-rc1, please follow:

  1. 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.
  2. The migration from ibc-go v1 to v2.
  3. The migration from ibc-go v2 to v3.
  4. The migration from ibc-go v3 to v4.
  5. The migration from ibc-go v4 to v5.
  6. The migration from ibc-go v5 to v6.
  7. The migration from ibc-go v6 to v7.
  8. The migration from ibc-go v7 to v7.1.