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)
- 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).
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)
- Feature guard
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)
Dependencies
- Update to bytes
0.5
and amino_rs0.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 tendermint-go@v0.32:
abci_info
,abci_query
#120 - JSON ID is JSON specification compatible and accepts int, string or null - [#88]
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
toCommit
(#42) - Fix genesis file to include
validators
field (#65) - Change
max_gas
fromu64
toi64
(#61) - Allow
Height
to be0
(#77)
ABCI Changes:
- Include
AbciQuery
in theMethod
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 inputdata
as hex and returnkey
andvalue
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
andring
as dependencies (moved to KMS repo) (#60) -
tai64
from2
to3
(#22) -
zeroize
from0.9
to1.1
([#74, #89]) -
hyper
from0.10
to0.13
(#85) -
signatory
from0.12
to0.17
(#89) -
subtle-encoding
from0.3
to0.5
(#47) -
uuid
from0.7
to0.8
(#91) -
replace
rand_os
withgetrandom
(#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
andError(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
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 improveserde
serializer support (#228).
0.5.0 (2019-03-13)
This release is compatible with tendermint v0.30
- Rename
SecretConnectionKey
tosecret_connection::PublicKey
, addsecret_connection::PeerId
(#219) - Move
ConsensusState
underchain::state
(#205)
- Skipped to synchronize versions with
tmkms
- Support for secp256k1 keys (#181)
This release is compatible with tendermint v0.29
- Update to x25519-dalek v0.4.4 (#158)
- Consistent ordering of
BlockID
andTimestamps
in vote and proposal messages (#159) - Remove
PoisonPillMsg
previously used to shut-down the kms (#162)
This release is compatible with tendermint v0.28
- Split
PubKeyMsg
intoPubKeyRequest
andPubKeyResponse
(#141) - Migrate to Rust 2018 edition (#138)
- Allow empty BlockIds in validation method (#131)
- Prefix bech32 encoding of consensus keys with amino prefix (#128)
- Update to subtle-encoding v0.3 (#124)
- Introduce same validation logic as Tendermint (#110)
- Remove heartbeat (#105)
- Minor clarifications/fixes (#103)
- Initial release