Releases: cosmos/ibc-go
v1.0.0-rc3
Please read the migration doc which provides information on updating from the v0.40.x - v0.42.x SDK releases
This release contains one API breaking change.
- (transfer) #275 Remove 'ChanCloseInit' function from transfer keeper. ICS20 does not close channels.
If no issues are reported and the SDK finalizes v0.43 then this will be the final release v1.0.0
v1.0.0-rc2
Please read the migration doc which provides information on updating from the v0.40.x - v0.42.x SDK releases
This release bumps the SDK dependency to v0.43.0-rc2. This release also include one state machine breaking change:
- (core) #268 Perform a no-op on redundant relay messages. Previous behaviour returned an error. Now no state change will occur and no error will be returned.
And one improvement:
- (modules/core/ante) #235 Introduces a new IBC Antedecorator that will reject transactions that only contain redundant packet messages (and accompany UpdateClient msgs). This will prevent relayers from wasting fees by submitting messages for packets that have already been processed by previous relayer(s). The Antedecorator is only applied on CheckTx and RecheckTx and is therefore optional for each node.
The swagger files for the gRPC endpoints have also been generated.
If no issues are reported and the SDK finalizes v0.43 then this will be the final release v1.0.0
v1.0.0-rc1
Please read the migration doc which provides information on updating from the v0.40.x - v0.42.x SDK releases
This release bumps the SDK dependency to v0.43.0-rc1 and contains documentation improvements. If no issues are reported and the SDK finalizes v0.43 then this will be the final release v1.0.0
v1.0.0-rc0
This release uses SDK v0.43.0-rc0
Please read the migration doc which provides information on updating from the v0.40.x - v0.42.x SDK releases
Bug Fixes
- (07-tendermint) #241 Ensure tendermint client state latest height revision number matches chain id revision number.
- (07-tendermint) #234 Use sentinel value for the consensus state root set during a client upgrade. This prevents genesis validation from failing.
- (modules) #223 Use correct Prometheus format for metric labels.
API Breaking
- (04-channel) #220 Channel legacy handler functions were removed. Please use the MsgServer functions or directly call the channel keeper's handshake function.
Improvements
- (04-channel) #220 Channel handshake events are now emitted with the channel keeper.
v1.0.0-beta1
This release uses SDK v0.43.0-beta1
Please read the migration doc which provides information on updating from the v0.40.x - v0.42.x SDK releases
In-place store migrations and genesis migrations were added in this release. A new parameter MaxExpectedTimePerBlock
has also been added. This parameter must be set in genesis or during upgrade migrations. Please see the migration doc for more information.
Bug Fixes
- (06-solomachine) #214 Disable defensive timestamp check in SendPacket for solo machine clients.
- (07-tendermint) #210 Export all consensus metadata on genesis restarts for tendermint clients.
- (core) #200 Fixes incorrect export of IBC identifier sequences. Previously, the next identifier sequence for clients/connections/channels was not set during genesis export. This resulted in the next identifiers being generated on the new chain to reuse old identifiers (the sequences began again from 0).
- (02-client) #192 Fix IBC
query ibc client header
cli command. Support historical queries for query header/node-state commands.
API Breaking
- (modules) #206 Expose
relayer sdk.AccAddress
onOnRecvPacket
,OnAcknowledgementPacket
,OnTimeoutPacket
module callbacks to enable incentivization. - (02-client) #181 Remove 'InitialHeight' from UpdateClient Proposal. Only copy over latest consensus state from substitute client.
- (06-solomachine) #169 Change FrozenSequence to boolean in solomachine ClientState. The solo machine proto package has been bumped from
v1
tov2
.
State Machine Breaking
- (modules/core/03-connection) #171 Introduces a new parameter
MaxExpectedTimePerBlock
to allow connections to calculate and enforce a block delay that is proportional to time delay set by connection.
Improvements
- (core/02-client) #205 Add in-place and genesis migrations from SDK v0.42.0 to ibc-go v1.0.0. Solo machine protobuf defintions are migrated from v1 to v2. All solo machine consensus states are pruned. All expired tendermint consensus states are pruned.
- (modules/core) #184 Improve error messages. Uses unique error codes to indicate already relayed packets.
- (07-tendermint) #182 Remove duplicate checks in upgrade logic.
- (core/04-channel) #197 Introduced a
packet_ack_hex
attribute to emit the hex-encoded acknowledgement in events. This allows for raw binary (proto-encoded message) to be sent over events and decoded correctly on relayer. Originalpacket_ack
is DEPRECATED. All relayers and IBC event consumers are encouraged to switch topacket_ack_hex
as soon as possible.
Features
- #198 New CLI command
query ibc-transfer escrow-address <port> <channel id>
to get the escrow address for a channel; can be used to then query balance of escrowed tokens
Client Breaking Changes
- (02-client/cli) #196 Rename
node-state
cli command toself-consensus-state
.
v1.0.0-alpha2
This release uses SDK v0.43.0-beta1
Please see the migration doc for help updating from the v0.42.x SDK releases.
Bug Fixes
- (06-solomachine) #153 Fix solo machine proof height sequence mismatch bug.
API Breaking
- (module/core/02-client) #165 Remove GetFrozenHeight from the ClientState interface.
- (modules) #166 Remove GetHeight from the misbehaviour interface. The
consensus_height
attribute has been removed from Misbehaviour events. - (modules) #162 Remove deprecated Handler types in core IBC and the ICS 20 transfer module.
- (modules/core) #161 Remove Type(), Route(), GetSignBytes() from 02-client, 03-connection, and 04-channel messages.
- (modules) #140 IsFrozen() client state interface changed to Status(). gRPC
ClientStatus
route added.
State Machine Breaking
- (modules/light-clients/07-tendermint) #141 Allow a new form of misbehaviour that proves counterparty chain breaks time monotonicity, automatically enforce monotonicity in UpdateClient and freeze client if monotonicity is broken.
- (modules/light-clients/07-tendermint) #141 Freeze the client if there's a conflicting header submitted for an existing consensus state.
Improvements
- (modules/core/04-channel) #144 Introduced a
packet_data_hex
attribute to emit the hex-encoded packet data in events. This allows for raw binary (proto-encoded message) to be sent over events and decoded correctly on relayer. Originalpacket_data
is DEPRECATED. All relayers and IBC event consumers are encouraged to switch topacket_data_hex
as soon as possible. - (modules/light-clients/07-tendermint) #125 Implement efficient iteration of consensus states and pruning of earliest expired consensus state on UpdateClient.
- (modules/light-clients/07-tendermint) #141 Return early in case there's a duplicate update call to save Gas.
v1.0.0-alpha1
This release uses SDK v0.43.0-alpha1.
WARNING: This release contains a known bug on the SDK which will lead to halting. It should not be used in production.
Please see the migration doc for help updating from the v0.42.x SDK releases.
Please see the CHANGELOG for all the changes included in this release.
The IBC testing package as been significantly refactored to improve usability, readability, and support for external app developers. Please see the README on how to integrate it into your tests without forking ibc-go.
A rc will be released once 1.0.0 milestone is completed and an SDK v0.43.0-rc release is made.