Skip to content

Latest commit

 

History

History
286 lines (245 loc) · 16.1 KB

CHANGELOG.md

File metadata and controls

286 lines (245 loc) · 16.1 KB

Changelog

Unreleased Changes

Special thanks to external contributors for this release: @CharlyCst (#347).

FEATURES

  • Update to tendermint-rs version 0.17-RC3 (#403)
  • changelog Added "unreleased" section in CHANGELOG.MD to help streamline releases (#274)
  • relayer Integrate relayer spike into relayer crate (#335)
  • modules
    • Implement flexible connection id selection (#332)
    • ICS 4 Domain Types for channel handshakes and packets (#315, #95)
    • Introduce LightBlock support for MockContext (#389)
  • relayer
    • Implement query_header_at_height via plain RPC queries (no light client verification) (#336)
    • Implement the relayer logic for connection handshake messages (#358, [#359], [#360])
    • Implement the relayer logic for channel handshake messages (#371, #372, #373, #374)
  • relayer-cli
    • Merge light clients config in relayer config and add commands to add/remove light clients (#348)
    • CLI for client update message (#277)
    • Implement the relayer CLI for connection handshake messages (#358, [#359], [#360])
    • Implement the relayer CLI for channel handshake messages (#371, #372, #373, #374)
    • Implement commands to add and list keys for a chain (#363)
  • proto-compiler
    • Refactor and allow specifying a commit at which the Cosmos SDK should be checked out (#366)
    • Add a --tag option to the clone-sdk command to check out a tag instead of a commit (#369)
  • ibc-proto Refactor and allow specifying a commit at which the Cosmos SDK should be checked out (#366)

IMPROVEMENTS

  • relayer-cli
    • Split tasks spawned by CLI commands into their own modules (#331)
    • V0 command implementation (#346)
  • modules
    • Homogenize ConnectionReader trait so that all functions return owned objects (#347)
    • Align with tendermint-rs in the domain type definition of block::Id (#338)

v0.0.4

October 19, 2020

This release focuses on alignment with the Cosmos ecosystem: adaptations to Tendermint-rs 0.16 and subsequently to 0.17 (0.17.0-rc1), and numerous protobuf updates following latest stargate releases.

Additional highlights:

  • Adding DomainTypes and (de)serialization capability to ICS02 and ICS03 messages and structures.
  • Improvements of the IBC message processor framework (handlers, contexts and mocks).
  • Added initial implementations for the ICS26 (routing module) and ICS18 (basic relayer algorithms module) for use in testing.
  • Also added support for packet handling in the relayer algorithm specifications.

BREAKING CHANGES:

FEATURES:

IMPROVEMENTS:

  • modules Implemented the DomainType trait for IBC proto structures (#245, #249).
  • modules & ibc-proto Several improvements to message processors, among which (#218):
    • ICS03 connection handshake protocol initial implementation and tests (#160)
    • Add capability to decode from protobuf Any* type into Tendermint and Mock client states
    • Cleanup Any* client wrappers related code
    • Migrate handlers to newer protobuf definitions (#226)
    • Extend client context mock (#221)
    • Context mock simplifications and cleanup (#269, #295, #296, #297)
  • modules/ics03 Split msgs.rs in multiple files, implement From for all messages (#253)
  • ibc-proto
    • Move ibc-proto source code into ibc-rs (#142) and fixed code deduplication (#282, #284)
    • Consolidate proto-compiler logic #241
  • spec/relayer Add support for APALACHE to the Relayer TLA+ spec (#165)
  • relayer Update to tendermint v.0.16 and integrate with the new light client implementation (#90, #243)

BUG FIXES:

v0.0.3

September 1, 2020

This release focuses on the IBC message processor framework and initial implementations in ICS02 and ICS07. It also introduces an initial specification for the relayer algorithm.

Other highlights:

  • The modules crate is published as ibc in crates.io
  • ADR-001 and ADR-003 are complete. 🎉

BREAKING CHANGES:

  • modules Renamed modules crate to ibc crate. Version number for the new crate is not reset. (#198)
  • modules/ics02 ConnectionIds are now decoded to Vec<ConnectionId> and validated instead of Vec<String> (#185)
  • modules/ics03 Removed Connection and ConnectionCounterparty traits (#193)
  • modules/ics04 Removed Channel and ChannelCounterparty traits (#192)

FEATURES:

IMPROVEMENTS:

BUG FIXES:

v0.0.2

August 1, 2020

This release is focused on updating the query system from amino to protobuf, implementing a few queries from the CLI, and establishing an initial testing framework that will support multiple chain types.

It does not target a stable release of Cosmos-SDK chains, but is tracking the latest state of development towards the Cosmos-SDK Stargate release.

BREAKING CHANGES:

  • [modules|relayer] Refactor queries, paths, and Chain trait to reduce code and use protobuf instead of Amino. #152, #174, #155
  • [repo] Moved relayer/cli to relayer-cli, relayer/relay to relayer. #183

FEATURES:

  • relayer Query connections given client id. #169
  • relayer Query connection given connection id. #136
  • relayer Query channel given channel id and port #163
  • [spec] Channel closing datagrams in TLA+ #141

IMPROVEMENTS:

  • [ci] Framework (scripts and Github Actions) for integration testing the relayer queries against the Cosmos-SDK's simd binary with prepopulated IBC state in the genesis #140, #184
  • [relayer|modules] Implemented better Raw type handling. #156
  • [repo] Add rust-toolchain file. #154

BUG FIXES:

  • modules Fixed the identifiers limits according to updated ics spec. #189
  • [modules/relayer] Remove some warnings triggered during compilation due to dependency specification. #132
  • modules Fix nightly runs. #161
  • [repo] Fix for incomplete licence terms. #153

0.0.1

July 1st, 2020

This is the initial prototype release of an IBC relayer and TLA+ specifications. There are no compatibility guarantees until v0.1.0.

Includes:

  • Configuration file definition and validation
  • Client state, consensus state, connection, channel queries.
    • Note: deserialization is unimplemented as it has dependency on migration to protobuf for ABCI queries
  • Per chain light clients threads are created and headers are periodically retrieved and verified.
  • Per chain IBC event monitor threads are spawned and main event handler that receives them.
    • Note: the event handler just displays the events.
  • IBC Modules partial implementation for datastructures, messages and queries.
  • Some English and TLA+ specifications for Connection & Channel Handshake as well as naive relayer algorithm.