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

chore(release): Zebra release v2.2.0 #9195

Merged
merged 6 commits into from
Feb 4, 2025
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
33 changes: 33 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,39 @@ 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 2.2.0](https://github.com/ZcashFoundation/zebra/releases/tag/v2.2.0) - 2025-02-03

In this release, Zebra introduced an additional consensus check on the branch ID of Nu6 transactions
(which is currently also checked elsewhere; but we believe it's important to check on its own to protect
against future code changes), along with important refactors and improvements.

### Added

- An index to track spending transaction ids by spent outpoints and revealed nullifiers ([#8895](https://github.com/ZcashFoundation/zebra/pull/8895))
- Accessor methods to `zebra-rpc` request/response types ([#9113](https://github.com/ZcashFoundation/zebra/pull/9113))
- `getblock` RPC method now can return transaction details with verbosity=2 ([#9083](https://github.com/ZcashFoundation/zebra/pull/9083))
- Serialized NU5 blocks to test vectors ([#9098](https://github.com/ZcashFoundation/zebra/pull/9098))

### Changed

- Migrated from deprecated `jsonrpc_*` crates to `jsonrpsee` ([#9059](https://github.com/ZcashFoundation/zebra/pull/9059), [#9151](https://github.com/ZcashFoundation/zebra/pull/9151))
- Optimized checks for coinbase transactions ([#9126](https://github.com/ZcashFoundation/zebra/pull/9126))
- Avoid re-verifying transactions in blocks if those transactions are in the mempool ([#8951](https://github.com/ZcashFoundation/zebra/pull/8951), [#9118](https://github.com/ZcashFoundation/zebra/pull/9118))
- Allow transactions spending coinbase outputs to have transparent outputs on Regtest ([#9085](https://github.com/ZcashFoundation/zebra/pull/9085))

### Fixed

- Respond to getblockchaininfo with genesis block when empty state ([#9138](https://github.com/ZcashFoundation/zebra/pull/9138))
- Verify consensus branch ID in SIGHASH precomputation ([#9139](https://github.com/ZcashFoundation/zebra/pull/9139))
- More closely match zcashd RPC errors and `getrawtransaction` RPC behaviour ([#9049](https://github.com/ZcashFoundation/zebra/pull/9049))
- Fixes bugs in the lightwalletd integration tests ([#9052](https://github.com/ZcashFoundation/zebra/pull/9052))

### Contributors

Thank you to everyone who contributed to this release, we couldn't make Zebra without you:
@Fallengirl, @arya2, @conradoplg, @elijahhampton, @futreall, @gustavovalverde, @idky137, @mpguerra, @oxarbitrage, @rex4539, @rootdiae, @sandakersmann and @upbqdn


## [Zebra 2.1.0](https://github.com/ZcashFoundation/zebra/releases/tag/v2.1.0) - 2024-12-06

This release adds a check to verify that V5 transactions in the mempool have the correct consensus branch ID;
Expand Down
28 changes: 14 additions & 14 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4888,7 +4888,7 @@ dependencies = [

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

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

[[package]]
name = "zebra-chain"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
dependencies = [
"bitflags 2.8.0",
"bitflags-serde-legacy",
Expand Down Expand Up @@ -6034,7 +6034,7 @@ dependencies = [

[[package]]
name = "zebra-consensus"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
dependencies = [
"bellman",
"blake2b_simd",
Expand Down Expand Up @@ -6080,7 +6080,7 @@ dependencies = [

[[package]]
name = "zebra-grpc"
version = "0.1.0-alpha.11"
version = "0.1.0-alpha.12"
dependencies = [
"color-eyre",
"futures-util",
Expand All @@ -6102,7 +6102,7 @@ dependencies = [

[[package]]
name = "zebra-network"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
dependencies = [
"bitflags 2.8.0",
"byteorder",
Expand Down Expand Up @@ -6143,7 +6143,7 @@ dependencies = [

[[package]]
name = "zebra-node-services"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
dependencies = [
"color-eyre",
"jsonrpsee-types",
Expand All @@ -6156,7 +6156,7 @@ dependencies = [

[[package]]
name = "zebra-rpc"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
dependencies = [
"base64 0.22.1",
"chrono",
Expand Down Expand Up @@ -6197,7 +6197,7 @@ dependencies = [

[[package]]
name = "zebra-scan"
version = "0.1.0-alpha.13"
version = "0.1.0-alpha.14"
dependencies = [
"bls12_381",
"chrono",
Expand Down Expand Up @@ -6243,7 +6243,7 @@ dependencies = [

[[package]]
name = "zebra-script"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
dependencies = [
"hex",
"lazy_static",
Expand All @@ -6255,7 +6255,7 @@ dependencies = [

[[package]]
name = "zebra-state"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
dependencies = [
"bincode",
"chrono",
Expand Down Expand Up @@ -6301,7 +6301,7 @@ dependencies = [

[[package]]
name = "zebra-test"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
dependencies = [
"color-eyre",
"futures",
Expand Down Expand Up @@ -6329,7 +6329,7 @@ dependencies = [

[[package]]
name = "zebra-utils"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
dependencies = [
"color-eyre",
"hex",
Expand Down Expand Up @@ -6360,7 +6360,7 @@ dependencies = [

[[package]]
name = "zebrad"
version = "2.1.1"
version = "2.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 @@ -37,7 +37,7 @@ docker run -d --platform linux/amd64 \
### Build it locally

```shell
git clone --depth 1 --branch v2.1.1 https://github.com/ZcashFoundation/zebra.git
git clone --depth 1 --branch v2.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 @@ -76,7 +76,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 v2.1.1
git checkout v2.2.0
```

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

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

### Compiling on ARM
Expand Down
6 changes: 3 additions & 3 deletions 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.20"
version = "0.2.41-beta.21"
authors = ["Zcash Foundation <[email protected]>", "Tower Maintainers <[email protected]>"]
description = "Tower middleware for batch request processing"
# # Legal
Expand Down Expand Up @@ -43,10 +43,10 @@ rand = { workspace = true }

tokio = { workspace = true, features = ["full", "tracing", "test-util"] }
tokio-test = { workspace = true }
tower-fallback = { path = "../tower-fallback/", version = "0.2.41-beta.20" }
tower-fallback = { path = "../tower-fallback/", version = "0.2.41-beta.21" }
tower-test = { workspace = true }

zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.44" }
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.45" }

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tokio_unstable)'] }
4 changes: 2 additions & 2 deletions 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.20"
version = "0.2.41-beta.21"
authors = ["Zcash Foundation <[email protected]>"]
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 All @@ -24,4 +24,4 @@ tracing = { workspace = true }
[dev-dependencies]
tokio = { workspace = true, features = ["full", "tracing", "test-util"] }

zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.44" }
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.45" }
6 changes: 3 additions & 3 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.44"
version = "1.0.0-beta.45"
authors = ["Zcash Foundation <[email protected]>"]
description = "Core Zcash data structures"
license = "MIT OR Apache-2.0"
Expand Down Expand Up @@ -145,7 +145,7 @@ proptest-derive = { workspace = true, optional = true }
rand = { workspace = true, optional = true }
rand_chacha = { workspace = true, optional = true }

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

[dev-dependencies]
# Benchmarks
Expand All @@ -168,7 +168,7 @@ rand_chacha = { workspace = true }

tokio = { workspace = true, features = ["full", "tracing", "test-util"] }

zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.44" }
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.45" }

[[bench]]
name = "block"
Expand Down
20 changes: 10 additions & 10 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.44"
version = "1.0.0-beta.45"
authors = ["Zcash Foundation <[email protected]>"]
description = "Implementation of Zcash consensus checks"
license = "MIT OR Apache-2.0"
Expand Down Expand Up @@ -63,13 +63,13 @@ orchard.workspace = true
zcash_proofs = { workspace = true, features = ["multicore" ] }
wagyu-zcash-parameters = { workspace = true }

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

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

# prod feature progress-bar
howudoin = { workspace = true, optional = true }
Expand All @@ -94,6 +94,6 @@ tokio = { workspace = true, features = ["full", "tracing", "test-util"] }
tracing-error = { workspace = true }
tracing-subscriber = { workspace = true }

zebra-state = { path = "../zebra-state", version = "1.0.0-beta.44", features = ["proptest-impl"] }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.44", features = ["proptest-impl"] }
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.44" }
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.45", features = ["proptest-impl"] }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.45", features = ["proptest-impl"] }
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.45" }
6 changes: 3 additions & 3 deletions zebra-grpc/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "zebra-grpc"
version = "0.1.0-alpha.11"
version = "0.1.0-alpha.12"
authors = ["Zcash Foundation <[email protected]>"]
description = "Zebra gRPC interface"
license = "MIT OR Apache-2.0"
Expand Down Expand Up @@ -28,8 +28,8 @@ color-eyre = { workspace = true }

zcash_primitives.workspace = true

zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.44", features = ["shielded-scan"] }
zebra-chain = { path = "../zebra-chain" , version = "1.0.0-beta.44" }
zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.45", features = ["shielded-scan"] }
zebra-chain = { path = "../zebra-chain" , version = "1.0.0-beta.45" }

[build-dependencies]
tonic-build = { workspace = 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.44"
version = "1.0.0-beta.45"
authors = ["Zcash Foundation <[email protected]>", "Tower Maintainers <[email protected]>"]
description = "Networking code for Zebra"
# # Legal
Expand Down Expand Up @@ -83,7 +83,7 @@ howudoin = { workspace = true, optional = true }
proptest = { workspace = true, optional = true }
proptest-derive = { workspace = true, optional = true }

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

[dev-dependencies]
proptest = { workspace = true }
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.44"
version = "1.0.0-beta.45"
authors = ["Zcash Foundation <[email protected]>"]
description = "The interfaces of some Zebra node services"
license = "MIT OR Apache-2.0"
Expand Down Expand Up @@ -37,7 +37,7 @@ rpc-client = [
shielded-scan = []

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

# Optional dependencies

Expand Down
24 changes: 12 additions & 12 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.44"
version = "1.0.0-beta.45"
authors = ["Zcash Foundation <[email protected]>"]
description = "A Zebra JSON Remote Procedure Call (JSON-RPC) interface"
license = "MIT OR Apache-2.0"
Expand Down Expand Up @@ -97,16 +97,16 @@ zcash_address = { workspace = true, optional = true}
# Test-only feature proptest-impl
proptest = { workspace = true, optional = true }

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

[build-dependencies]
tonic-build = { workspace = true, optional = true }
Expand All @@ -119,17 +119,17 @@ proptest = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true, features = ["full", "tracing", "test-util"] }

zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.44", features = [
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.45", features = [
"proptest-impl",
] }
zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.44", features = [
zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.45", features = [
"proptest-impl",
] }
zebra-network = { path = "../zebra-network", version = "1.0.0-beta.44", features = [
zebra-network = { path = "../zebra-network", version = "1.0.0-beta.45", features = [
"proptest-impl",
] }
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.44", features = [
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.45", features = [
"proptest-impl",
] }

zebra-test = { path = "../zebra-test", version = "1.0.0-beta.44" }
zebra-test = { path = "../zebra-test", version = "1.0.0-beta.45" }
Loading
Loading