Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v0.21.0 #935

Merged
merged 5 commits into from
Jul 21, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
* `[tendermint-rpc]` Remove the `TmEvent` and `Attribute` structs and replace
- `[tendermint-rpc]` Remove the `TmEvent` and `Attribute` structs and replace
them with their equivalent domain types from the `tendermint` crate
([#918](https://github.com/informalsystems/tendermint-rs/issues/918))
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
* `[tendermint-proto]` Regenerate the Rust equivalents of the Tendermint
- `[tendermint-proto]` Regenerate the Rust equivalents of the Tendermint
Protobuf structures for Tendermint v0.34.9
([#871](https://github.com/informalsystems/tendermint-rs/issues/871))
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
* `[tendermint-rpc]` Add `PartialEq`, `Eq`, `PartialOrd`, `Ord` and `Hash` trait
- `[tendermint-rpc]` Add `PartialEq`, `Eq`, `PartialOrd`, `Ord` and `Hash` trait
bounds to the RPC URL types
([#919](https://github.com/informalsystems/tendermint-rs/issues/919))
12 changes: 12 additions & 0 deletions .changelog/v0.21.0/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
*Jul 20, 2021*

This release introduces several minor breaking changes (see below), among other
improvements, that clean up a few RPC-related data structures and ensure better
correctness of the `TrustThresholdFraction` data structure when constructing
and deserializing it.

A [security issue](https://github.com/informalsystems/tendermint-rs/issues/925)
was reported in `prost` v0.7, and we attempted to upgrade to v0.8, but we are
still awaiting one [bug fix](https://github.com/tokio-rs/prost/issues/502) in
v0.8 before we can upgrade. The moment that is fixed in `prost`, we will upgrade
to v0.8 and provide another `tendermint-rs` release.
42 changes: 42 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,47 @@
# CHANGELOG

## v0.21.0

*Jul 20, 2021*

This release introduces several minor breaking changes (see below), among other
improvements, that clean up a few RPC-related data structures and ensure better
correctness of the `TrustThresholdFraction` data structure when constructing
and deserializing it.

A [security issue](https://github.com/informalsystems/tendermint-rs/issues/925)
was reported in `prost` v0.7, and we attempted to upgrade to v0.8, but we are
still awaiting one [bug fix](https://github.com/tokio-rs/prost/issues/502) in
v0.8 before we can upgrade. The moment that is fixed in `prost`, we will upgrade
to v0.8 and provide another `tendermint-rs` release.

### BREAKING CHANGES

- `[tendermint-rpc]` Remove the `TmEvent` and `Attribute` structs and replace
them with their equivalent domain types from the `tendermint` crate
([#918](https://github.com/informalsystems/tendermint-rs/issues/918))
- `[tendermint]` The `TrustThresholdFraction` struct can now only be constructed
by way of its `new` constructor. Deserialization also now makes use of this
constructor, facilitating better validation. The `numerator` and `denominator`
fields can be accessed (read-only) via their respective methods, since the
fields are now private.
([#924](https://github.com/informalsystems/tendermint-rs/issues/924))

### BUG FIXES

- `[tendermint]` Update Genesis for Tendermint v.0.34.x ([#917](https://github.com/informalsystems/tendermint-rs/pull/917))
- `[tendermint-rpc]` Fix bug where `NewBlock` events emitted by Tendermint could not be parsed because of a missing field ([#930](https://github.com/informalsystems/tendermint-rs/issues/930))

### IMPROVEMENTS

- `[tendermint-proto]` Regenerate the Rust equivalents of the Tendermint
Protobuf structures for Tendermint v0.34.9
([#871](https://github.com/informalsystems/tendermint-rs/issues/871))
- `[tendermint-rpc]` Add `PartialEq`, `Eq`, `PartialOrd`, `Ord` and `Hash` trait
bounds to the RPC URL types
([#919](https://github.com/informalsystems/tendermint-rs/issues/919))
- `[tendermint-rpc]` Propagate JSON-RPC errors through the Rust subscription ([#932](https://github.com/informalsystems/tendermint-rs/issues/932))
romac marked this conversation as resolved.
Show resolved Hide resolved

## v0.20.0

*Jun 22, 2021*
Expand Down
6 changes: 3 additions & 3 deletions abci/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "tendermint-abci"
version = "0.20.0"
authors = ["Thane Thomson <thane@informal.systems>"]
version = "0.21.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2018"
license = "Apache-2.0"
readme = "README.md"
Expand Down Expand Up @@ -30,7 +30,7 @@ binary = [ "structopt", "tracing-subscriber" ]
bytes = "1.0"
eyre = "0.6"
prost = "0.7"
tendermint-proto = { version = "0.20.0", path = "../proto" }
tendermint-proto = { version = "0.21.0", path = "../proto" }
thiserror = "1.0"
tracing = "0.1"

Expand Down
11 changes: 4 additions & 7 deletions light-client-js/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
[package]
name = "tendermint-light-client-js"
version = "0.20.0"
authors = [
"Romain Ruetschi <romain@informal.systems>",
"Thane Thomson <thane@informal.systems>"
]
version = "0.21.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2018"
license = "Apache-2.0"
readme = "README.md"
Expand All @@ -27,8 +24,8 @@ serde = { version = "1.0", features = [ "derive" ] }
serde_json = "1.0"
# TODO(thane): Remove once https://github.com/rustwasm/wasm-bindgen/issues/2508 is resolved
syn = "=1.0.65"
tendermint = { version = "0.20.0", path = "../tendermint" }
tendermint-light-client = { version = "0.20.0", path = "../light-client", default-features = false }
tendermint = { version = "0.21.0", path = "../tendermint" }
tendermint-light-client = { version = "0.21.0", path = "../light-client", default-features = false }
wasm-bindgen = { version = "0.2.63", features = [ "serde-serialize" ] }

# The `console_error_panic_hook` crate provides better debugging of panics by
Expand Down
10 changes: 4 additions & 6 deletions light-client/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
[package]
name = "tendermint-light-client"
version = "0.20.0"
version = "0.21.0"
edition = "2018"
license = "Apache-2.0"
readme = "README.md"
keywords = ["blockchain", "bft", "consensus", "cosmos", "tendermint"]
categories = ["cryptography::cryptocurrencies", "network-programming"]
repository = "https://github.com/informalsystems/tendermint-rs"
authors = [
"Sean Braithwaite <sean@informal.systems>",
"Ethan Buchman <ethan@coinculture.info>",
"Informal Systems <hello@informal.systems>",
"Ismail Khoffi <Ismail.Khoffi@gmail.com>",
"Romain Ruetschi <romain@informal.systems>",
"Alexander Simmerl <a.simmerl@gmail.com>",
]

Expand All @@ -37,8 +35,8 @@ lightstore-sled = ["sled"]
unstable = []

[dependencies]
tendermint = { version = "0.20.0", path = "../tendermint" }
tendermint-rpc = { version = "0.20.0", path = "../rpc", default-features = false }
tendermint = { version = "0.21.0", path = "../tendermint" }
tendermint-rpc = { version = "0.21.0", path = "../rpc", default-features = false }

anomaly = { version = "0.2.0", features = ["serializer"] }
contracts = "0.4.0"
Expand Down
2 changes: 1 addition & 1 deletion light-client/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
nonstandard_style
)]
#![doc(
html_root_url = "https://docs.rs/tendermint-light-client/0.20.0",
html_root_url = "https://docs.rs/tendermint-light-client/0.21.0",
html_logo_url = "https://raw.githubusercontent.com/informalsystems/tendermint-rs/master/img/logo-tendermint-rs_3961x4001.png"
)]
#![cfg_attr(docsrs, feature(doc_cfg))]
Expand Down
10 changes: 6 additions & 4 deletions p2p/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tendermint-p2p"
version = "0.20.0"
version = "0.21.0"
edition = "2018"
license = "Apache-2.0"
repository = "https://github.com/informalsystems/tendermint-rs"
Expand All @@ -9,8 +9,10 @@ readme = "README.md"
keywords = ["p2p", "tendermint", "cosmos"]
categories = ["cryptography::cryptocurrencies", "network-programming"]
authors = [
"Informal Systems <hello@informal.systems>",
"Alexander Simmerl <a.simmerl@gmail.com>",
"Tony Arcieri <tony@iqlusion.io>",
"Ismail Khoffi <Ismail.Khoffi@gmail.com>"
"Ismail Khoffi <Ismail.Khoffi@gmail.com>",
]

description = """
Expand Down Expand Up @@ -39,8 +41,8 @@ x25519-dalek = "1.1"
zeroize = "1"

# path dependencies
tendermint = { path = "../tendermint", version = "0.20.0" }
tendermint-proto = { path = "../proto", version = "0.20.0" }
tendermint = { path = "../tendermint", version = "0.21.0" }
tendermint-proto = { path = "../proto", version = "0.21.0" }

# optional dependencies
prost-amino = { version = "0.6", optional = true }
Expand Down
2 changes: 1 addition & 1 deletion p2p/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
unused_qualifications
)]
#![doc(
html_root_url = "https://docs.rs/tendermint-p2p/0.20.0",
html_root_url = "https://docs.rs/tendermint-p2p/0.21.0",
html_logo_url = "https://raw.githubusercontent.com/informalsystems/tendermint-rs/master/img/logo-tendermint-rs_3961x4001.png"
)]

Expand Down
4 changes: 2 additions & 2 deletions pbt-gen/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "tendermint-pbt-gen"
version = "0.20.0"
authors = ["Shon Feder <shon@informal.systems>"]
version = "0.21.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2018"
license = "Apache-2.0"
readme = "README.md"
Expand Down
4 changes: 2 additions & 2 deletions proto/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "tendermint-proto"
version = "0.20.0"
authors = ["Greg Szabo <greg@informal.systems>"]
version = "0.21.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2018"
license = "Apache-2.0"
repository = "https://github.com/informalsystems/tendermint-rs/tree/master/proto"
Expand Down
2 changes: 1 addition & 1 deletion proto/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#![deny(warnings, trivial_casts, trivial_numeric_casts, unused_import_braces)]
#![allow(clippy::large_enum_variant)]
#![forbid(unsafe_code)]
#![doc(html_root_url = "https://docs.rs/tendermint-proto/0.20.0")]
#![doc(html_root_url = "https://docs.rs/tendermint-proto/0.21.0")]

/// Built-in prost_types with slight customization to enable JSON-encoding
#[allow(warnings)]
Expand Down
10 changes: 4 additions & 6 deletions rpc/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tendermint-rpc"
version = "0.20.0"
version = "0.21.0"
edition = "2018"
license = "Apache-2.0"
homepage = "https://www.tendermint.com/"
Expand All @@ -9,10 +9,8 @@ readme = "README.md"
keywords = ["blockchain", "cosmos", "tendermint"]
categories = ["cryptography::cryptocurrencies", "network-programming"]
authors = [
"Sean Braithwaite <sean@informal.systems>",
"Ethan Buchman <ethan@coinculture.info>",
"Informal Systems <hello@informal.systems>",
"Ismail Khoffi <Ismail.Khoffi@gmail.com>",
"Romain Ruetschi <romain@informal.systems>",
"Alexander Simmerl <a.simmerl@gmail.com>",
]

Expand Down Expand Up @@ -70,8 +68,8 @@ pin-project = "1.0.1"
serde = { version = "1", features = [ "derive" ] }
serde_bytes = "0.11"
serde_json = "1"
tendermint = { version = "0.20.0", path = "../tendermint" }
tendermint-proto = { version = "0.20.0", path = "../proto" }
tendermint = { version = "0.21.0", path = "../tendermint" }
tendermint-proto = { version = "0.21.0", path = "../proto" }
thiserror = "1"
uuid = { version = "0.8", default-features = false }
subtle-encoding = { version = "0.5", features = ["bech32-preview"] }
Expand Down
6 changes: 3 additions & 3 deletions tendermint/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tendermint"
version = "0.20.0" # Also update `html_root_url` in lib.rs and
version = "0.21.0" # Also update `html_root_url` in lib.rs and
# depending crates (rpc, light-node, ..) when bumping this
license = "Apache-2.0"
homepage = "https://www.tendermint.com/"
Expand All @@ -19,10 +19,10 @@ description = """
"""

authors = [
"Informal Systems <hello@informal.systems>",
"Ismail Khoffi <Ismail.Khoffi@gmail.com>",
"ValarDragon <dojha12@gmail.com>",
"Tony Arcieri <tony@iqlusion.io>",
"Thane Thomson <thane@informal.systems>"
]

[package.metadata.docs.rs]
Expand Down Expand Up @@ -53,7 +53,7 @@ signature = "1.2"
subtle = "2"
subtle-encoding = { version = "0.5", features = ["bech32-preview"] }
thiserror = "1"
tendermint-proto = { version = "0.20.0", path = "../proto" }
tendermint-proto = { version = "0.21.0", path = "../proto" }
toml = { version = "0.5" }
url = { version = "2.2" }
zeroize = { version = "1.1", features = ["zeroize_derive"] }
Expand Down
2 changes: 1 addition & 1 deletion tendermint/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
)]
#![forbid(unsafe_code)]
#![doc(
html_root_url = "https://docs.rs/tendermint/0.20.0",
html_root_url = "https://docs.rs/tendermint/0.21.0",
html_logo_url = "https://raw.githubusercontent.com/informalsystems/tendermint-rs/master/img/logo-tendermint-rs_3961x4001.png"
)]

Expand Down
2 changes: 1 addition & 1 deletion test/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "tendermint-test"
description = "Tendermint workspace tests and common utilities for testing."
version = "0.20.0"
version = "0.21.0"
edition = "2018"
license = "Apache-2.0"
categories = ["development", "test", "tools"]
Expand Down
6 changes: 3 additions & 3 deletions testgen/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "tendermint-testgen"
version = "0.20.0"
authors = ["Andrey Kuprianov <andrey@informal.systems>", "Shivani Joshi <shivani@informal.systems>"]
version = "0.21.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2018"
readme = "README.md"
license = "Apache-2.0"
Expand All @@ -16,7 +16,7 @@ description = """
"""

[dependencies]
tendermint = { version = "0.20.0", path = "../tendermint" }
tendermint = { version = "0.21.0", path = "../tendermint" }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
ed25519-dalek = "1"
Expand Down
8 changes: 4 additions & 4 deletions tools/abci-test/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "abci-test"
version = "0.20.0"
authors = ["Thane Thomson <thane@informal.systems>"]
version = "0.21.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2018"
description = """
abci-test provides some end-to-end integration testing between
Expand All @@ -13,8 +13,8 @@ description = """
[dependencies]
futures = "0.3"
structopt = "0.3"
tendermint = { version = "0.20.0", path = "../../tendermint" }
tendermint-rpc = { version = "0.20.0", path = "../../rpc", features = [ "websocket-client" ] }
tendermint = { version = "0.21.0", path = "../../tendermint" }
tendermint-rpc = { version = "0.21.0", path = "../../rpc", features = [ "websocket-client" ] }
tracing = "0.1"
tracing-subscriber = "0.2"
tokio = { version = "1", features = ["full"] }
8 changes: 4 additions & 4 deletions tools/kvstore-test/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "kvstore-test"
version = "0.1.0"
authors = ["Greg Szabo <greg@philosobear.com>"]
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2018"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
Expand All @@ -10,9 +10,9 @@ edition = "2018"

[dev-dependencies]
futures = "0.3"
tendermint = { version = "0.20.0", path = "../../tendermint" }
tendermint-light-client = { version = "0.20.0", path = "../../light-client", features = ["unstable"] }
tendermint-rpc = { version = "0.20.0", path = "../../rpc", features = [ "http-client", "websocket-client" ] }
tendermint = { version = "0.21.0", path = "../../tendermint" }
tendermint-light-client = { version = "0.21.0", path = "../../light-client", features = ["unstable"] }
tendermint-rpc = { version = "0.21.0", path = "../../rpc", features = [ "http-client", "websocket-client" ] }
tokio = { version = "1.0", features = [ "rt-multi-thread", "macros" ] }
tracing = "0.1"
tracing-subscriber = "0.2"
Expand Down
2 changes: 1 addition & 1 deletion tools/proto-compiler/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "tendermint-proto-compiler"
version = "0.1.0"
authors = ["Greg Szabo <greg@informal.systems>"]
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2018"
publish = false

Expand Down
4 changes: 2 additions & 2 deletions tools/rpc-probe/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "tendermint-rpc-probe"
version = "0.20.0"
authors = ["Thane Thomson <thane@informal.systems>"]
version = "0.21.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2018"
license = "Apache-2.0"
homepage = "https://www.tendermint.com/"
Expand Down