Skip to content

Commit

Permalink
Release Zebra v1.2.0 (#7431)
Browse files Browse the repository at this point in the history
* chore: Release

* change estimated release height

* add 1.2.0 changelog

* apply suggestions to changelog

Co-authored-by: teor <teor@riseup.net>

* remove item

* change release date to today

---------

Co-authored-by: teor <teor@riseup.net>
  • Loading branch information
oxarbitrage and teor2345 authored Sep 1, 2023
1 parent 978b163 commit 6f50304
Show file tree
Hide file tree
Showing 17 changed files with 84 additions and 62 deletions.
34 changes: 28 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,44 @@ All notable changes to Zebra are documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org).

## [Zebra 1.2.0](https://github.com/ZcashFoundation/zebra/releases/tag/v1.1.0) - 2023-07-18
## [Zebra 1.2.0](https://github.com/ZcashFoundation/zebra/releases/tag/v1.2.0) - 2023-09-01

### Highlights

This release:

- Contains an automatic database upgrade that reduces the size of Zebra's
current cached state from approximately 276GB to 244GB. It does so by
automatically pruning unneeded note commitment trees from an existing cache.
New Zebra instances will also build their cache without these trees.
-
- Starts our work implementing "spend before sync" algorithm for lightwalletd.
- Contains an automatic database upgrade that reduces the size of Zebra's current cached state from approximately 276GB to 244GB. It does so by automatically pruning unneeded note commitment trees from an existing cache. New Zebra instances will also build their cache without these trees.

### Changed

