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 0.33.0 #1337

Merged
merged 2 commits into from
Jul 24, 2023
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
3 changes: 3 additions & 0 deletions .changelog/v0.33.0/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
This release adds support for CometBFT 0.38 protocols.
In the response to the `sync_info` RPC endpoint, the data of the earliest block
are exposed to the client.
86 changes: 86 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,91 @@
# CHANGELOG

## v0.33.0

This release adds support for CometBFT 0.38 protocols.
In the response to the `sync_info` RPC endpoint, the data of the earliest block
are exposed to the client.

### BREAKING CHANGES

- `[tendermint]` Adaptations for CometFBT 0.38
([\#1312](https://github.com/informalsystems/tendermint-rs/pull/1312)):
* Define `consensus::params::AbciParams` struct, add the `abci` field of this
type to `consensus::Params` to represent the protobuf additions.
* Change the `abci::Request` and `abci::Response` reexports to use the
enums defined in `v0_38`.
- `[tendermint]` Define version-specific categorized request/response enums:
`ConsensusRequest`, `MempoolRequest`, `InfoRequest`, `ShapshotRequest`,
`ConsensusResponse`, `MempoolResponse`, `InfoResponse`, `ShapshotResponse`,
in each of the `v0_*::abci` modules, so that the variants are trimmed to the
requests/responses used by the respective protocol version.
Reexport the types from `v0_38::abci` as aliases for these names in the
`abci` module, continuing the naming as used in older API.
([\#1312](https://github.com/informalsystems/tendermint-rs/pull/1312)).
- `[tendermint]` Rename `Signature::to_bytes` to `Signature::into_bytes`
([\#1312](https://github.com/informalsystems/tendermint-rs/pull/1312)).
- `[tendermint-abci]` Update the `Application` interface to CometBFT 0.38
([\#1312](https://github.com/informalsystems/tendermint-rs/pull/1312))
- `[tendermint-rpc]` Changes to support the RPC protocol in CometBFT 0.38
([\#1317](https://github.com/informalsystems/tendermint-rs/pull/1317)):
* Add `finalize_block_results` and `app_hash` fields to
`endpoint::block_results::Response`.
* The `deliver_tx` field is renamed to `tx_result` in
`endpoint::broadcast::tx_commit::Response`.
* The `tx_result` field type changed to `ExecTxResult` in
`endpoint::tx::Response`.
* The `event::EventData::NewBlock` variant is renamed to `LegacyNewBlock`.
The new `NewBlock` variant only carries fields relevant since CometBFT 0.38.
* Removed `event::DialectEvent`, replaced with non-generic serialization
helpers in `event::{v0_34, v0_37, v0_38}`. The `Deserialize` helpers in
the latter two modules are aliased from common types that can support both
fields added in CometBFT 0.38, `block_id` and `result_finalize_block`,
as well as the fields present 0.37. Likewise for `DialectEventData`
and other event data structure types.
* Changed some of the serialization dialect helpers to only be
used by the 0.34 dialect and remove generics. The current dialect's
seralization is switched to the serde impls on the domain types in
`tendermint`.
- `[tendermint]` Changes to support the RPC protocol in CometBFT 0.38
([\#1317](https://github.com/informalsystems/tendermint-rs/pull/1317)):
* Due to some attribute changes, the format emitted by `Serialize` is
changed for `abci::response` types `CheckTx` and `FinalizeBlock`.
- [`tendermint-rpc`] Decode the earliest block data fields of the `sync_info`
object in `/status` response and expose them in the `SyncInfo` struct:
`earliest_block_hash`, `earliest_app_hash`, `earliest_block_height`,
`earliest_block_time`
([\#1321](https://github.com/informalsystems/tendermint-rs/pull/1321)).
- `[tendermint-proto]` Align the return signature of the `encode_vec` and
`encode_length_delimited_vec` methods in the `Protobuf` trait with
`prost::Message` by directly returning `Vec<u8>`.
([\#1323](https://github.com/informalsystems/tendermint-rs/issues/1323))
* Remove mandatory cloning in `Protobuf` methods and let callers decide on
clone beforehand for original value access

### IMPROVEMENTS

- `[tendermint-proto]` Generate prost bindings for CometBFT 0.38
under the `tendermint::v0_38` module
([\#1312](https://github.com/informalsystems/tendermint-rs/pull/1312))
- `[tendermint]` Support for CometBFT 0.38:
([\#1312](https://github.com/informalsystems/tendermint-rs/pull/1312)):
* Add conversions to and from `tendermint::v0_38` protobuf
types generated in [`tendermint-proto`].
* Add request and response enums under `v0_38::abci` to enumerate all requests
and responses appropriate for CometBFT version 0.38.
* Add request and response types under `abci` to represent the requests
and responses new to ABCI++ 2.0 in CometBFT version 0.38. The names are
`ExtendVote`, `FinalizeBlock`, `VerifyVoteExtension`.
- `[tendermint-rpc]` Support for CometBFT 0.38
([\#1317](https://github.com/informalsystems/tendermint-rs/pull/1317)):
* `Deserialize` implementations on `abci::Event`, `abci::EventAttribute`
that correspond to the current RPC serialization.
* Domain types under `abci::response` also get `Deserialize` implementations
corresponding to the current RPC serialization.
* `Serialize`, `Deserialize` implementations on `abci::types::ExecTxResult`
corresponding to the current RPC serialization.
* Added the `apphash_base64` serializer module.

## v0.32.2

Fixed a minor cargo metadata problem that gummed up the 0.32.1 release.
Expand Down
4 changes: 2 additions & 2 deletions abci/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tendermint-abci"
version = "0.32.2"
version = "0.33.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2021"
license = "Apache-2.0"
Expand Down Expand Up @@ -33,7 +33,7 @@ binary = [
[dependencies]
bytes = { version = "1.0", default-features = false }
prost = { version = "0.11", default-features = false }
tendermint-proto = { version = "0.32.2", default-features = false, path = "../proto" }
tendermint-proto = { version = "0.33.0", default-features = false, path = "../proto" }
tracing = { version = "0.1", default-features = false }
flex-error = { version = "0.4.4", default-features = false }
structopt = { version = "0.3", optional = true, default-features = false }
Expand Down
4 changes: 2 additions & 2 deletions config/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tendermint-config"
version = "0.32.2" # Also update depending crates (rpc, light-node, ..) when bumping this.
version = "0.33.0" # Also update depending crates (rpc, light-node, ..) when bumping this.
license = "Apache-2.0"
homepage = "https://www.tendermint.com/"
repository = "https://github.com/informalsystems/tendermint-rs/tree/main/tendermint"
Expand All @@ -24,7 +24,7 @@ all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
tendermint = { version = "0.32.2", default-features = false, features = ["rust-crypto"], path = "../tendermint" }
tendermint = { version = "0.33.0", default-features = false, features = ["rust-crypto"], path = "../tendermint" }
flex-error = { version = "0.4.4", default-features = false }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
Expand Down
10 changes: 5 additions & 5 deletions light-client-cli/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tendermint-light-client-cli"
version = "0.32.2"
version = "0.33.0"
edition = "2021"
license = "Apache-2.0"
readme = "README.md"
Expand All @@ -23,10 +23,10 @@ all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
tendermint = { version = "0.32.2", path = "../tendermint" }
tendermint-rpc = { version = "0.32.2", path = "../rpc", features = ["http-client"] }
tendermint-light-client = { version = "0.32.2", path = "../light-client" }
tendermint-light-client-detector = { version = "0.32.2", path = "../light-client-detector" }
tendermint = { version = "0.33.0", path = "../tendermint" }
tendermint-rpc = { version = "0.33.0", path = "../rpc", features = ["http-client"] }
tendermint-light-client = { version = "0.33.0", path = "../light-client" }
tendermint-light-client-detector = { version = "0.33.0", path = "../light-client-detector" }

clap = { version = "4.1.8", features = ["derive"] }
color-eyre = "0.6.2"
Expand Down
10 changes: 5 additions & 5 deletions light-client-detector/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tendermint-light-client-detector"
version = "0.32.2"
version = "0.33.0"
edition = "2021"
license = "Apache-2.0"
readme = "README.md"
Expand All @@ -23,10 +23,10 @@ all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
tendermint = { version = "0.32.2", path = "../tendermint" }
tendermint-rpc = { version = "0.32.2", path = "../rpc", features = ["http-client"] }
tendermint-proto = { version = "0.32.2", path = "../proto" }
tendermint-light-client = { version = "0.32.2", path = "../light-client" }
tendermint = { version = "0.33.0", path = "../tendermint" }
tendermint-rpc = { version = "0.33.0", path = "../rpc", features = ["http-client"] }
tendermint-proto = { version = "0.33.0", path = "../proto" }
tendermint-light-client = { version = "0.33.0", path = "../light-client" }

contracts = { version = "0.6.2", default-features = false }
crossbeam-channel = { version = "0.4.2", default-features = false }
Expand Down
6 changes: 3 additions & 3 deletions light-client-js/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tendermint-light-client-js"
version = "0.32.2"
version = "0.33.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2021"
license = "Apache-2.0"
Expand All @@ -22,8 +22,8 @@ default = ["console_error_panic_hook"]
[dependencies]
serde = { version = "1.0", default-features = false, features = [ "derive" ] }
serde_json = { version = "1.0", default-features = false }
tendermint = { version = "0.32.2", default-features = false, path = "../tendermint" }
tendermint-light-client-verifier = { version = "0.32.2", features = ["rust-crypto"], default-features = false, path = "../light-client-verifier" }
tendermint = { version = "0.33.0", default-features = false, path = "../tendermint" }
tendermint-light-client-verifier = { version = "0.33.0", features = ["rust-crypto"], default-features = false, path = "../light-client-verifier" }
wasm-bindgen = { version = "0.2.63", default-features = false, features = [ "serde-serialize" ] }
serde-wasm-bindgen = { version = "0.4.5", default-features = false }

Expand Down
4 changes: 2 additions & 2 deletions light-client-verifier/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tendermint-light-client-verifier"
version = "0.32.2"
version = "0.33.0"
edition = "2021"
license = "Apache-2.0"
readme = "README.md"
Expand All @@ -27,7 +27,7 @@ default = ["rust-crypto", "flex-error/std", "flex-error/eyre_tracer"]
rust-crypto = ["tendermint/rust-crypto"]

[dependencies]
tendermint = { version = "0.32.2", path = "../tendermint", default-features = false }
tendermint = { version = "0.33.0", path = "../tendermint", default-features = false }

derive_more = { version = "0.99.5", default-features = false, features = ["display"] }
serde = { version = "1.0.106", default-features = false }
Expand Down
8 changes: 4 additions & 4 deletions light-client/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tendermint-light-client"
version = "0.32.2"
version = "0.33.0"
edition = "2021"
license = "Apache-2.0"
readme = "README.md"
Expand Down Expand Up @@ -35,9 +35,9 @@ unstable = ["rust-crypto"]
mbt = ["rust-crypto"]

[dependencies]
tendermint = { version = "0.32.2", path = "../tendermint", default-features = false }
tendermint-rpc = { version = "0.32.2", path = "../rpc", default-features = false }
tendermint-light-client-verifier = { version = "0.32.2", path = "../light-client-verifier", default-features = false }
tendermint = { version = "0.33.0", path = "../tendermint", default-features = false }
tendermint-rpc = { version = "0.33.0", path = "../rpc", default-features = false }
tendermint-light-client-verifier = { version = "0.33.0", path = "../light-client-verifier", default-features = false }

contracts = { version = "0.6.2", default-features = false }
crossbeam-channel = { version = "0.4.2", default-features = false }
Expand Down
8 changes: 4 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.32.2"
version = "0.33.0"
edition = "2021"
license = "Apache-2.0"
repository = "https://github.com/informalsystems/tendermint-rs"
Expand Down Expand Up @@ -44,9 +44,9 @@ aead = { version = "0.4.1", default-features = false }
flex-error = { version = "0.4.4", default-features = false }

# path dependencies
tendermint = { path = "../tendermint", version = "0.32.2", default-features = false }
tendermint-proto = { path = "../proto", version = "0.32.2", default-features = false }
tendermint-std-ext = { path = "../std-ext", version = "0.32.2", default-features = false }
tendermint = { path = "../tendermint", version = "0.33.0", default-features = false }
tendermint-proto = { path = "../proto", version = "0.33.0", default-features = false }
tendermint-std-ext = { path = "../std-ext", version = "0.33.0", default-features = false }

# optional dependencies
prost-derive = { version = "0.11", optional = true }
2 changes: 1 addition & 1 deletion pbt-gen/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tendermint-pbt-gen"
version = "0.32.2"
version = "0.33.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2021"
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion proto/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tendermint-proto"
version = "0.32.2"
version = "0.33.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2021"
license = "Apache-2.0"
Expand Down
8 changes: 4 additions & 4 deletions rpc/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tendermint-rpc"
version = "0.32.2"
version = "0.33.0"
edition = "2021"
license = "Apache-2.0"
homepage = "https://www.tendermint.com/"
Expand Down Expand Up @@ -60,9 +60,9 @@ websocket-client = [
]

[dependencies]
tendermint = { version = "0.32.2", default-features = false, path = "../tendermint" }
tendermint-config = { version = "0.32.2", path = "../config", default-features = false }
tendermint-proto = { version = "0.32.2", path = "../proto", default-features = false }
tendermint = { version = "0.33.0", default-features = false, path = "../tendermint" }
tendermint-config = { version = "0.33.0", path = "../config", default-features = false }
tendermint-proto = { version = "0.33.0", path = "../proto", default-features = false }

async-trait = { version = "0.1", default-features = false }
bytes = { version = "1.0", default-features = false }
Expand Down
2 changes: 1 addition & 1 deletion std-ext/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tendermint-std-ext"
version = "0.32.2"
version = "0.33.0"
edition = "2021"
license = "Apache-2.0"
homepage = "https://www.tendermint.com/"
Expand Down
4 changes: 2 additions & 2 deletions tendermint/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tendermint"
version = "0.32.2" # Also update depending crates (rpc, light-node, etc..) when bumping this .
version = "0.33.0" # Also update depending crates (rpc, light-node, etc..) when bumping this .
license = "Apache-2.0"
homepage = "https://www.tendermint.com/"
repository = "https://github.com/informalsystems/tendermint-rs/tree/main/tendermint"
Expand Down Expand Up @@ -44,7 +44,7 @@ serde_repr = { version = "0.1", default-features = false }
signature = { version = "2", default-features = false, features = ["alloc"] }
subtle = { version = "2", default-features = false }
subtle-encoding = { version = "0.5", default-features = false, features = ["bech32-preview"] }
tendermint-proto = { version = "0.32.2", default-features = false, path = "../proto" }
tendermint-proto = { version = "0.33.0", default-features = false, path = "../proto" }
time = { version = "0.3", default-features = false, features = ["macros", "parsing"] }
zeroize = { version = "1.1", default-features = false, features = ["zeroize_derive", "alloc"] }
flex-error = { version = "0.4.4", default-features = false }
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.32.2"
version = "0.33.0"
edition = "2021"
license = "Apache-2.0"
categories = ["development", "test", "tools"]
Expand Down
4 changes: 2 additions & 2 deletions testgen/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tendermint-testgen"
version = "0.32.2"
version = "0.33.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2021"
readme = "README.md"
Expand All @@ -16,7 +16,7 @@ description = """
"""

[dependencies]
tendermint = { version = "0.32.2", path = "../tendermint", features = ["clock"] }
tendermint = { version = "0.33.0", path = "../tendermint", features = ["clock"] }
serde = { version = "1", default-features = false, features = ["derive"] }
serde_json = { version = "1", default-features = false, features = ["std"] }
ed25519-consensus = { version = "2", default-features = false }
Expand Down
8 changes: 4 additions & 4 deletions tools/abci-test/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "abci-test"
version = "0.32.2"
version = "0.33.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2021"
description = """
Expand All @@ -14,9 +14,9 @@ description = """
flex-error = { version = "0.4.4", default-features = false, features = ["std", "eyre_tracer"] }
futures = "0.3"
structopt = "0.3"
tendermint = { version = "0.32.2", path = "../../tendermint" }
tendermint-config = { version = "0.32.2", path = "../../config" }
tendermint-rpc = { version = "0.32.2", path = "../../rpc", features = [ "websocket-client" ] }
tendermint = { version = "0.33.0", path = "../../tendermint" }
tendermint-config = { version = "0.33.0", path = "../../config" }
tendermint-rpc = { version = "0.33.0", path = "../../rpc", features = [ "websocket-client" ] }
tracing = "0.1"
tracing-subscriber = "0.2"
tokio = { version = "1.20", features = ["full"] }
6 changes: 3 additions & 3 deletions tools/kvstore-test/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ edition = "2021"
[dev-dependencies]
futures = "0.3"
sha2 = "0.10"
tendermint = { version = "0.32.2", path = "../../tendermint" }
tendermint-light-client = { version = "0.32.2", path = "../../light-client", features = ["unstable"] }
tendermint-rpc = { version = "0.32.2", path = "../../rpc", features = [ "http-client", "websocket-client" ] }
tendermint = { version = "0.33.0", path = "../../tendermint" }
tendermint-light-client = { version = "0.33.0", path = "../../light-client", features = ["unstable"] }
tendermint-rpc = { version = "0.33.0", path = "../../rpc", features = [ "http-client", "websocket-client" ] }
tokio = { version = "1.0", features = [ "rt-multi-thread", "macros" ] }
tracing = "0.1"
tracing-subscriber = "0.3"
Expand Down
2 changes: 1 addition & 1 deletion tools/rpc-probe/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tendermint-rpc-probe"
version = "0.32.2"
version = "0.33.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2021"
license = "Apache-2.0"
Expand Down