Skip to content

Latest commit

 

History

History
307 lines (230 loc) · 12.2 KB

CHANGES.md

File metadata and controls

307 lines (230 loc) · 12.2 KB

pending

Light Client:

  • Expose latest_trusted from Supervisor Handle (#394)
  • Turn Handle into a trait for ease of integration and testability (#401)
  • Improve Supervisor ergonomics according to ADR-007 (#403)

[0.14.1] (2020-06-23)

  • Update prost-amino/prost-amino-derive to v0.6 (#367)

0.14.0 (2020-06-19)

This release mainly targets compatibility with Tendermint v0.33.x but contains a lot of smaller improvements regarding testing and (de)serialization. Also noteworthy is that the rpc module was broken out into a separate crate (tendermint-rpc).

⚠️ ️Deprecation warning ⚠️ : This might be that last release containing the lite module. It will be replaced with the light-client crate (soon).

CommitSig:

  • Refactored CommitSig into a more Rust-friendly enum. (#247)
  • Added CommitSig compatibility code to Absent vote (#260)
  • Added CommitSig timestamp zero-check compatibility code (#259)

Testing:

  • Configure integration test against latest tendermint-go to continue on error (#304)
  • Add integration test to track tendermint-go v0.33.5 (#304)
  • Remove test for hard-coded version in abci_info (#304)

Serialization:

  • Refactor serializers library to use modules, give a nicer annotation to structs and separated into its own folder. (#247)
  • Added nullable Vec serialization (#247)
  • Moved/created tests for serialization in the same library and locked library to local crate (#263)
  • Made serialization tests symmetric (#261)

RPC:

  • Tendermint-Go v0.33 compatibility (#184)
    • abci_info, abci_query, block_results, genesis structs
    • serialization/deserialization fixes
    • Updated/fixed integration tests
  • Move into its own crate (#338)
    • Feature guard rpc::client (makes networking an optional dependency) (#343)

CI:

  • Moved to GitHub Actions (#120)
  • Updated crates.io badges (#120)
  • Enabled integration tests in CI with Tendermint-Go node service (#120)
  • Exclude changes in docs folder to trigger CI execution (#309)

0.13.0 (2020-04-20)

Dependencies:

  • Update signatory requirement to v0.19 (#227)

[0.12.0] (2020-04-17)

Dependencies

  • Update to bytes 0.5 and amino_rs 0.5.
  • Tokens for amino_rs are now fully non-conflicting with prost. Allowing both to be used together
  • Made RPC type values optional for full compatibility with [email protected]: abci_info, abci_query #120
  • JSON ID is JSON specification compatible and accepts int, string or null - [#88]

[0.11.0] (2019-12-11)

This is the first release since this repository was split off from the KMS repo a few months ago and contains more than the usual number of changes. As the new repository matures we will be working towards a more robust release cycle.

This release also contains a first draft of the Tendermint Light Client :).

The changes are organized in sections for better readability.

Organizational Changes:

  • Reorganized the crate into a workspace with a tendermint crate (#30)
  • Remove all optional compilation (#16)
  • Started using CircleCI for continuous integration (#15)
  • Fix clippy lints (#40, #55)

RPC Changes:

  • Fix /commit endpoint to actually include the commit data (#42)
  • Use async/await for the rpc client (#85)

Type Changes:

  • Add Default trait impls and some other utilities to data types (#64)
  • Fix transaction hash length to be 32-bytes (#14)
  • Rename LastCommit to Commit (#42)
  • Fix genesis file to include validators field (#65)
  • Change max_gas from u64 to i64 (#61)
  • Allow Height to be 0 (#77)

ABCI Changes:

  • Include AbciQuery in the Method enum (#AbciQueryMethodEnum)
  • Fix deserializing ABCI Code field (#13)
  • Fix ABCI data field to allow lower case hex encodings (#17)
  • Fix /abci_query endpoint to take input data as hex and return key and value in the response as base64 (#77)

Light Client:

  • Introduce validator Set type and compute Merkle root (#6)

  • First draft implementation of logic for the light client ([#31, #36])

  • Dependency Changes:

  • Remove secret_connection and ring as dependencies (moved to KMS repo) (#60)

  • tai64 from 2 to 3 (#22)

  • zeroize from 0.9 to 1.1 ([#74, #89])

  • hyper from 0.10 to 0.13 (#85)

  • signatory from 0.12 to 0.17 (#89)

  • subtle-encoding from 0.3 to 0.5 (#47)

  • uuid from 0.7 to 0.8 (#91)

  • replace rand_os with getrandom (#90)

0.10.0 (2019-07-30)

This release is tested against tendermint v0.31 and known to be compatible with tendermint v0.32 aside from one known issue impacting RPC (#286).

  • Fix inclusive range incompatibility affecting Rust nightly (#326)
  • Derive Eq/Ord for (transitive) status types (#324)
  • Add TendermintConfig::load_node_key (#315)
  • Add TendermintConfig::load_genesis_file (#312)
  • Add TendermintConfig and Error(Kind) types (#298)
  • Support /abci_query RPC endpoint (#296)
  • Implement the Tendermint (RFC6962) Merkle tree (#292)
  • Support account::Id generation from ed25519 pubkeys (#291)

0.9.0 (2019-06-24)

This release is compatible with tendermint v0.31

  • Reject low order points in Secret Connection handshake (#279)
  • Add RemoteErrorCode enum (#272)
  • Add msg_type() accessor for signature types (#271)

0.8.0 (2019-06-20)

This release is compatible with tendermint v0.31

  • /block_results RPC endpoint and related types (#267, #268)
  • Upgrade to Signatory v0.12 (#259)

0.7.0 (2019-04-24)

This release is compatible with tendermint v0.31

  • Initial JSONRPC over HTTP client + /broadcast_tx_* endpoints (#243)
  • Initial RPC support (#235)
  • Disallow a block height of 0 (#234)

0.6.0 (2019-04-16)

This release is compatible with tendermint v0.31

  • Add tendermint::Address, tendermint::account::Id, tendermint::Moniker, and improve serde serializer support (#228).

0.5.0 (2019-03-13)

This release is compatible with tendermint v0.30

  • Rename SecretConnectionKey to secret_connection::PublicKey, add secret_connection::PeerId (#219)
  • Move ConsensusState under chain::state (#205)

0.4.0 (N/A)

  • Skipped to synchronize versions with tmkms

0.3.0 (2019-03-05)

  • Support for secp256k1 keys (#181)

0.2.0 (2019-01-23)

This release is compatible with tendermint v0.29

  • Update to x25519-dalek v0.4.4 (#158)
  • Consistent ordering of BlockID and Timestamps in vote and proposal messages (#159)
  • Remove PoisonPillMsg previously used to shut-down the kms (#162)

0.1.5 (2019-01-18)

This release is compatible with tendermint v0.28

  • Split PubKeyMsg into PubKeyRequest and PubKeyResponse (#141)
  • Migrate to Rust 2018 edition (#138)

0.1.4 (2018-12-02)

  • Allow empty BlockIds in validation method (#131)

0.1.3 (2018-12-01)

  • Prefix bech32 encoding of consensus keys with amino prefix (#128)

0.1.2 (2018-11-27)

  • Update to subtle-encoding v0.3 (#124)
  • Introduce same validation logic as Tendermint (#110)
  • Remove heartbeat (#105)

0.1.1 (2018-11-20)

  • Minor clarifications/fixes (#103)

0.1.0 (2018-11-13)

  • Initial release