Release v1.0.0 beta.4 (#3403)

* Updating zebra-test to v1.0.0-beta.4

* Updating tower-fallback to v0.2.16

* Updating tower-batch to v0.2.20

* Updating zebra-chain to v1.0.0-beta.4

* Updating zebra-script to v1.0.0-beta.4

* Updating zebra-network to v1.0.0-beta.4

* Updating zebra-state to v1.0.0-beta.4

* Updating zebra-consensus to v1.0.0-beta.4

* Updating zebra-utils to v1.0.0-beta.4

* Updating zebrad to v1.0.0-beta.4

* Update Cargo.lock with updated crate versions

* Add section for 1.0.0-beta.4 in the CHANGELOG

* Update CHANGELOG.md

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

* Update README.md

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

* Update book/src/user/install.md

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

* Update release description to mention Rust 2021

Update the changelog to mention that all crates now use Rust 2021
Edition.

* Elaborate on Section 3.6 documentation entry

Add the title of the section and mention that it's a section of the
Zcash protocol specification.

* Make changelog entries consistent

Use the same format for entries related to consensus rule documentation.

Co-authored-by: Marek <mail@marek.onl>

* Update README about validated consensus rules

Zebra now validates all documented consensus rules.

* Add changelog entry for newly merged PR

Describe the security fix in the changelog.

Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
Co-authored-by: teor <teor@riseup.net>
Co-authored-by: Marek <mail@marek.onl>
This commit is contained in:
Janito Vaqueiro Ferreira Filho 2022-01-26 18:39:41 -03:00 committed by GitHub
parent 39fc0e27d8
commit f6de7faae1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 86 additions and 27 deletions

View File

@ -4,6 +4,68 @@ 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.0.0-beta.4](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-beta.4) - 2022-01-26
Zebra's latest beta improves the networking code and fixes some bugs. A couple of fixed bugs had
caused Zebra to hang in some situations. Some improvements to the documentation were also included.
All Rust crates have now been updated to use Rust 2021 Edition.
### Added
- Add a copy-state zebrad command, which copies blocks between two state services (#3175)
#### Networking
- Add isolated Tor connection API, but don't enable it by default (#3303)
- Add a test for message broadcast to the right number of peers (#3284)
### Changed
- Update to use Rust edition 2021 (#3332)
#### Networking
- Cache incoming unsolicited address messages, and use them as responses (#3294)
- Cleanup internal network request handler, fix unused request logging (#3295)
#### Documentation
- Document the consensus rules for Spend Transfers, Output Transfers, and their Descriptions (Section 3.6 of the Zcash protocol specification) (#3338)
- Document the structure of the zebra-network crate (#3317)
- Document the consensus rules for Note Commitment Trees (Section 3.8 of the Zcash Protocol Specification) (#3319)
- Document chain value balances consensus rules with new format (#3286)
- Document part of the block header consensus rules (#3296)
### Fixed
#### Consensus
- Fix interstitial sprout anchors check (#3283)
- Check jubjub key correctness independent of redjubjub / jubjub (#3154)
#### Networking
- Fix some bugs related to isolated connections (#3302)
- Ignore unexpected block responses to fix error cascade when synchronizing blocks, improving synchronization speed (#3374)
- Cancel heartbeats that are waiting for a peer, rather than hanging Zebra (#3325)
- Stop ignoring some peers when updating the address book (#3292)
- Fix some address crawler timing issues (#3293)
- Retry Zcash sprout and sapling parameters download (#3306)
- Keep track of background peer tasks (#3253)
#### Chain Synchronization
- Fix deadlock in chain tip watch channel, that sometimes caused chain synchronization to hang (#3378)
- Fix syncer download order and add sync tests (#3168)
#### Tests
- Fix a type resolution error in the tests (#3304)
### Security
- Stop RocksDB and Tokio from calling unexpected code when zebrad exits (#3392)
## [Zebra 1.0.0-beta.3](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-beta.3) - 2021-12-21
Zebra's latest beta works towards enforcing all consensus rules by validating JoinSplit Groth16 proofs

20
Cargo.lock generated
View File

@ -4789,7 +4789,7 @@ dependencies = [
[[package]]
name = "tower-batch"
version = "0.2.19"
version = "0.2.20"
dependencies = [
"color-eyre",
"ed25519-zebra",
@ -4809,7 +4809,7 @@ dependencies = [
[[package]]
name = "tower-fallback"
version = "0.2.15"
version = "0.2.16"
dependencies = [
"futures-core",
"pin-project 0.4.28",
@ -5490,7 +5490,7 @@ dependencies = [
[[package]]
name = "zebra-chain"
version = "1.0.0-beta.3"
version = "1.0.0-beta.4"
dependencies = [
"aes",
"bech32",
@ -5549,7 +5549,7 @@ version = "1.0.0-beta.0"
[[package]]
name = "zebra-consensus"
version = "1.0.0-beta.3"
version = "1.0.0-beta.4"
dependencies = [
"bellman",
"blake2b_simd",
@ -5591,7 +5591,7 @@ dependencies = [
[[package]]
name = "zebra-network"
version = "1.0.0-beta.3"
version = "1.0.0-beta.4"
dependencies = [
"arti-client",
"bitflags",
@ -5629,7 +5629,7 @@ version = "1.0.0-beta.0"
[[package]]
name = "zebra-script"
version = "1.0.0-beta.3"
version = "1.0.0-beta.4"
dependencies = [
"displaydoc",
"hex",
@ -5642,7 +5642,7 @@ dependencies = [
[[package]]
name = "zebra-state"
version = "1.0.0-beta.3"
version = "1.0.0-beta.4"
dependencies = [
"bincode",
"chrono",
@ -5676,7 +5676,7 @@ dependencies = [
[[package]]
name = "zebra-test"
version = "1.0.0-beta.3"
version = "1.0.0-beta.4"
dependencies = [
"color-eyre",
"futures",
@ -5699,7 +5699,7 @@ dependencies = [
[[package]]
name = "zebra-utils"
version = "1.0.0-beta.3"
version = "1.0.0-beta.4"
dependencies = [
"color-eyre",
"hex",
@ -5714,7 +5714,7 @@ dependencies = [
[[package]]
name = "zebrad"
version = "1.0.0-beta.3"
version = "1.0.0-beta.4"
dependencies = [
"abscissa_core",
"atty",

View File

@ -81,10 +81,7 @@ and Zebra implements all the features required to reach Zcash network consensus.
The goals of the beta release series are for Zebra to act as a fully validating Zcash node,
for all active consensus rules as of NU5 activation.
Currently, Zebra does not validate the following Zcash consensus rules:
#### Sprout
- Validation of Sprout anchors (root of the Sprout note commitment tree)
Currently, Zebra validates all of the documented Zcash consensus rules, but it may not validate any:
#### Other
- Undocumented rules derived from Bitcoin
@ -105,7 +102,7 @@ for your platform:
2. Install Zebra's build dependencies:
- **libclang:** the `libclang`, `libclang-dev`, `llvm`, or `llvm-dev` packages, depending on your package manager
- **clang** or another C++ compiler: `g++`, `Xcode`, or `MSVC`
3. Run `cargo install --locked --git https://github.com/ZcashFoundation/zebra --tag v1.0.0-beta.3 zebrad`
3. Run `cargo install --locked --git https://github.com/ZcashFoundation/zebra --tag v1.0.0-beta.4 zebrad`
4. Run `zebrad start` (see [Running Zebra](user/run.md) for more information)
If you're interested in testing out `zebrad` please feel free, but keep in mind

View File

@ -9,7 +9,7 @@ for your platform:
2. Install Zebra's build dependencies:
- **libclang:** the `libclang`, `libclang-dev`, `llvm`, or `llvm-dev` packages, depending on your package manager
- **clang** or another C++ compiler: `g++`, `Xcode`, or `MSVC`
3. Run `cargo install --locked --git https://github.com/ZcashFoundation/zebra --tag v1.0.0-beta.3 zebrad`
3. Run `cargo install --locked --git https://github.com/ZcashFoundation/zebra --tag v1.0.0-beta.4 zebrad`
4. Run `zebrad start` (see [Running Zebra](user/run.md) for more information)
If you're interested in testing out `zebrad` please feel free, but keep in mind

View File

@ -1,6 +1,6 @@
[package]
name = "tower-batch"
version = "0.2.19"
version = "0.2.20"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT"
edition = "2021"

View File

@ -1,6 +1,6 @@
[package]
name = "tower-fallback"
version = "0.2.15"
version = "0.2.16"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT"
edition = "2021"

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-chain"
version = "1.0.0-beta.3"
version = "1.0.0-beta.4"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT OR Apache-2.0"
edition = "2021"

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-consensus"
version = "1.0.0-beta.3"
version = "1.0.0-beta.4"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT OR Apache-2.0"
edition = "2021"

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-network"
version = "1.0.0-beta.3"
version = "1.0.0-beta.4"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT OR Apache-2.0"
edition = "2021"

View File

@ -197,7 +197,7 @@ pub const TIMESTAMP_TRUNCATION_SECONDS: u32 = 30 * 60;
/// [BIP 14]: https://github.com/bitcoin/bips/blob/master/bip-0014.mediawiki
//
// TODO: generate this from crate metadata (#2375)
pub const USER_AGENT: &str = "/Zebra:1.0.0-beta.3/";
pub const USER_AGENT: &str = "/Zebra:1.0.0-beta.4/";
/// The Zcash network protocol version implemented by this crate, and advertised
/// during connection setup.

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-script"
version = "1.0.0-beta.3"
version = "1.0.0-beta.4"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT OR Apache-2.0"
edition = "2021"

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-state"
version = "1.0.0-beta.3"
version = "1.0.0-beta.4"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT OR Apache-2.0"
edition = "2021"

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-test"
version = "1.0.0-beta.3"
version = "1.0.0-beta.4"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT OR Apache-2.0"
edition = "2021"

View File

@ -2,7 +2,7 @@
name = "zebra-utils"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT OR Apache-2.0"
version = "1.0.0-beta.3"
version = "1.0.0-beta.4"
edition = "2021"
# Prevent accidental publication of this utility crate.
publish = false

View File

@ -2,7 +2,7 @@
name = "zebrad"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT OR Apache-2.0"
version = "1.0.0-beta.3"
version = "1.0.0-beta.4"
edition = "2021"
repository = "https://github.com/ZcashFoundation/zebra"
# make `cargo run` use `zebrad` by default