Skip to content

Commit

Permalink
Merge of #7911
Browse files Browse the repository at this point in the history
  • Loading branch information
mergify[bot] authored Nov 6, 2023
2 parents baa283c + 9fb9d87 commit b97423c
Show file tree
Hide file tree
Showing 18 changed files with 105 additions and 61 deletions.
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

0 comments on commit b97423c

Please sign in to comment.