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 Zebra 1.4.0 #7911

Merged
merged 4 commits into from
Nov 6, 2023
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
52 changes: 47 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,18 @@ 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.4.0](https://github.com/ZcashFoundation/zebra/releases/tag/v1.4.0) - TODO: DATE
## [Zebra 1.4.0](https://github.com/ZcashFoundation/zebra/releases/tag/v1.4.0) - 2023-11-07

Zebra's mining RPCs are now available in release builds. Our Docker images are significantly smaller,
because the smaller Zcash verification parameters are now built into the `zebrad` binary.
TODO: rest of intro
Zebra's mining RPCs are now available in release builds. Our Docker images are significantly
smaller, because the smaller Zcash verification parameters are now built into the `zebrad` binary.
Zebra has updated to the shared Rust dependencies from the `zcashd` 5.7.0 release.

Zebra recovers better from brief network interruptions, and avoids some network and verification
denial of service and performance issues. We have restored our macOS tests in CI, and now support
macOS on a best-effort basis.

We have changed our documentation website URL, and we are considering deprecating some Docker image
tags in release 1.5.0 and later.

### Deprecation Warnings

Expand Down Expand Up @@ -87,9 +94,44 @@ so it can't be used to retry failed downloads in `zebrad` 1.3.0 and earlier.

We recommend upgrading to the latest Zebra release to avoid download issues in new installs.

#### macOS Support

macOS x86_64 is now supported on a best-effort basis. macOS builds and some tests run in Zebra's CI.

### Security

TODO: rest of changelog
- Reconnect with peers after brief network interruption ([#7853](https://github.com/ZcashFoundation/zebra/pull/7853))
- Add outer timeouts for critical network operations to avoid hangs ([#7869](https://github.com/ZcashFoundation/zebra/pull/7869))
- Set iterator read bounds where possible in DiskDb, to avoid a known RocksDB denial of service issue ([#7731](https://github.com/ZcashFoundation/zebra/pull/7731), [#7732](https://github.com/ZcashFoundation/zebra/pull/7732))
- Fix concurrency issues in tree key formats, and CPU usage in genesis tree roots ([#7392](https://github.com/ZcashFoundation/zebra/pull/7392))

### Removed

- Remove the `zebrad download` command, because it no longer does anything ([#7819](https://github.com/ZcashFoundation/zebra/pull/7819))

### Added

- Enable mining RPCs by default in production builds ([#7740](https://github.com/ZcashFoundation/zebra/pull/7740))
- Re-enable macOS builds and tests in CI ([#7834](https://github.com/ZcashFoundation/zebra/pull/7834))
- Make macOS x86_64 a tier 2 supported platform in the docs ([#7843](https://github.com/ZcashFoundation/zebra/pull/7843))
- Add macOS M1 as a tier 3 supported platform ([#7851](https://github.com/ZcashFoundation/zebra/pull/7851))

### Changed

- Build Sprout and Sapling parameters into the zebrad binary, so a download server isn't needed ([#7800](https://github.com/ZcashFoundation/zebra/pull/7800), [#7844](https://github.com/ZcashFoundation/zebra/pull/7844))
- Bump ECC dependencies for `zcashd` 5.7.0 ([#7784](https://github.com/ZcashFoundation/zebra/pull/7784))
- Refactor the installation instructions for the `s-nomp` mining pool software ([#7835](https://github.com/ZcashFoundation/zebra/pull/7835))

### Fixed

- Make the `latest` Docker tag point to the production build, rather than the build with experimental features ([#7817](https://github.com/ZcashFoundation/zebra/pull/7817))
- Fix an incorrect consensus-critical ZIP 212 comment ([#7774](https://github.com/ZcashFoundation/zebra/pull/7774))
- Fix broken links to `zebra_network` and `zebra_state` `Config` structs on doc-internal.zebra.zfnd.org ([#7838](https://github.com/ZcashFoundation/zebra/pull/7838))

### Contributors

Thank you to everyone who contributed to this release, we couldn't make Zebra without you:
@arya2, @gustavovalverde, @mpguerra, @oxarbitrage, @rex4539, @teor2345, @upbqdn, and @vuittont60.

## [Zebra 1.3.0](https://github.com/ZcashFoundation/zebra/releases/tag/v1.3.0) - 2023-10-16

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

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

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

[[package]]
name = "zebra-chain"
version = "1.0.0-beta.30"
version = "1.0.0-beta.31"
dependencies = [
"bitflags 2.4.1",
"bitflags-serde-legacy",
Expand Down Expand Up @@ -5604,7 +5604,7 @@ dependencies = [

[[package]]
name = "zebra-consensus"
version = "1.0.0-beta.30"
version = "1.0.0-beta.31"
dependencies = [
"bellman",
"blake2b_simd",
Expand Down Expand Up @@ -5650,7 +5650,7 @@ dependencies = [

[[package]]
name = "zebra-network"
version = "1.0.0-beta.30"
version = "1.0.0-beta.31"
dependencies = [
"bitflags 2.4.1",
"byteorder",
Expand Down Expand Up @@ -5691,7 +5691,7 @@ dependencies = [

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

[[package]]
name = "zebra-rpc"
version = "1.0.0-beta.30"
version = "1.0.0-beta.31"
dependencies = [
"chrono",
"futures",
Expand Down Expand Up @@ -5735,7 +5735,7 @@ dependencies = [

[[package]]
name = "zebra-script"
version = "1.0.0-beta.30"
version = "1.0.0-beta.31"
dependencies = [
"displaydoc",
"hex",
Expand All @@ -5748,7 +5748,7 @@ dependencies = [

[[package]]
name = "zebra-state"
version = "1.0.0-beta.30"
version = "1.0.0-beta.31"
dependencies = [
"bincode",
"chrono",
Expand Down Expand Up @@ -5792,7 +5792,7 @@ dependencies = [

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

[[package]]
name = "zebra-utils"
version = "1.0.0-beta.30"
version = "1.0.0-beta.31"
dependencies = [
"color-eyre",
"hex",
Expand All @@ -5841,7 +5841,7 @@ dependencies = [

[[package]]
name = "zebrad"
version = "1.3.0"
version = "1.4.0"
dependencies = [
"abscissa_core",
"atty",
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,8 @@ performance.

There are a few bugs in Zebra that we're still working on fixing:

- [The `getpeerinfo` RPC shows current and recent outbound connections](https://github.com/ZcashFoundation/zebra/issues/7893), rather than current inbound and outbound connections.

- [Progress bar estimates can become extremely large](https://github.com/console-rs/indicatif/issues/556). We're waiting on a fix in the progress bar library.

- Zebra currently gossips and connects to [private IP addresses](https://en.wikipedia.org/wiki/IP_address#Private_addresses), we want to [disable private IPs but provide a config (#3117)](https://github.com/ZcashFoundation/zebra/issues/3117) in an upcoming release
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.3.0 https://github.com/ZcashFoundation/zebra.git
git clone --depth 1 --branch v1.4.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.3.0
git checkout v1.4.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.3.0 zebrad
cargo install --git https://github.com/ZcashFoundation/zebra --tag v1.4.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.6"
version = "0.2.41-beta.7"
authors = ["Zcash Foundation <[email protected]>", "Tower Maintainers <[email protected]>"]
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.6"
version = "0.2.41-beta.7"
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 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.30"
version = "1.0.0-beta.31"
authors = ["Zcash Foundation <[email protected]>"]
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.30", optional = true }
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.31", 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.30"
version = "1.0.0-beta.31"
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 = "0.6.0"
zcash_proofs = { version = "0.13.0-rc.1", features = ["multicore" ] }
wagyu-zcash-parameters = "0.2.0"

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

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" }
zebra-script = { path = "../zebra-script", version = "1.0.0-beta.31" }
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.31" }
zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.31" }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.31" }

# 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.30"
version = "1.0.0-beta.31"
authors = ["Zcash Foundation <[email protected]>", "Tower Maintainers <[email protected]>"]
description = "Networking code for Zebra"
# # Legal
Expand Down Expand Up @@ -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.30", features = ["async-error"] }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.31", features = ["async-error"] }

[dev-dependencies]
proptest = "1.3.1"
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.30"
version = "1.0.0-beta.31"
authors = ["Zcash Foundation <[email protected]>"]
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.30" }
zebra-chain = { path = "../zebra-chain" , version = "1.0.0-beta.31" }

# 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.30"
version = "1.0.0-beta.31"
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 @@ -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.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" }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.31", features = ["json-conversion"] }
zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.31" }
zebra-network = { path = "../zebra-network", version = "1.0.0-beta.31" }
zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.31" }
zebra-script = { path = "../zebra-script", version = "1.0.0-beta.31" }
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.31" }

[dev-dependencies]
insta = { version = "1.33.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.30"
version = "1.0.0-beta.31"
authors = ["Zcash Foundation <[email protected]>"]
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.14"

zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.30" }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.31" }

thiserror = "1.0.48"
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.30"
version = "1.0.0-beta.31"
authors = ["Zcash Foundation <[email protected]>"]
description = "State contextual verification and storage code for Zebra"
license = "MIT OR Apache-2.0"
Expand Down Expand Up @@ -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.108", package = "serde_json", optional = true }

zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.30", features = ["async-error"] }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.31", 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.30", optional = true }
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.31", optional = true }
proptest = { version = "1.3.1", 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.30"
version = "1.0.0-beta.31"
authors = ["Zcash Foundation <[email protected]>"]
description = "Test harnesses and test vectors for Zebra"
license = "MIT OR Apache-2.0"
Expand Down
Loading
Loading