Skip to content

Commit

Permalink
Release v0.23.0 (#1013)
Browse files Browse the repository at this point in the history
* Prepare changelog

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

* Build changelog

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

* Optimize release script

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

* Bump to v0.23.0

Signed-off-by: Thane Thomson <connect@thanethomson.com>
  • Loading branch information
thanethomson committed Oct 27, 2021
1 parent 5bf6bae commit 858b577
Show file tree
Hide file tree
Showing 28 changed files with 98 additions and 85 deletions.
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

0 comments on commit 858b577

Please sign in to comment.