Skip to content

Commit

Permalink
Release v0.27.0 (#1240)
Browse files Browse the repository at this point in the history
* Bump version to v0.27.0

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Fix clippy nit

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Prepare changelog release

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Build changelog

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Update references from master to main in contributing guidelines

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Update CONTRIBUTING.md

Co-authored-by: Mikhail Zabaluev <mikhail@informal.systems>

* Update release date

Signed-off-by: Thane Thomson <connect@thanethomson.com>

Signed-off-by: Thane Thomson <connect@thanethomson.com>
Co-authored-by: Mikhail Zabaluev <mikhail@informal.systems>
  • Loading branch information
thanethomson and mzabaluev authored Nov 28, 2022
1 parent e1468e2 commit e9c41de
Show file tree
Hide file tree
Showing 32 changed files with 126 additions and 46 deletions.
4 changes: 4 additions & 0 deletions .changelog/v0.27.0/breaking-changes/1230-query-api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- `[tendermint-rpc]` Extract the `key` field from `query::Condition` and
structure a `query::Condition` to have `key` and `operation` fields, since the
`key` field is common to all conditions
([#1230](https://github.com/informalsystems/tendermint-rs/issues/1230))
16 changes: 16 additions & 0 deletions .changelog/v0.27.0/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
*Nov 28, 2022*

Following on from the ABCI domain type-related work in v0.26.0, this release
deduplicates types across the `tendermint` and `tendermint-rpc` crates, and
makes better use of our domain types across the crates (a big thanks to
@mzabaluev here!).

@romac helped make the RPC query interface more ergonomic, and @hu55a1n1
implemented Rust equivalents for Tendermint Go's
[VerifyCommitLight](https://github.com/tendermint/tendermint/blob/a6dd0d270abc3c01f223eedee44d8b285ae273f6/types/validator_set.go#L722)
and
[VerifyCommitLightTrusting](https://github.com/tendermint/tendermint/blob/a6dd0d270abc3c01f223eedee44d8b285ae273f6/types/validator_set.go#L775)
methods for the light client.

Some additional convenience methods for the `Time` type were provided by
@scalalang2.
60 changes: 60 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,65 @@
# CHANGELOG

## v0.27.0

*Nov 28, 2022*

Following on from the ABCI domain type-related work in v0.26.0, this release
deduplicates types across the `tendermint` and `tendermint-rpc` crates, and
makes better use of our domain types across the crates (a big thanks to
@mzabaluev here!).

@romac helped make the RPC query interface more ergonomic, and @hu55a1n1
implemented Rust equivalents for Tendermint Go's
[VerifyCommitLight](https://github.com/tendermint/tendermint/blob/a6dd0d270abc3c01f223eedee44d8b285ae273f6/types/validator_set.go#L722)
and
[VerifyCommitLightTrusting](https://github.com/tendermint/tendermint/blob/a6dd0d270abc3c01f223eedee44d8b285ae273f6/types/validator_set.go#L775)
methods for the light client.

Some additional convenience methods for the `Time` type were provided by
@scalalang2.

### BREAKING CHANGES

- `[tendermint]` Change hash fields' type from `Bytes`
([#1095](https://github.com/informalsystems/tendermint-rs/issues/1095)):

| Struct | Field | Type |
| ------------------------------ | --------------------- | --------- |
| `abci::request::OfferSnapshot` | `app_hash` | `AppHash` |
| `abci::response::Info` | `last_block_app_hash` | `AppHash` |
| `abci::response::InitChain` | `app_hash` | `AppHash` |
| `Genesis` | `app_hash` | `AppHash` |

- `[tendermint]` Remove method `AppHash::value`,
replaced with non-allocating `AppHash::as_bytes`
[#1232](https://github.com/informalsystems/tendermint-rs/pull/1232).
- `[tendermint-rpc]` Remove ABCI-related types, change the affected field types
to standard Rust types or ABCI domain types in `[tendermint]`.
([#1090](https://github.com/informalsystems/tendermint-rs/issues/1090))
- `[tendermint-rpc]` Extract the `key` field from `query::Condition` and
structure a `query::Condition` to have `key` and `operation` fields, since the
`key` field is common to all conditions
([#1230](https://github.com/informalsystems/tendermint-rs/issues/1230))
- `[tendermint]` Rename `merkle::proof::Proof` to `ProofOps`
([#1234](https://github.com/informalsystems/tendermint-rs/pull/1234))
- `[tendermint-rpc]` Change the type of `/tx` response field `proof`
to `tendermint::tx::Proof`
([#1233](https://github.com/informalsystems/tendermint-rs/issues/1233))

### IMPROVEMENTS

- `[tendermint]` Added `Time` methods `unix_timestamp` and `unix_timestamp_nanos`.
([#1175](https://github.com/informalsystems/tendermint-rs/issues/1175))
- `[light-client]` Added `validate`, `validate_against_trusted`, `verify_commit` and `verify_commit_against_trusted` methods to `PredicateVerifier`.
([#1222](https://github.com/informalsystems/tendermint-rs/issues/1222))
- `[tendermint-rpc]` Make `tendermint_rpc::Query`'s fields
public and add a `Condition::key(&self) -> &str` method
([#1230](https://github.com/informalsystems/tendermint-rs/issues/1230))
- `[tendermint]` Add domain types `merkle::Proof` and `tx::Proof`,
to represent protobuf messages `crypto.Proof` and `types.TxProof` respectively
([#1234](https://github.com/informalsystems/tendermint-rs/pull/1234))

## v0.26.0

*Oct 31, 2022*
Expand Down
10 changes: 5 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,13 +74,13 @@ repo. For instance, to create a fork and work on a branch of it:

Now `origin` refers to your fork and `upstream` refers to this version.

`git push -u origin master` to update the fork, and make pull requests against
`git push -u origin main` to update the fork, and make pull requests against
this repo.

To pull in updates from the origin repo, run

- `git fetch upstream`
- `git rebase upstream/master` (or whatever branch you want)
- `git rebase upstream/main` (or whatever branch you want)

## Changelog

Expand Down Expand Up @@ -138,7 +138,7 @@ core data structures are exposed.
Pull requests are squash-merged into one of the following primary development
branches:

- `master` - targeting compatibility with the [latest official release of
- `main` - targeting compatibility with the [latest official release of
Tendermint](https://github.com/tendermint/tendermint/releases).
- tendermint-rs version-specific branches, e.g. `v0.23.x` - targeting patches to
older versions of tendermint-rs.
Expand All @@ -163,7 +163,7 @@ squashed into a single commit for the PR with all the commit messages.
When the problem as well as proposed solution are well understood, changes
should start with a [draft pull
request](https://github.blog/2019-02-14-introducing-draft-pull-requests/)
against master. The draft signals that work is underway. When the work is ready
against `main`. The draft signals that work is underway. When the work is ready
for feedback, hitting "Ready for Review" will signal to the maintainers to take
a look. Maintainers will not review draft PRs.

Expand Down Expand Up @@ -192,7 +192,7 @@ Our release process is as follows:
6. Once approved, run the [`release.sh`] script. Fix any problems that may arise
during this process and push the changes to the release PR. This step
requires the appropriate privileges to push crates to [crates.io].
7. Once all crates have been successfully released, merge the PR to `master` and
7. Once all crates have been successfully released, merge the PR to `main` and
tag the repo at the new version (e.g. `v0.17.0`).

[CHANGELOG.md]: https://github.com/informalsystems/tendermint-rs/blob/main/CHANGELOG.md
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.26.0"
version = "0.27.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2018"
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.26.0", default-features = false, path = "../proto" }
tendermint-proto = { version = "0.27.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.26.0" # Also update `html_root_url` in lib.rs and
version = "0.27.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 @@ -25,7 +25,7 @@ all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
tendermint = { version = "0.26.0", default-features = false, path = "../tendermint" }
tendermint = { version = "0.27.0", default-features = false, path = "../tendermint" }
flex-error = { version = "0.4.4", default-features = false }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
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.26.0"
version = "0.27.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2018"
license = "Apache-2.0"
Expand All @@ -24,8 +24,8 @@ serde = { version = "1.0", default-features = false, features = [ "derive" ] }
serde_json = { version = "1.0", default-features = false }
# TODO(thane): Remove once https://github.com/rustwasm/wasm-bindgen/issues/2508 is resolved
syn = { version = "=1.0.65", default-features = false }
tendermint = { version = "0.26.0", default-features = false, path = "../tendermint" }
tendermint-light-client-verifier = { version = "0.26.0", default-features = false, path = "../light-client-verifier" }
tendermint = { version = "0.27.0", default-features = false, path = "../tendermint" }
tendermint-light-client-verifier = { version = "0.27.0", default-features = false, path = "../light-client-verifier" }
wasm-bindgen = { version = "0.2.63", default-features = false, features = [ "serde-serialize" ] }

# The `console_error_panic_hook` crate provides better debugging of panics by
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.26.0"
version = "0.27.0"
edition = "2021"
license = "Apache-2.0"
readme = "README.md"
Expand All @@ -26,7 +26,7 @@ rustdoc-args = ["--cfg", "docsrs"]
default = ["flex-error/std", "flex-error/eyre_tracer"]

[dependencies]
tendermint = { version = "0.26.0", path = "../tendermint", default-features = false }
tendermint = { version = "0.27.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.26.0"
version = "0.27.0"
edition = "2018"
license = "Apache-2.0"
readme = "README.md"
Expand Down Expand Up @@ -34,9 +34,9 @@ unstable = []
mbt = []

[dependencies]
tendermint = { version = "0.26.0", path = "../tendermint", default-features = false }
tendermint-rpc = { version = "0.26.0", path = "../rpc", default-features = false }
tendermint-light-client-verifier = { version = "0.26.0", path = "../light-client-verifier", default-features = false }
tendermint = { version = "0.27.0", path = "../tendermint", default-features = false }
tendermint-rpc = { version = "0.27.0", path = "../rpc", default-features = false }
tendermint-light-client-verifier = { version = "0.27.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
2 changes: 1 addition & 1 deletion light-client/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
nonstandard_style
)]
#![doc(
html_root_url = "https://docs.rs/tendermint-light-client/0.26.0",
html_root_url = "https://docs.rs/tendermint-light-client/0.27.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
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.26.0"
version = "0.27.0"
edition = "2018"
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.26.0", default-features = false }
tendermint-proto = { path = "../proto", version = "0.26.0", default-features = false }
tendermint-std-ext = { path = "../std-ext", version = "0.26.0", default-features = false }
tendermint = { path = "../tendermint", version = "0.27.0", default-features = false }
tendermint-proto = { path = "../proto", version = "0.27.0", default-features = false }
tendermint-std-ext = { path = "../std-ext", version = "0.27.0", default-features = false }

# optional dependencies
prost-derive = { version = "0.11", optional = true }
2 changes: 1 addition & 1 deletion p2p/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
unused_qualifications
)]
#![doc(
html_root_url = "https://docs.rs/tendermint-p2p/0.26.0",
html_root_url = "https://docs.rs/tendermint-p2p/0.27.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 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.26.0"
version = "0.27.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2018"
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.26.0"
version = "0.27.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2018"
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion proto/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,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.26.0")]
#![doc(html_root_url = "https://docs.rs/tendermint-proto/0.27.0")]

extern crate alloc;

Expand Down
6 changes: 3 additions & 3 deletions rpc/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tendermint-rpc"
version = "0.26.0"
version = "0.27.0"
edition = "2018"
license = "Apache-2.0"
homepage = "https://www.tendermint.com/"
Expand Down Expand Up @@ -69,8 +69,8 @@ pin-project = { version = "1.0.1", default-features = false }
serde = { version = "1", default-features = false, features = [ "derive" ] }
serde_bytes = { version = "0.11", default-features = false }
serde_json = { version = "1", default-features = false, features = ["std"] }
tendermint-config = { version = "0.26.0", path = "../config", default-features = false }
tendermint = { version = "0.26.0", default-features = false, path = "../tendermint" }
tendermint-config = { version = "0.27.0", path = "../config", default-features = false }
tendermint = { version = "0.27.0", default-features = false, path = "../tendermint" }
thiserror = { version = "1", default-features = false }
time = { version = "0.3", default-features = false, features = ["macros", "parsing"] }
uuid = { version = "0.8", 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.26.0"
version = "0.27.0"
edition = "2018"
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.26.0" # Also update `html_root_url` in lib.rs and
version = "0.27.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 Down Expand Up @@ -46,7 +46,7 @@ sha2 = { version = "0.9", default-features = false }
signature = { version = "1", default-features = false }
subtle = { version = "2", default-features = false }
subtle-encoding = { version = "0.5", default-features = false, features = ["bech32-preview"] }
tendermint-proto = { version = "0.26.0", default-features = false, path = "../proto" }
tendermint-proto = { version = "0.27.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 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.26.0",
html_root_url = "https://docs.rs/tendermint/0.27.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.26.0"
version = "0.27.0"
edition = "2018"
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.26.0"
version = "0.27.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2018"
readme = "README.md"
Expand All @@ -16,7 +16,7 @@ description = """
"""

[dependencies]
tendermint = { version = "0.26.0", path = "../tendermint", features = ["clock"] }
tendermint = { version = "0.27.0", path = "../tendermint", features = ["clock"] }
serde = { version = "1", default-features = false, features = ["derive"] }
serde_json = { version = "1", default-features = false, features = ["std"] }
ed25519-dalek = { version = "1", 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.26.0"
version = "0.27.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2018"
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.26.0", path = "../../tendermint" }
tendermint-config = { version = "0.26.0", path = "../../config" }
tendermint-rpc = { version = "0.26.0", path = "../../rpc", features = [ "websocket-client" ] }
tendermint = { version = "0.27.0", path = "../../tendermint" }
tendermint-config = { version = "0.27.0", path = "../../config" }
tendermint-rpc = { version = "0.27.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 @@ -10,9 +10,9 @@ edition = "2018"

[dev-dependencies]
futures = "0.3"
tendermint = { version = "0.26.0", path = "../../tendermint" }
tendermint-light-client = { version = "0.26.0", path = "../../light-client", features = ["unstable"] }
tendermint-rpc = { version = "0.26.0", path = "../../rpc", features = [ "http-client", "websocket-client" ] }
tendermint = { version = "0.27.0", path = "../../tendermint" }
tendermint-light-client = { version = "0.27.0", path = "../../light-client", features = ["unstable"] }
tendermint-rpc = { version = "0.27.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
Loading

0 comments on commit e9c41de

Please sign in to comment.