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.23.0 #1013

Merged
merged 4 commits into from
Oct 27, 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
3 changes: 0 additions & 3 deletions .changelog/unreleased/features/832-block-search.md

This file was deleted.

3 changes: 3 additions & 0 deletions .changelog/v0.23.0/features/832-block-search.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- `[tendermint-rpc]` Add support for the `/block_search` RPC endpoint. See
<https://docs.tendermint.com/master/rpc/\#/Info/block_search> for details
([#832](https://github.com/informalsystems/tendermint-rs/issues/832))
10 changes: 10 additions & 0 deletions .changelog/v0.23.0/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
*Oct 27, 2021*

The main changes in this release involve upgrading to [Prost
v0.9](https://github.com/tokio-rs/prost/releases/tag/v0.9.0) and some
foundational changes to prepare for `no_std` support for some of our crates.

One of the main `no_std`-related changes in this release was to break out
configuration-related data structures from the `tendermint` crate into their own
crate (`tendermint-config`) as these structures depend on other crates which do
not yet support `no_std`.
37 changes: 37 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,42 @@
# CHANGELOG

## v0.23.0

*Oct 27, 2021*

The main changes in this release involve upgrading to [Prost
v0.9](https://github.com/tokio-rs/prost/releases/tag/v0.9.0) and some
foundational changes to prepare for `no_std` support for some of our crates.

One of the main `no_std`-related changes in this release was to break out
configuration-related data structures from the `tendermint` crate into their own
crate (`tendermint-config`) as these structures depend on other crates which do
not yet support `no_std`.

### BREAKING CHANGES

- Upgraded Prost to the official v0.9 release to finally resolve the security
issue introduced by v0.7
([#925](https://github.com/informalsystems/tendermint-rs/issues/925))
- `[tendermint, tendermint-config]` The `tendermint::config`
module has now been broken out into its own crate (`tendermint-
config`) to help towards facilitating `no_std` compatibility
([#983](https://github.com/informalsystems/tendermint-rs/issues/983))
- `[tendermint]` The `tendermint::node::info::OtherInfo::rpc_address`
field type has been changed from `tendermint::net::Address`
to `String` toward facilitating `no_std` compatibility
([#983](https://github.com/informalsystems/tendermint-rs/issues/983))
- `[tendermint]` The `tendermint::node::info::ListenAddress::to_net_address`
method was replaced with a simple `as_str` method toward facilitating
`no_std` compatibility ([#983](https://github.com/informalsystems/tendermint-
rs/issues/983))

### FEATURES

- `[tendermint-rpc]` Add support for the `/block_search` RPC endpoint. See
<https://docs.tendermint.com/master/rpc/\#/Info/block_search> for details
([#832](https://github.com/informalsystems/tendermint-rs/issues/832))

## v0.22.0

*Sep 23, 2021*
Expand Down
9 changes: 6 additions & 3 deletions abci/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tendermint-abci"
version = "0.23.0-internal"
version = "0.23.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2018"
license = "Apache-2.0"
Expand All @@ -25,12 +25,15 @@ default = ["flex-error/std", "flex-error/eyre_tracer"]
client = []
echo-app = []
kvstore-app = []
binary = [ "structopt", "tracing-subscriber" ]
binary = [
"structopt",
"tracing-subscriber/fmt",
]

[dependencies]
bytes = { version = "1.0", default-features = false }
prost = { version = "0.9", default-features = false }
tendermint-proto = { version = "0.23.0-internal", default-features = false, path = "../proto" }
tendermint-proto = { version = "0.23.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.23.0-internal" # Also update `html_root_url` in lib.rs and
version = "0.23.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 @@ -28,7 +28,7 @@ rustdoc-args = ["--cfg", "docsrs"]
crate-type = ["cdylib", "rlib"]

[dependencies]
tendermint = { version = "0.23.0-internal", default-features = false, path = "../tendermint" }
tendermint = { version = "0.23.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
4 changes: 2 additions & 2 deletions light-client-js/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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.23.0-internal", default-features = false, path = "../tendermint" }
tendermint-light-client = { version = "0.23.0-internal", default-features = false, path = "../light-client" }
tendermint = { version = "0.23.0", default-features = false, path = "../tendermint" }
tendermint-light-client = { version = "0.23.0", default-features = false, path = "../light-client" }
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
6 changes: 3 additions & 3 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.23.0-internal"
version = "0.23.0"
edition = "2018"
license = "Apache-2.0"
readme = "README.md"
Expand Down Expand Up @@ -37,8 +37,8 @@ unstable = []
mbt = []

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

contracts = { version = "0.4.0", default-features = false }
chrono = { version = "0.4", default-features = false, features = ["clock"] }
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.23.0-internal",
html_root_url = "https://docs.rs/tendermint-light-client/0.23.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.23.0-internal"
version = "0.23.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.23.0-internal", default-features = false }
tendermint-proto = { path = "../proto", version = "0.23.0-internal", default-features = false }
tendermint-std-ext = { path = "../std-ext", version = "0.23.0-internal", default-features = false }
tendermint = { path = "../tendermint", version = "0.23.0", default-features = false }
tendermint-proto = { path = "../proto", version = "0.23.0", default-features = false }
tendermint-std-ext = { path = "../std-ext", version = "0.23.0", default-features = false }

# optional dependencies
prost-derive = { version = "0.9", 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.23.0-internal",
html_root_url = "https://docs.rs/tendermint-p2p/0.23.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.23.0-internal"
version = "0.23.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.23.0-internal"
version = "0.23.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.23.0-internal")]
#![doc(html_root_url = "https://docs.rs/tendermint-proto/0.23.0")]

extern crate alloc;

Expand Down
51 changes: 7 additions & 44 deletions release.sh
Original file line number Diff line number Diff line change
@@ -1,15 +1,8 @@
#!/bin/bash

# release.sh will hopefully allow us to publish all of the necessary crates in
# this repo in the right order, along with a few checks and balances to try to
# avoid mistakes. It is assumed that only one person will be releasing all
# crates at the same time.
#
# For each crate, it will:
# 1. Run `cargo publish --dry-run` for that crate
# 2. List all files in the package with `cargo package --list`
# 3. Prompt the user as to whether to publish or not
# 4. Publish the package with `cargo publish` (no dry run)
# this repo in the right order. It is assumed that only one person will be
# releasing all crates at the same time.
#
# It has a default set of crates it will publish, which can be overridden by
# way of command line arguments:
Expand All @@ -19,17 +12,6 @@
#
# # Just release the proto and tendermint crates, but nothing else
# ./release.sh proto tendermint
#
# Once it publishes a crate, it will create a file at
# /tmp/tendermint-rs-release/${TODAY}/${CRATE}, where ${TODAY} is today's date
# and ${CRATE} is the name of the crate that was successfully published.
#
# Prior to publishing a crate, it checks whether this file is present before
# attempting to publish it. If it's present, it will ask if you really want to
# publish it again. Of course, this is pretty dumb, and doesn't cater for
# instances where multiple people could publish the crates on the same day, and
# instances where someone reboots their machine or wipes their /tmp folder
# between runs.

set -e

Expand Down Expand Up @@ -59,15 +41,6 @@ publish() {
echo ""
}

publish_dry_run() {
echo "Attempting dry run of publishing crate $1..."
cargo publish --dry-run --manifest-path "$(get_manifest_path "${1}")"
}

list_package_files() {
cargo package --list --manifest-path "$(get_manifest_path "${1}")"
}

wait_until_available() {
echo "Waiting for crate ${1} to become available via crates.io..."
for retry in {1..5}; do
Expand All @@ -85,6 +58,8 @@ wait_until_available() {
fi
fi
done
echo "Waiting an additional 10 seconds for crate to propagate through CDN..."
sleep 10
}

echo "Attempting to publish crate(s): ${CRATES}"
Expand All @@ -94,22 +69,10 @@ for crate in ${CRATES}; do
ONLINE_DATE="$(check_version_online "${crate}" "${VERSION}")"
echo "${crate} version number: ${VERSION}"
if [ -n "${ONLINE_DATE}" ]; then
echo "${crate} ${VERSION} has already been published at ${ONLINE_DATE}."
read -rp "Do you want to publish again? (type YES to publish, anything else to skip) " answer
case $answer in
YES ) ;;
* ) echo "Skipping"; continue;;
esac
echo "${crate} ${VERSION} has already been published at ${ONLINE_DATE}, skipping"
continue
fi

publish_dry_run "${crate}"
list_package_files "${crate}"
echo ""
read -rp "Are you sure you want to publish crate \"${crate}\"? (type YES to publish, anything else to exit) " answer
case $answer in
YES ) publish "${crate}";;
* ) echo "Terminating"; exit;;
esac

publish "${crate}"
wait_until_available "${crate}" "${VERSION}"
done
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.23.0-internal"
version = "0.23.0"
edition = "2018"
license = "Apache-2.0"
homepage = "https://www.tendermint.com/"
Expand Down Expand Up @@ -69,9 +69,9 @@ 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.23.0-internal", path = "../config", default-features = false }
tendermint = { version = "0.23.0-internal", default-features = false, path = "../tendermint" }
tendermint-proto = { version = "0.23.0-internal", default-features = false, path = "../proto" }
tendermint-config = { version = "0.23.0", path = "../config", default-features = false }
tendermint = { version = "0.23.0", default-features = false, path = "../tendermint" }
tendermint-proto = { version = "0.23.0", default-features = false, path = "../proto" }
thiserror = { version = "1", default-features = false }
uuid = { version = "0.8", default-features = false }
subtle-encoding = { version = "0.5", default-features = false, features = ["bech32-preview"] }
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.23.0-internal"
version = "0.23.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.23.0-internal" # Also update `html_root_url` in lib.rs and
version = "0.23.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 @@ -51,7 +51,7 @@ sha2 = { version = "0.9", default-features = false }
signature = { version = "1.2", default-features = false }
subtle = { version = "2", default-features = false }
subtle-encoding = { version = "0.5", default-features = false, features = ["bech32-preview"] }
tendermint-proto = { version = "0.23.0-internal", default-features = false, path = "../proto" }
tendermint-proto = { version = "0.23.0", default-features = false, path = "../proto" }
zeroize = { version = "1.1", default-features = false, features = ["zeroize_derive", "alloc"] }
flex-error = { version = "0.4.4", default-features = false }
k256 = { version = "0.9", optional = true, default-features = false, features = ["ecdsa", "sha256"] }
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.23.0-internal",
html_root_url = "https://docs.rs/tendermint/0.23.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.23.0-internal"
version = "0.23.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.23.0-internal"
version = "0.23.0"
authors = ["Informal Systems <hello@informal.systems>"]
edition = "2018"
readme = "README.md"
Expand All @@ -16,7 +16,7 @@ description = """
"""

[dependencies]
tendermint = { version = "0.23.0-internal", path = "../tendermint" }
tendermint = { version = "0.23.0", path = "../tendermint" }
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.23.0-internal"
version = "0.23.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.23.0-internal", path = "../../tendermint" }
tendermint-config = { version = "0.23.0-internal", path = "../../config" }
tendermint-rpc = { version = "0.23.0-internal", path = "../../rpc", features = [ "websocket-client" ] }
tendermint = { version = "0.23.0", path = "../../tendermint" }
tendermint-config = { version = "0.23.0", path = "../../config" }
tendermint-rpc = { version = "0.23.0", path = "../../rpc", features = [ "websocket-client" ] }
tracing = "0.1"
tracing-subscriber = "0.2"
tokio = { version = "1", features = ["full"] }
Loading