Updates for zebra v1.0.0-beta.1 release (#3073)
* Update versions for zebra v1.0.0-beta.1 release * Adding original PR list for comparison and tracking as PRs merge * First pass at categorising changes * Merge and clarify description of related changes * Remove or merge trivial changes * Improve change descriptions * Add new PRs merged * CHANGELOG: Improve release summary * CHANGELOG: categorise changes further * README: Remove resolved issues and items * Update CHANGELOG.md Co-authored-by: teor <teor@riseup.net> * CHANGELOG: Add new PRs merged * CHANGELOG: Move change category * CHANGELOG: Update release date ready for tagging Co-authored-by: teor <teor@riseup.net>
This commit is contained in:
parent
09c788d03e
commit
26b3a50e01
50
CHANGELOG.md
50
CHANGELOG.md
|
@ -4,6 +4,56 @@ 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).
|
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.1](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-beta.1) - 2021-11-19
|
||||||
|
|
||||||
|
Zebra's latest beta implements a number of consensus rules which will be needed for Zebra to fully validate all of the Zcash network consensus rules, including those which will activate with NU5.
|
||||||
|
|
||||||
|
With this release we are also fixing a number of security issues that could pose a DDoS risk or otherwise negatively impact other nodes on the network.
|
||||||
|
|
||||||
|
Finally, this release includes an upgrade to the latest version of tokio (1.14.0).
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Check Shielded Input and Output Limits (#3069, #3076)
|
||||||
|
- Sprout note commitment trees (#3051)
|
||||||
|
- Check per-block limits on transparent signature operations (#3049)
|
||||||
|
- Calculate Block Subsidy and Funding Streams (#3017, #3040)
|
||||||
|
- Check for duplicate crate dependencies in CI (#2986)
|
||||||
|
- Add unused seed peers to the Address Book (#2974, #3019)
|
||||||
|
|
||||||
|
#### Network Upgrade 5
|
||||||
|
|
||||||
|
- Verify Halo2 proofs as part of V5 transaction verification (#2645, #3039)
|
||||||
|
- ZIP-155: Parse `addrv2` in Zebra (#3008, #3014, #3020, #3021, #3022, #3032)
|
||||||
|
- ZIP 212: validate Sapling and Orchard output of coinbase transactions (#3029)
|
||||||
|
- Validate Orchard flags in v5 (#3035)
|
||||||
|
|
||||||
|
#### Documentation
|
||||||
|
|
||||||
|
- Mempool Documentation (#2978)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Upgrade cryptographic library dependencies (#3059)
|
||||||
|
- Upgrade to Tokio 1.14.0 (#2933, #2994, #3062)
|
||||||
|
|
||||||
|
#### Documentation
|
||||||
|
|
||||||
|
- README Updates (#2996, #3006)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Stop downloading unnecessary blocks in Zebra acceptance tests (#3072)
|
||||||
|
- Implement graceful shutdown for the peer set (#3071)
|
||||||
|
- Check for panics in the address book updater task (#3064)
|
||||||
|
- Remove unused connection errors (#3054)
|
||||||
|
- Fix listener address conflicts in network tests (#3031)
|
||||||
|
|
||||||
|
### Security
|
||||||
|
|
||||||
|
- Security: Avoid reconnecting to peers that are likely unreachable (#3030)
|
||||||
|
- Security: Limit number of addresses sent to peers to avoid address book pollution (#3007)
|
||||||
|
|
||||||
## [Zebra 1.0.0-beta.0](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-beta.0) - 2021-10-29
|
## [Zebra 1.0.0-beta.0](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-beta.0) - 2021-10-29
|
||||||
|
|
||||||
This is the first beta release of Zebra. Today the mempool work is fully finished and compatible with [ZIP-401](https://zips.z.cash/zip-0401) and several security issues in the network stack are fixed. In addition to that we improved our documentation specially in the `zebrad` crate while we increased our test coverage. Finally, we get started with the task of upgrading Tokio to version 1.
|
This is the first beta release of Zebra. Today the mempool work is fully finished and compatible with [ZIP-401](https://zips.z.cash/zip-0401) and several security issues in the network stack are fixed. In addition to that we improved our documentation specially in the `zebrad` crate while we increased our test coverage. Finally, we get started with the task of upgrading Tokio to version 1.
|
||||||
|
|
|
@ -3617,7 +3617,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tower-batch"
|
name = "tower-batch"
|
||||||
version = "0.2.16"
|
version = "0.2.17"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"color-eyre",
|
"color-eyre",
|
||||||
"ed25519-zebra",
|
"ed25519-zebra",
|
||||||
|
@ -3637,7 +3637,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tower-fallback"
|
name = "tower-fallback"
|
||||||
version = "0.2.13"
|
version = "0.2.14"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures-core",
|
"futures-core",
|
||||||
"pin-project 0.4.28",
|
"pin-project 0.4.28",
|
||||||
|
@ -4307,7 +4307,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "zebra-chain"
|
name = "zebra-chain"
|
||||||
version = "1.0.0-beta.0"
|
version = "1.0.0-beta.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes",
|
"aes",
|
||||||
"bech32",
|
"bech32",
|
||||||
|
@ -4365,7 +4365,7 @@ version = "1.0.0-beta.0"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "zebra-consensus"
|
name = "zebra-consensus"
|
||||||
version = "1.0.0-beta.0"
|
version = "1.0.0-beta.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bellman",
|
"bellman",
|
||||||
"blake2b_simd",
|
"blake2b_simd",
|
||||||
|
@ -4406,7 +4406,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "zebra-network"
|
name = "zebra-network"
|
||||||
version = "1.0.0-beta.0"
|
version = "1.0.0-beta.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags",
|
"bitflags",
|
||||||
"byteorder",
|
"byteorder",
|
||||||
|
@ -4442,7 +4442,7 @@ version = "1.0.0-beta.0"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "zebra-script"
|
name = "zebra-script"
|
||||||
version = "1.0.0-beta.0"
|
version = "1.0.0-beta.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"displaydoc",
|
"displaydoc",
|
||||||
"hex",
|
"hex",
|
||||||
|
@ -4455,7 +4455,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "zebra-state"
|
name = "zebra-state"
|
||||||
version = "1.0.0-beta.0"
|
version = "1.0.0-beta.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bincode",
|
"bincode",
|
||||||
"chrono",
|
"chrono",
|
||||||
|
@ -4489,7 +4489,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "zebra-test"
|
name = "zebra-test"
|
||||||
version = "1.0.0-beta.0"
|
version = "1.0.0-beta.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"color-eyre",
|
"color-eyre",
|
||||||
"futures",
|
"futures",
|
||||||
|
@ -4512,7 +4512,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "zebra-utils"
|
name = "zebra-utils"
|
||||||
version = "1.0.0-beta.0"
|
version = "1.0.0-beta.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"color-eyre",
|
"color-eyre",
|
||||||
"hex",
|
"hex",
|
||||||
|
@ -4527,7 +4527,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "zebrad"
|
name = "zebrad"
|
||||||
version = "1.0.0-beta.0"
|
version = "1.0.0-beta.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"abscissa_core",
|
"abscissa_core",
|
||||||
"atty",
|
"atty",
|
||||||
|
|
11
README.md
11
README.md
|
@ -84,16 +84,12 @@ all applicable consensus rules as of NU5 activation.
|
||||||
Currently, Zebra does not validate the following Zcash consensus rules:
|
Currently, Zebra does not validate the following Zcash consensus rules:
|
||||||
|
|
||||||
#### NU5
|
#### NU5
|
||||||
- ZIP-155 - Parse addrv2 in Zebra
|
|
||||||
- Full validation of Orchard transactions from NU5 onwards
|
- Full validation of Orchard transactions from NU5 onwards
|
||||||
- Check that at least one of enableSpendsOrchard or enableOutputsOrchard is set
|
|
||||||
- Validation of Orchard anchors (root of the Orchard note commitment tree)
|
- Validation of Orchard anchors (root of the Orchard note commitment tree)
|
||||||
- Validation of Halo2 proofs
|
|
||||||
|
|
||||||
#### NU4 - Canopy
|
#### NU4 - Canopy
|
||||||
- Calculation of Block Subsidy and Funding streams
|
|
||||||
- Validation of coinbase miner subsidy and miner fees
|
- Validation of coinbase miner subsidy and miner fees
|
||||||
- Validation of shielded outputs for coinbase transactions (ZIP-212/ZIP-213)
|
|
||||||
|
|
||||||
#### NU1 - Sapling
|
#### NU1 - Sapling
|
||||||
- Validation of Sapling anchors (root of the Sapling note commitment tree)
|
- Validation of Sapling anchors (root of the Sapling note commitment tree)
|
||||||
|
@ -126,7 +122,7 @@ for your platform:
|
||||||
2. Install Zebra's build dependencies:
|
2. Install Zebra's build dependencies:
|
||||||
- **libclang:** the `libclang`, `libclang-dev`, `llvm`, or `llvm-dev` packages, depending on your package manager
|
- **libclang:** the `libclang`, `libclang-dev`, `llvm`, or `llvm-dev` packages, depending on your package manager
|
||||||
- **clang** or another C++ compiler: `g++`, `Xcode`, or `MSVC`
|
- **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.0 zebrad`
|
3. Run `cargo install --locked --git https://github.com/ZcashFoundation/zebra --tag v1.0.0-beta.1 zebrad`
|
||||||
4. Run `zebrad start` (see [Running Zebra](user/run.md) for more information)
|
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
|
If you're interested in testing out `zebrad` please feel free, but keep in mind
|
||||||
|
@ -201,12 +197,9 @@ See our [roadmap](#future-work) for details.
|
||||||
|
|
||||||
There are a few bugs in Zebra that we're still working on fixing:
|
There are a few bugs in Zebra that we're still working on fixing:
|
||||||
- [When Zebra receives an unexpected network message from a peer, it disconnects from that peer #2107](https://github.com/ZcashFoundation/zebra/issues/2107)
|
- [When Zebra receives an unexpected network message from a peer, it disconnects from that peer #2107](https://github.com/ZcashFoundation/zebra/issues/2107)
|
||||||
- [A Zebra instance could be used to pollute the peer addresses of other nodes #1889](https://github.com/ZcashFoundation/zebra/issues/1889)
|
|
||||||
- [Zebra's address book can use all available memory #1873](https://github.com/ZcashFoundation/zebra/issues/1873)
|
- [Zebra's address book can use all available memory #1873](https://github.com/ZcashFoundation/zebra/issues/1873)
|
||||||
- [Zebra's address book can be flooded or taken over #1869](https://github.com/ZcashFoundation/zebra/issues/1869)
|
|
||||||
- [Zebra does not evict pre-upgrade peers from the peer set across a network upgrade #706](https://github.com/ZcashFoundation/zebra/issues/706)
|
- [Zebra does not evict pre-upgrade peers from the peer set across a network upgrade #706](https://github.com/ZcashFoundation/zebra/issues/706)
|
||||||
- [Zebra accepts non-minimal height encodings #2226](https://github.com/ZcashFoundation/zebra/issues/2226)
|
- [Zebra accepts non-minimal height encodings #2226](https://github.com/ZcashFoundation/zebra/issues/2226)
|
||||||
- [Zebra nodes continually try to contact peers that always fail #1865](https://github.com/ZcashFoundation/zebra/issues/1865)
|
|
||||||
- [In rare cases, Zebra panics on shutdown #1678](https://github.com/ZcashFoundation/zebra/issues/1678)
|
- [In rare cases, Zebra panics on shutdown #1678](https://github.com/ZcashFoundation/zebra/issues/1678)
|
||||||
- For examples, see [#2055](https://github.com/ZcashFoundation/zebra/issues/2055) and [#2209](https://github.com/ZcashFoundation/zebra/issues/2209)
|
- For examples, see [#2055](https://github.com/ZcashFoundation/zebra/issues/2055) and [#2209](https://github.com/ZcashFoundation/zebra/issues/2209)
|
||||||
- These panics can be ignored, unless they happen frequently
|
- These panics can be ignored, unless they happen frequently
|
||||||
|
|
|
@ -9,7 +9,7 @@ for your platform:
|
||||||
2. Install Zebra's build dependencies:
|
2. Install Zebra's build dependencies:
|
||||||
- **libclang:** the `libclang`, `libclang-dev`, `llvm`, or `llvm-dev` packages, depending on your package manager
|
- **libclang:** the `libclang`, `libclang-dev`, `llvm`, or `llvm-dev` packages, depending on your package manager
|
||||||
- **clang** or another C++ compiler: `g++`, `Xcode`, or `MSVC`
|
- **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.0 zebrad`
|
3. Run `cargo install --locked --git https://github.com/ZcashFoundation/zebra --tag v1.0.0-beta.1 zebrad`
|
||||||
4. Run `zebrad start` (see [Running Zebra](user/run.md) for more information)
|
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
|
If you're interested in testing out `zebrad` please feel free, but keep in mind
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "tower-batch"
|
name = "tower-batch"
|
||||||
version = "0.2.16"
|
version = "0.2.17"
|
||||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "tower-fallback"
|
name = "tower-fallback"
|
||||||
version = "0.2.13"
|
version = "0.2.14"
|
||||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "zebra-chain"
|
name = "zebra-chain"
|
||||||
version = "1.0.0-beta.0"
|
version = "1.0.0-beta.1"
|
||||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "zebra-consensus"
|
name = "zebra-consensus"
|
||||||
version = "1.0.0-beta.0"
|
version = "1.0.0-beta.1"
|
||||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "zebra-network"
|
name = "zebra-network"
|
||||||
version = "1.0.0-beta.0"
|
version = "1.0.0-beta.1"
|
||||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
|
@ -150,7 +150,7 @@ pub const TIMESTAMP_TRUNCATION_SECONDS: u32 = 30 * 60;
|
||||||
/// [BIP 14]: https://github.com/bitcoin/bips/blob/master/bip-0014.mediawiki
|
/// [BIP 14]: https://github.com/bitcoin/bips/blob/master/bip-0014.mediawiki
|
||||||
//
|
//
|
||||||
// TODO: generate this from crate metadata (#2375)
|
// TODO: generate this from crate metadata (#2375)
|
||||||
pub const USER_AGENT: &str = "/Zebra:1.0.0-beta.0/";
|
pub const USER_AGENT: &str = "/Zebra:1.0.0-beta.1/";
|
||||||
|
|
||||||
/// The Zcash network protocol version implemented by this crate, and advertised
|
/// The Zcash network protocol version implemented by this crate, and advertised
|
||||||
/// during connection setup.
|
/// during connection setup.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "zebra-script"
|
name = "zebra-script"
|
||||||
version = "1.0.0-beta.0"
|
version = "1.0.0-beta.1"
|
||||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "zebra-state"
|
name = "zebra-state"
|
||||||
version = "1.0.0-beta.0"
|
version = "1.0.0-beta.1"
|
||||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "zebra-test"
|
name = "zebra-test"
|
||||||
version = "1.0.0-beta.0"
|
version = "1.0.0-beta.1"
|
||||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
name = "zebra-utils"
|
name = "zebra-utils"
|
||||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
version = "1.0.0-beta.0"
|
version = "1.0.0-beta.1"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
# Prevent accidental publication of this utility crate.
|
# Prevent accidental publication of this utility crate.
|
||||||
publish = false
|
publish = false
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
name = "zebrad"
|
name = "zebrad"
|
||||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
version = "1.0.0-beta.0"
|
version = "1.0.0-beta.1"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
repository = "https://github.com/ZcashFoundation/zebra"
|
repository = "https://github.com/ZcashFoundation/zebra"
|
||||||
# make `cargo run` use `zebrad` by default
|
# make `cargo run` use `zebrad` by default
|
||||||
|
|
Loading…
Reference in New Issue