chore: Release v1.3.0 (#7610)

* Update `CHANGELOG.md`

* Apply suggestions from code review

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

* Group together test PRs for `z_getsubtreesbyindex`

* chore: Release

* Update the end of support height

* Add progress bars changelog entry

* Update CHANGELOG.md

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

* Update CHANGELOG.md

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

* Update `CHANGELOG.md`

* Update `CHANGELOG.md`

* Update `README.md`

* Update `ESTIMATED_RELEASE_HEIGHT`

Set the release height to start on ~ Monday, 2023-10-16.

* Update CHANGELOG.md

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

* Remove changelog entries invisible to users

---------

Co-authored-by: teor <teor@riseup.net>
This commit is contained in:
Marek 2023-10-17 01:04:33 +02:00 committed by GitHub
parent 0507670259
commit 13230d09fe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 117 additions and 57 deletions

View File

@ -5,6 +5,66 @@ 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.3.0](https://github.com/ZcashFoundation/zebra/releases/tag/v1.3.0) - 2023-10-16
This release adds RPC methods for the "Spend before Sync" light wallet feature,
and fixes performance issues and bugs in the mining solution rate RPCs. Progress
bars can now be enabled using a config, please help us test them!
It contains the following updates:
### User Testing: Progress Bars
Zebra has progress bars! When progress bars are enabled, you can see Zebra's blocks,
transactions, and peer connections in your terminal. We're asking Zebra users to test this
feature, and give us [feedback on the forums](https://forum.zcashcommunity.com/t/zebra-progress-bars/44485).
To show progress bars while running Zebra, add these lines to your `zebrad.toml`:
```toml
[tracing]
progress_bar = "summary"
```
For more details, including a known issue with time estimates,
read our [progress bars blog post](https://zfnd.org/experimental-zebra-progress-bars/).
### Security
- Fix database concurrency bugs that could have led to panics or incorrect history tree data (#7590, #7663)
### Added
- Zebra's progress bars can now be enabled using a `zebrad.toml` config (#7615)
- Add missing elasticsearch flag feature to lib docs (#7568)
- Add missing Docker variables and examples (#7552)
- Check database format is valid on startup and shutdown (#7566, #7606). We expect to catch almost all database validity errors in CI (#7602, #7627), so users are unlikely to see them on startup or shutdown.
#### Spend before Sync Support
- Add state requests and support code for the `z_getsubtreesbyindex` RPC (#7408, #7734)
- Implement the `z_getsubtreesbyindex` RPC (#7436)
- Test the `z_getsubtreesbyindex` RPC (#7515, #7521, #7566, #7514, #7628)
- Format subtree roots in little-endian order (#7466)
- Add note subtree indexes for new and existing blocks (#7437)
- Upgrade subtrees from the tip backwards, for compatibility with wallet syncing (#7531)
- Handle a subtree comparison edge case correctly (#7587)
### Changed
- Return errors instead of panicking in methods for Heights (#7591)
- Update tests for compatibility with the ECC's `lightwalletd` fork (#7349)
### Fixed
- Refactor docs for feature flags (#7567)
- Match zcashd's getblockchaininfo capitalisation for NU5 (#7454)
- Fix bugs and performance of `getnetworksolps` & `getnetworkhashps` RPCs (#7647)
### Contributors
Thank you to everyone who contributed to this release, we couldn't make Zebra without you:
@arya2, @gustavovalverde, @oxarbitrage, @rex4539, @teor2345 and @upbqdn.
## [Zebra 1.2.0](https://github.com/ZcashFoundation/zebra/releases/tag/v1.2.0) - 2023-09-01
### Highlights

View File

@ -4571,7 +4571,7 @@ dependencies = [
[[package]]
name = "tower-batch-control"
version = "0.2.41-beta.5"
version = "0.2.41-beta.6"
dependencies = [
"color-eyre",
"ed25519-zebra",
@ -4595,7 +4595,7 @@ dependencies = [
[[package]]
name = "tower-fallback"
version = "0.2.41-beta.5"
version = "0.2.41-beta.6"
dependencies = [
"futures-core",
"pin-project",
@ -5492,7 +5492,7 @@ dependencies = [
[[package]]
name = "zebra-chain"
version = "1.0.0-beta.29"
version = "1.0.0-beta.30"
dependencies = [
"bitflags 2.4.0",
"bitflags-serde-legacy",
@ -5553,7 +5553,7 @@ dependencies = [
[[package]]
name = "zebra-consensus"
version = "1.0.0-beta.29"
version = "1.0.0-beta.30"
dependencies = [
"bellman",
"blake2b_simd",
@ -5598,7 +5598,7 @@ dependencies = [
[[package]]
name = "zebra-network"
version = "1.0.0-beta.29"
version = "1.0.0-beta.30"
dependencies = [
"bitflags 2.4.0",
"byteorder",
@ -5639,7 +5639,7 @@ dependencies = [
[[package]]
name = "zebra-node-services"
version = "1.0.0-beta.29"
version = "1.0.0-beta.30"
dependencies = [
"color-eyre",
"jsonrpc-core",
@ -5651,7 +5651,7 @@ dependencies = [
[[package]]
name = "zebra-rpc"
version = "1.0.0-beta.29"
version = "1.0.0-beta.30"
dependencies = [
"chrono",
"futures",
@ -5683,7 +5683,7 @@ dependencies = [
[[package]]
name = "zebra-script"
version = "1.0.0-beta.29"
version = "1.0.0-beta.30"
dependencies = [
"displaydoc",
"hex",
@ -5696,7 +5696,7 @@ dependencies = [
[[package]]
name = "zebra-state"
version = "1.0.0-beta.29"
version = "1.0.0-beta.30"
dependencies = [
"bincode",
"chrono",
@ -5740,7 +5740,7 @@ dependencies = [
[[package]]
name = "zebra-test"
version = "1.0.0-beta.29"
version = "1.0.0-beta.30"
dependencies = [
"color-eyre",
"futures",
@ -5768,7 +5768,7 @@ dependencies = [
[[package]]
name = "zebra-utils"
version = "1.0.0-beta.29"
version = "1.0.0-beta.30"
dependencies = [
"color-eyre",
"hex",
@ -5789,7 +5789,7 @@ dependencies = [
[[package]]
name = "zebrad"
version = "1.2.0"
version = "1.3.0"
dependencies = [
"abscissa_core",
"atty",

View File

@ -11,7 +11,7 @@
- [Getting Started](#getting-started)
- [Docker](#docker)
- [Building Zebra](#building-zebra)
- [Optional Configs & Features](#optional-features)
- [Optional Configs & Features](#optional-configs--features)
- [Known Issues](#known-issues)
- [Future Work](#future-work)
- [Documentation](#documentation)

View File

@ -17,7 +17,7 @@ docker run --detach zfnd/zebra:latest
### Build it locally
```shell
git clone --depth 1 --branch v1.2.0 https://github.com/ZcashFoundation/zebra.git
git clone --depth 1 --branch v1.3.0 https://github.com/ZcashFoundation/zebra.git
docker build --file docker/Dockerfile --target runtime --tag zebra:local .
docker run --detach zebra:local
```

View File

@ -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.2.0
git checkout v1.3.0
```
3. Build and Run `zebrad`
@ -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.2.0 zebrad
cargo install --git https://github.com/ZcashFoundation/zebra --tag v1.3.0 zebrad
```
### Compiling on ARM

View File

@ -1,6 +1,6 @@
[package]
name = "tower-batch-control"
version = "0.2.41-beta.5"
version = "0.2.41-beta.6"
authors = ["Zcash Foundation <zebra@zfnd.org>", "Tower Maintainers <team@tower-rs.com>"]
description = "Tower middleware for batch request processing"
# # Legal

View File

@ -1,6 +1,6 @@
[package]
name = "tower-fallback"
version = "0.2.41-beta.5"
version = "0.2.41-beta.6"
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"

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-chain"
version = "1.0.0-beta.29"
version = "1.0.0-beta.30"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
description = "Core Zcash data structures"
license = "MIT OR Apache-2.0"
@ -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.29", optional = true }
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.30", optional = true }
[dev-dependencies]
# Benchmarks

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-consensus"
version = "1.0.0-beta.29"
version = "1.0.0-beta.30"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
description = "Implementation of Zcash consensus checks"
license = "MIT OR Apache-2.0"
@ -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.5" }
tower-batch-control = { path = "../tower-batch-control/", version = "0.2.41-beta.5" }
tower-fallback = { path = "../tower-fallback/", version = "0.2.41-beta.6" }
tower-batch-control = { path = "../tower-batch-control/", version = "0.2.41-beta.6" }
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" }
zebra-script = { path = "../zebra-script", version = "1.0.0-beta.30" }
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.30" }
zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.30" }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.30" }
# prod feature progress-bar
howudoin = { version = "0.1.2", optional = true }

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-network"
version = "1.0.0-beta.29"
version = "1.0.0-beta.30"
authors = ["Zcash Foundation <zebra@zfnd.org>", "Tower Maintainers <team@tower-rs.com>"]
description = "Networking code for Zebra"
# # Legal
@ -83,7 +83,7 @@ howudoin = { version = "0.1.2", optional = true }
proptest = { version = "1.3.1", optional = true }
proptest-derive = { version = "0.4.0", optional = true }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.29", features = ["async-error"] }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.30", features = ["async-error"] }
[dev-dependencies]
proptest = "1.3.1"

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-node-services"
version = "1.0.0-beta.29"
version = "1.0.0-beta.30"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
description = "The interfaces of some Zebra node services"
license = "MIT OR Apache-2.0"
@ -35,7 +35,7 @@ rpc-client = [
]
[dependencies]
zebra-chain = { path = "../zebra-chain" , version = "1.0.0-beta.29" }
zebra-chain = { path = "../zebra-chain" , version = "1.0.0-beta.30" }
# Optional dependencies

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-rpc"
version = "1.0.0-beta.29"
version = "1.0.0-beta.30"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
description = "A Zebra JSON Remote Procedure Call (JSON-RPC) interface"
license = "MIT OR Apache-2.0"
@ -70,12 +70,12 @@ zcash_address = { version = "0.3.0", optional = true }
# Test-only feature proptest-impl
proptest = { version = "1.3.1", optional = true }
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" }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.30", features = ["json-conversion"] }
zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.30" }
zebra-network = { path = "../zebra-network", version = "1.0.0-beta.30" }
zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.30" }
zebra-script = { path = "../zebra-script", version = "1.0.0-beta.30" }
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.30" }
[dev-dependencies]
insta = { version = "1.33.0", features = ["redactions", "json", "ron"] }

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-script"
version = "1.0.0-beta.29"
version = "1.0.0-beta.30"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
description = "Zebra script verification wrapping zcashd's zcash_script library"
license = "MIT OR Apache-2.0"
@ -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.29" }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.30" }
thiserror = "1.0.48"
displaydoc = "0.2.4"

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-state"
version = "1.0.0-beta.29"
version = "1.0.0-beta.30"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
description = "State contextual verification and storage code for Zebra"
license = "MIT OR Apache-2.0"
@ -73,13 +73,13 @@ tracing = "0.1.39"
elasticsearch = { version = "8.5.0-alpha.1", default-features = false, features = ["rustls-tls"], optional = true }
serde_json = { version = "1.0.107", package = "serde_json", optional = true }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.29", features = ["async-error"] }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.30", 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.29", optional = true }
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.30", optional = true }
proptest = { version = "1.3.1", optional = true }
proptest-derive = { version = "0.4.0", optional = true }

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-test"
version = "1.0.0-beta.29"
version = "1.0.0-beta.30"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
description = "Test harnesses and test vectors for Zebra"
license = "MIT OR Apache-2.0"

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-utils"
version = "1.0.0-beta.29"
version = "1.0.0-beta.30"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
description = "Developer tools for Zebra maintenance and testing"
license = "MIT OR Apache-2.0"
@ -74,11 +74,11 @@ tracing-error = "0.2.0"
tracing-subscriber = "0.3.17"
thiserror = "1.0.48"
zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.29" }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.29" }
zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.30" }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.30" }
# These crates are needed for the block-template-to-proposal binary
zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.29", optional = true }
zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.30", optional = true }
# These crates are needed for the zebra-checkpoints binary
itertools = { version = "0.11.0", optional = true }

View File

@ -1,7 +1,7 @@
[package]
# Crate metadata
name = "zebrad"
version = "1.2.0"
version = "1.3.0"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
description = "The Zcash Foundation's independent, consensus-compatible implementation of a Zcash node"
license = "MIT OR Apache-2.0"
@ -142,15 +142,15 @@ test_sync_past_mandatory_checkpoint_mainnet = []
test_sync_past_mandatory_checkpoint_testnet = []
[dependencies]
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.29" }
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-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.29" }
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.29" }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.30" }
zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.30" }
zebra-network = { path = "../zebra-network", version = "1.0.0-beta.30" }
zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.30" }
zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.30" }
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.30" }
# Required for crates.io publishing, but it's only used in tests
zebra-utils = { path = "../zebra-utils", version = "1.0.0-beta.29", optional = true }
zebra-utils = { path = "../zebra-utils", version = "1.0.0-beta.30", optional = true }
abscissa_core = "0.7.0"
clap = { version = "4.4.6", features = ["cargo"] }

View File

@ -13,7 +13,7 @@ use zebra_chain::{
use crate::application::release_version;
/// The estimated height that this release will be published.
pub const ESTIMATED_RELEASE_HEIGHT: u32 = 2_212_380;
pub const ESTIMATED_RELEASE_HEIGHT: u32 = 2_264_000;
/// The maximum number of days after `ESTIMATED_RELEASE_HEIGHT` where a Zebra server will run
/// without halting.