- Deduplicate note commitment trees stored in the finalized state ([#7312]()https://github.com/ZcashFoundation/zebra/pull/7312, [#7379](https://github.com/ZcashFoundation/zebra/pull/7379))
- Insert only the first tree in each series of identical trees into finalized state ([#7266](https://github.com/ZcashFoundation/zebra/pull/7266))
- Our testing framework now uses the ECC lightwalletd fork ([#7307](https://github.com/ZcashFoundation/zebra/pull/7307)). This was needed to start the work of implementing fast spendability. The ECC repo is now the supported implementation in Zebra, documentation was changed to reflect this. ([#7427](https://github.com/ZcashFoundation/zebra/pull/7427))

### Breaking Changes

`zebrad` 1.2.0 cached states are incompatible with previous `zebrad` versions:

- `zebrad` 1.2.0 upgrades the cached state format. The new format is incompatible with previous `zebrad` versions. After upgrading to this Zebra version, don't downgrade to an earlier version.
- When earlier versions try to use states upgraded by `zebrad` 1.2.0:
- `zebrad` versions 1.0.0 and 1.0.1 will respond to some `z_gettreestate` RPC requests with incorrect empty `final_state` fields
- pre-release `zebrad` versions can panic when verifying shielded transactions, updating the state, or responding to RPC requests

### Added

- Documentation for mining with Docker ([#7179](https://github.com/ZcashFoundation/zebra/pull/7179))
- Note tree sizes field to `getblock` RPC method ([#7278](https://github.com/ZcashFoundation/zebra/pull/7278))
- Note commitment subtree types to zebra-chain ([#7371](https://github.com/ZcashFoundation/zebra/pull/7371))
- Note subtree index handling to zebra-state, but we're not writing subtrees to the finalized state yet ([#7334](https://github.com/ZcashFoundation/zebra/pull/7334))

### Fixed

- Log a warning instead of panicking for unused mining configs ([#7290](https://github.com/ZcashFoundation/zebra/pull/7290))
- Avoid expensive note commitment tree root recalculations in eq() methods ([#7386](https://github.com/ZcashFoundation/zebra/pull/7386))
- Use the correct state version for databases without a state version file ([#7385](https://github.com/ZcashFoundation/zebra/pull/7385))
- Avoid temporary failures verifying the first non-finalized block or attempting to fork the chain before the final checkpoint ([#6810](https://github.com/ZcashFoundation/zebra/pull/6810))
- If a database format change is cancelled, also cancel the format check, and don't mark the database as upgraded ([#7442](https://github.com/ZcashFoundation/zebra/pull/7442))

## [Zebra 1.1.0](https://github.com/ZcashFoundation/zebra/releases/tag/v1.1.0) - 2023-07-18

Expand Down
24 changes: 12 additions & 12 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4537,7 +4537,7 @@ dependencies = [

[[package]]
name = "tower-batch-control"
version = "0.2.41-beta.4"
version = "0.2.41-beta.5"
dependencies = [
"color-eyre",
"ed25519-zebra",
Expand All @@ -4561,7 +4561,7 @@ dependencies = [

[[package]]
name = "tower-fallback"
version = "0.2.41-beta.4"
version = "0.2.41-beta.5"
dependencies = [
"futures-core",
"pin-project",
Expand Down Expand Up @@ -5462,7 +5462,7 @@ dependencies = [

[[package]]
name = "zebra-chain"
version = "1.0.0-beta.28"
version = "1.0.0-beta.29"
dependencies = [
"bitflags 2.4.0",
"bitflags-serde-legacy",
Expand Down Expand Up @@ -5523,7 +5523,7 @@ dependencies = [

[[package]]
name = "zebra-consensus"
version = "1.0.0-beta.28"
version = "1.0.0-beta.29"
dependencies = [
"bellman",
"blake2b_simd",
Expand Down Expand Up @@ -5568,7 +5568,7 @@ dependencies = [

[[package]]
name = "zebra-network"
version = "1.0.0-beta.28"
version = "1.0.0-beta.29"
dependencies = [
"bitflags 2.4.0",
"byteorder",
Expand Down Expand Up @@ -5609,7 +5609,7 @@ dependencies = [

[[package]]
name = "zebra-node-services"
version = "1.0.0-beta.28"
version = "1.0.0-beta.29"
dependencies = [
"color-eyre",
"jsonrpc-core",
Expand All @@ -5621,7 +5621,7 @@ dependencies = [

[[package]]
name = "zebra-rpc"
version = "1.0.0-beta.28"
version = "1.0.0-beta.29"
dependencies = [
"chrono",
"futures",
Expand Down Expand Up @@ -5653,7 +5653,7 @@ dependencies = [

[[package]]
name = "zebra-script"
version = "1.0.0-beta.28"
version = "1.0.0-beta.29"
dependencies = [
"displaydoc",
"hex",
Expand All @@ -5666,7 +5666,7 @@ dependencies = [

[[package]]
name = "zebra-state"
version = "1.0.0-beta.28"
version = "1.0.0-beta.29"
dependencies = [
"bincode",
"chrono",
Expand Down Expand Up @@ -5708,7 +5708,7 @@ dependencies = [

[[package]]
name = "zebra-test"
version = "1.0.0-beta.28"
version = "1.0.0-beta.29"
dependencies = [
"color-eyre",
"futures",
Expand All @@ -5735,7 +5735,7 @@ dependencies = [

[[package]]
name = "zebra-utils"
version = "1.0.0-beta.28"
version = "1.0.0-beta.29"
dependencies = [
"color-eyre",
"hex",
Expand All @@ -5756,7 +5756,7 @@ dependencies = [

[[package]]
name = "zebrad"
version = "1.1.0"
version = "1.2.0"
dependencies = [
"abscissa_core",
"atty",
Expand Down
2 changes: 1 addition & 1 deletion book/src/user/docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ docker run --detach zfnd/zebra:latest
### Build it locally

```shell
git clone --depth 1 --branch v1.1.0 https://github.com/ZcashFoundation/zebra.git
git clone --depth 1 --branch v1.2.0 https://github.com/ZcashFoundation/zebra.git
docker build --file docker/Dockerfile --target runtime --tag zebra:local .
docker run --detach zebra:local
```
Expand Down
4 changes: 2 additions & 2 deletions book/src/user/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ To compile Zebra directly from GitHub, or from a GitHub release source archive:
```sh
git clone https://github.com/ZcashFoundation/zebra.git
cd zebra
git checkout v1.1.0
git checkout v1.2.0
```

3. Build and Run `zebrad`
Expand All @@ -33,7 +33,7 @@ target/release/zebrad start
### Compiling from git using cargo install

```sh
cargo install --git https://github.com/ZcashFoundation/zebra --tag v1.1.0 zebrad
cargo install --git https://github.com/ZcashFoundation/zebra --tag v1.2.0 zebrad
```

### Compiling on ARM
Expand Down
2 changes: 1 addition & 1 deletion tower-batch-control/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tower-batch-control"
version = "0.2.41-beta.4"
version = "0.2.41-beta.5"
authors = ["Zcash Foundation <zebra@zfnd.org>", "Tower Maintainers <team@tower-rs.com>"]
description = "Tower middleware for batch request processing"
# # Legal
Expand Down
2 changes: 1 addition & 1 deletion tower-fallback/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tower-fallback"
version = "0.2.41-beta.4"
version = "0.2.41-beta.5"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
description = "A Tower service combinator that sends requests to a first service, then retries processing on a second fallback service if the first service errors."
license = "MIT OR Apache-2.0"
Expand Down
4 changes: 2 additions & 2 deletions zebra-chain/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "zebra-chain"
version = "1.0.0-beta.28"
version = "1.0.0-beta.29"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
description = "Core Zcash data structures"
license = "MIT OR Apache-2.0"
Expand Down Expand Up @@ -126,7 +126,7 @@ proptest-derive = { version = "0.4.0", optional = true }
rand = { version = "0.8.5", optional = true }
rand_chacha = { version = "0.3.1", optional = true }

zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.28", optional = true }
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.29", optional = true }

[dev-dependencies]
# Benchmarks
Expand Down
14 changes: 7 additions & 7 deletions zebra-consensus/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "zebra-consensus"
version = "1.0.0-beta.28"
version = "1.0.0-beta.29"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
description = "Implementation of Zcash consensus checks"
license = "MIT OR Apache-2.0"
Expand Down Expand Up @@ -62,13 +62,13 @@ orchard = "0.5.0"

zcash_proofs = { version = "0.12.1", features = ["local-prover", "multicore", "download-params"] }

tower-fallback = { path = "../tower-fallback/", version = "0.2.41-beta.4" }
tower-batch-control = { path = "../tower-batch-control/", version = "0.2.41-beta.4" }
tower-fallback = { path = "../tower-fallback/", version = "0.2.41-beta.5" }
tower-batch-control = { path = "../tower-batch-control/", version = "0.2.41-beta.5" }

zebra-script = { path = "../zebra-script", version = "1.0.0-beta.28" }
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.28" }
zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.28" }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.28" }
zebra-script = { path = "../zebra-script", version = "1.0.0-beta.29" }
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.29" }
zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.29" }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.29" }

# prod feature progress-bar
howudoin = { version = "0.1.2", optional = true }
Expand Down
4 changes: 2 additions & 2 deletions zebra-network/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "zebra-network"
version = "1.0.0-beta.28"
version = "1.0.0-beta.29"
authors = ["Zcash Foundation <zebra@zfnd.org>", "Tower Maintainers <team@tower-rs.com>"]
description = "Networking code for Zebra"
# # Legal
Expand Down Expand Up @@ -83,7 +83,7 @@ howudoin = { version = "0.1.2", optional = true }
proptest = { version = "1.2.0", optional = true }
proptest-derive = { version = "0.4.0", optional = true }

zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.28", features = ["async-error"] }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.29", features = ["async-error"] }

[dev-dependencies]
proptest = "1.2.0"
Expand Down
4 changes: 2 additions & 2 deletions zebra-node-services/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "zebra-node-services"
version = "1.0.0-beta.28"
version = "1.0.0-beta.29"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
description = "The interfaces of some Zebra node services"
license = "MIT OR Apache-2.0"
Expand Down Expand Up @@ -35,7 +35,7 @@ rpc-client = [
]

[dependencies]
zebra-chain = { path = "../zebra-chain" , version = "1.0.0-beta.28" }
zebra-chain = { path = "../zebra-chain" , version = "1.0.0-beta.29" }

# Optional dependencies

Expand Down
14 changes: 7 additions & 7 deletions zebra-rpc/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "zebra-rpc"
version = "1.0.0-beta.28"
version = "1.0.0-beta.29"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
description = "A Zebra JSON Remote Procedure Call (JSON-RPC) interface"
license = "MIT OR Apache-2.0"
Expand Down Expand Up @@ -70,12 +70,12 @@ zcash_address = { version = "0.3.0", optional = true }
# Test-only feature proptest-impl
proptest = { version = "1.2.0", optional = true }

zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.28", features = ["json-conversion"] }
zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.28" }
zebra-network = { path = "../zebra-network", version = "1.0.0-beta.28" }
zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.28" }
zebra-script = { path = "../zebra-script", version = "1.0.0-beta.28" }
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.28" }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.29", features = ["json-conversion"] }
zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.29" }
zebra-network = { path = "../zebra-network", version = "1.0.0-beta.29" }
zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.29" }
zebra-script = { path = "../zebra-script", version = "1.0.0-beta.29" }
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.29" }

[dev-dependencies]
insta = { version = "1.31.0", features = ["redactions", "json", "ron"] }
Expand Down
4 changes: 2 additions & 2 deletions zebra-script/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "zebra-script"
version = "1.0.0-beta.28"
version = "1.0.0-beta.29"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
description = "Zebra script verification wrapping zcashd's zcash_script library"
license = "MIT OR Apache-2.0"
Expand All @@ -17,7 +17,7 @@ categories = ["api-bindings", "cryptography::cryptocurrencies"]
[dependencies]
zcash_script = "0.1.13"

zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.28" }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.29" }

thiserror = "1.0.47"
displaydoc = "0.2.4"
Expand Down
6 changes: 3 additions & 3 deletions zebra-state/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "zebra-state"
version = "1.0.0-beta.28"
version = "1.0.0-beta.29"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
description = "State contextual verification and storage code for Zebra"
license = "MIT OR Apache-2.0"
Expand Down Expand Up @@ -71,13 +71,13 @@ tracing = "0.1.37"
elasticsearch = { version = "8.5.0-alpha.1", default-features = false, features = ["rustls-tls"], optional = true }
serde_json = { version = "1.0.105", package = "serde_json", optional = true }

zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.28", features = ["async-error"] }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.29", features = ["async-error"] }

# prod feature progress-bar
howudoin = { version = "0.1.2", optional = true }

# test feature proptest-impl
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.28", optional = true }
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.29", optional = true }
proptest = { version = "1.2.0", optional = true }
proptest-derive = { version = "0.4.0", optional = true }

Expand Down
2 changes: 1 addition & 1 deletion zebra-test/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "zebra-test"
version = "1.0.0-beta.28"
version = "1.0.0-beta.29"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
description = "Test harnesses and test vectors for Zebra"
license = "MIT OR Apache-2.0"
Expand Down
8 changes: 4 additions & 4 deletions zebra-utils/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "zebra-utils"
version = "1.0.0-beta.28"
version = "1.0.0-beta.29"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
description = "Developer tools for Zebra maintenance and testing"
license = "MIT OR Apache-2.0"
Expand Down Expand Up @@ -74,11 +74,11 @@ tracing-error = "0.2.0"
tracing-subscriber = "0.3.17"
thiserror = "1.0.47"

zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.28" }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.28" }
zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.29" }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.29" }

# These crates are needed for the block-template-to-proposal binary
zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.28", optional = true }
zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.29", optional = true }

# These crates are needed for the zebra-checkpoints binary
itertools = { version = "0.11.0", optional = true }
Expand Down
Loading

0 comments on commit 6f50304

Please sign in to comment.