From 9e277ed91a4b95cefae4da8aa93cedb7a980e8d9 Mon Sep 17 00:00:00 2001 From: teor Date: Thu, 30 Jun 2022 03:14:16 +1000 Subject: [PATCH] Release Zebra 1.0.0-beta.12 (#4714) * Update Zebra to 1.0.0-beta.12 * Simplify tower-* versioning by updating both to 0.2.27 * Simplify version search and replace by removing an old version from the docs * Update Cargo.lock * Add draft changelog as of PR #4693 * Update CHANGELOG to PR #4680 --- CHANGELOG.md | 114 +++++++++++++++++++++++++++++++-- Cargo.lock | 24 +++---- README.md | 5 +- book/src/user/install.md | 2 +- book/src/user/lightwalletd.md | 2 +- tower-batch/Cargo.toml | 2 +- tower-fallback/Cargo.toml | 2 +- zebra-chain/Cargo.toml | 2 +- zebra-consensus/Cargo.toml | 2 +- zebra-network/Cargo.toml | 2 +- zebra-network/src/constants.rs | 2 +- zebra-node-services/Cargo.toml | 2 +- zebra-rpc/Cargo.toml | 2 +- zebra-script/Cargo.toml | 2 +- zebra-state/Cargo.toml | 2 +- zebra-test/Cargo.toml | 2 +- zebra-utils/Cargo.toml | 2 +- zebrad/Cargo.toml | 2 +- 18 files changed, 137 insertions(+), 36 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a50b3fc6..2e0c855bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,22 +4,126 @@ 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). -## Next Release: [Zebra 1.0.0-beta.12](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-beta.12) - 2022-06-?? -This release contains some breaking changes which improve config usability, and increase compilation speed. +## Next Release (Draft) + +(Draft notes for the next release can be added here.) + + +## [Zebra 1.0.0-beta.12](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-beta.12) - 2022-06-29 + +This release improves Zebra's Orchard proof verification performance and sync performance. +Zebra prefers to connect to peers on the canonical Zcash ports. + +This release also contains some breaking changes which: +- improve usability, and +- make Zebra compile faster. ### Breaking Changes +#### Cache Deletion + +- Zebra deletes unused cached state directories in `/zebra` (#4586) + These caches only contain public chain data, so it is safe to delete them. + #### Compile-Time Features -- Most of Zebra's [tracing](https://github.com/ZcashFoundation/zebra/blob/main/book/src/user/tracing.md) and [metrics](https://github.com/ZcashFoundation/zebra/blob/main/book/src/user/metrics.md) features are off by default (#4539) +- Most of Zebra's [tracing](https://github.com/ZcashFoundation/zebra/blob/main/book/src/user/tracing.md) + and [metrics](https://github.com/ZcashFoundation/zebra/blob/main/book/src/user/metrics.md) features + are off by default at compile time (#4539, #4680) - The `enable-sentry` feature has been renamed to `sentry` (#4623) #### Config -- Times in `zebrad.config` change from seconds/nanoseconds to a [human-readable format](https://docs.rs/humantime/latest/humantime/) (#4587) +- Times in `zebrad.config` change from seconds/nanoseconds to a + [human-readable format](https://docs.rs/humantime/latest/humantime/). + Remove times in the old format, or use `zebrad generate` to create a new config. (#4587) + +### Added + +#### Diagnostics + +- Show the current network upgrade in progress logs (#4694) +- Add some missing tracing spans (#4660) +- Add tokio-console support to zebrad (#4519, #4641) +- Add `fallible_impl_from` clippy lint (#4609) +- Add `unwrap_in_result` clippy lint (#4667) + +#### Testing + +- Check that old `zebrad.toml` configs can be parsed by the latest version (#4676) +- Test `cargo doc` warnings and errors (#4635, #4654) +- Document how to run full sync and lightwalletd tests (#4523) + +#### Continuous Integration + +- Add `beta` rust to CI (#4637, #4668) +- Build each Zebra crate individually (#4640) + +### Changed + +#### Chain Sync + +- Update mainnet and testnet checkpoint hashes (#4708) + +#### Diagnostics + +- Update transaction verification dashboard to show all shielded pool sigs, proofs, nullifiers (#4585) + +#### Testing + +- Add an identifiable suffix to zcash-rpc-diff temp directories (#4577) + +#### Dependencies + +- Manage`cargo-mdbook` as a GitHub action (#4636) + +#### Continuous Integration + +- Automatically delete old GCP resources (#4598) + +#### Documentation + +- Improve the release checklist (#4568, #4595) + +### Removed + +#### Continuous Integration + +- Remove redundant build-chain-no-features job (#4656) + +### Fixed + +#### Performance + +- Upgrade `halo2` and related dependencies to improve proof verification speed (#4699) +- Change default sync config to improve reliability (#4662, #4670, #4679) +- Fix a lookahead config panic (#4662) + +#### Continuous Integration + +- Actually create a cached state image after running a sync (#4669) +- Split `docker run` into launch, `logs`, and `wait`, to avoid GitHub job timeouts (#4675, #4690) +- Ignore lightwalletd test hangs for now (#4663) +- Disable `zcash_rpc_conflict` test on macOS (#4614) +- Use `latest` lightwalletd image for Zebra's Dockerfile (#4599) +- Increase lightwalletd timeout, remove testnet tests (#4584) + +#### Documentation + +- Fix various `cargo doc` warnings (#4561, #4611, #4627) +- Clarify how Zebra and `zcashd` interact in `README.md` (#4570) +- Improve `lightwalletd` tutorial (#4566) +- Simplify README and link to detailed documentation (#4680) + +#### Diagnostics + +- Resolve some lifetime and reference lints (#4578) + +### Security + +- When connecting to peers, ignore invalid ports, and prefer canonical ports (#4564) -TODO: insert changelog here ## [Zebra 1.0.0-beta.11](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-beta.11) - 2022-06-03 diff --git a/Cargo.lock b/Cargo.lock index fe6b474da..a645677a4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5439,7 +5439,7 @@ dependencies = [ [[package]] name = "tower-batch" -version = "0.2.26" +version = "0.2.27" dependencies = [ "color-eyre", "ed25519-zebra", @@ -5459,7 +5459,7 @@ dependencies = [ [[package]] name = "tower-fallback" -version = "0.2.22" +version = "0.2.27" dependencies = [ "futures-core", "pin-project 0.4.29", @@ -6283,7 +6283,7 @@ dependencies = [ [[package]] name = "zebra-chain" -version = "1.0.0-beta.11" +version = "1.0.0-beta.12" dependencies = [ "aes", "bech32", @@ -6344,7 +6344,7 @@ version = "1.0.0-beta.0" [[package]] name = "zebra-consensus" -version = "1.0.0-beta.11" +version = "1.0.0-beta.12" dependencies = [ "bellman", "blake2b_simd 1.0.0", @@ -6386,7 +6386,7 @@ dependencies = [ [[package]] name = "zebra-network" -version = "1.0.0-beta.11" +version = "1.0.0-beta.12" dependencies = [ "arti-client", "bitflags", @@ -6423,14 +6423,14 @@ dependencies = [ [[package]] name = "zebra-node-services" -version = "1.0.0-beta.11" +version = "1.0.0-beta.12" dependencies = [ "zebra-chain", ] [[package]] name = "zebra-rpc" -version = "1.0.0-beta.11" +version = "1.0.0-beta.12" dependencies = [ "chrono", "futures", @@ -6459,7 +6459,7 @@ dependencies = [ [[package]] name = "zebra-script" -version = "1.0.0-beta.11" +version = "1.0.0-beta.12" dependencies = [ "displaydoc", "hex", @@ -6472,7 +6472,7 @@ dependencies = [ [[package]] name = "zebra-state" -version = "1.0.0-beta.11" +version = "1.0.0-beta.12" dependencies = [ "bincode", "chrono", @@ -6507,7 +6507,7 @@ dependencies = [ [[package]] name = "zebra-test" -version = "1.0.0-beta.11" +version = "1.0.0-beta.12" dependencies = [ "color-eyre", "futures", @@ -6532,7 +6532,7 @@ dependencies = [ [[package]] name = "zebra-utils" -version = "1.0.0-beta.11" +version = "1.0.0-beta.12" dependencies = [ "color-eyre", "hex", @@ -6547,7 +6547,7 @@ dependencies = [ [[package]] name = "zebrad" -version = "1.0.0-beta.11" +version = "1.0.0-beta.12" dependencies = [ "abscissa_core", "atty", diff --git a/README.md b/README.md index 2fb665d94..ed7106dca 100644 --- a/README.md +++ b/README.md @@ -76,12 +76,9 @@ 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.11 zebrad` +3. Run `cargo install --locked --git https://github.com/ZcashFoundation/zebra --tag v1.0.0-beta.12 zebrad` 4. Run `zebrad start` (see [Running Zebra](https://zebra.zfnd.org/user/run.html) for more information) -If you're interested in testing out `zebrad` please feel free, but keep in mind -that there is a lot of key functionality still missing. - For more detailed instructions, refer to the [documentation](https://zebra.zfnd.org/user/install.html). ### Optional Features diff --git a/book/src/user/install.md b/book/src/user/install.md index 4a48d9261..88fd68cdc 100644 --- a/book/src/user/install.md +++ b/book/src/user/install.md @@ -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.11 zebrad` +3. Run `cargo install --locked --git https://github.com/ZcashFoundation/zebra --tag v1.0.0-beta.12 zebrad` 4. Run `zebrad start` (see [Running Zebra](run.md) for more information) If you're interested in testing out `zebrad` please feel free, but keep in mind diff --git a/book/src/user/lightwalletd.md b/book/src/user/lightwalletd.md index 8c0fdd958..797d06b31 100644 --- a/book/src/user/lightwalletd.md +++ b/book/src/user/lightwalletd.md @@ -1,6 +1,6 @@ # Running lightwalletd with zebra -Starting on [v1.0.0-beta.11](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-beta.11), the Zebra RPC methods are fully featured to run a lightwalletd service backed by zebrad. +Zebra's RPC methods can support a lightwalletd service backed by zebrad. Contents: diff --git a/tower-batch/Cargo.toml b/tower-batch/Cargo.toml index d8fbee8c1..504e8d87d 100644 --- a/tower-batch/Cargo.toml +++ b/tower-batch/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tower-batch" -version = "0.2.26" +version = "0.2.27" authors = ["Zcash Foundation "] license = "MIT" edition = "2021" diff --git a/tower-fallback/Cargo.toml b/tower-fallback/Cargo.toml index 85f453514..bed6cfca5 100644 --- a/tower-fallback/Cargo.toml +++ b/tower-fallback/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tower-fallback" -version = "0.2.22" +version = "0.2.27" authors = ["Zcash Foundation "] license = "MIT" edition = "2021" diff --git a/zebra-chain/Cargo.toml b/zebra-chain/Cargo.toml index 3c0aa427e..55bbf814c 100644 --- a/zebra-chain/Cargo.toml +++ b/zebra-chain/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-chain" -version = "1.0.0-beta.11" +version = "1.0.0-beta.12" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-consensus/Cargo.toml b/zebra-consensus/Cargo.toml index 80c8c1a56..99ab5d3e4 100644 --- a/zebra-consensus/Cargo.toml +++ b/zebra-consensus/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-consensus" -version = "1.0.0-beta.11" +version = "1.0.0-beta.12" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-network/Cargo.toml b/zebra-network/Cargo.toml index 8a5160b44..e189c55b5 100644 --- a/zebra-network/Cargo.toml +++ b/zebra-network/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-network" -version = "1.0.0-beta.11" +version = "1.0.0-beta.12" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-network/src/constants.rs b/zebra-network/src/constants.rs index 3167dc5d3..18c4d331b 100644 --- a/zebra-network/src/constants.rs +++ b/zebra-network/src/constants.rs @@ -242,7 +242,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.11/"; +pub const USER_AGENT: &str = "/Zebra:1.0.0-beta.12/"; /// The Zcash network protocol version implemented by this crate, and advertised /// during connection setup. diff --git a/zebra-node-services/Cargo.toml b/zebra-node-services/Cargo.toml index f6d25c069..11574066f 100644 --- a/zebra-node-services/Cargo.toml +++ b/zebra-node-services/Cargo.toml @@ -2,7 +2,7 @@ name = "zebra-node-services" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" -version = "1.0.0-beta.11" +version = "1.0.0-beta.12" edition = "2021" repository = "https://github.com/ZcashFoundation/zebra" diff --git a/zebra-rpc/Cargo.toml b/zebra-rpc/Cargo.toml index 165e4a3a1..0a210b5b8 100644 --- a/zebra-rpc/Cargo.toml +++ b/zebra-rpc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-rpc" -version = "1.0.0-beta.11" +version = "1.0.0-beta.12" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-script/Cargo.toml b/zebra-script/Cargo.toml index d9f2798ff..74009de96 100644 --- a/zebra-script/Cargo.toml +++ b/zebra-script/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-script" -version = "1.0.0-beta.11" +version = "1.0.0-beta.12" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-state/Cargo.toml b/zebra-state/Cargo.toml index 56bde7134..526c8dbd0 100644 --- a/zebra-state/Cargo.toml +++ b/zebra-state/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-state" -version = "1.0.0-beta.11" +version = "1.0.0-beta.12" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-test/Cargo.toml b/zebra-test/Cargo.toml index 735b9f430..9e15ddb0c 100644 --- a/zebra-test/Cargo.toml +++ b/zebra-test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-test" -version = "1.0.0-beta.11" +version = "1.0.0-beta.12" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-utils/Cargo.toml b/zebra-utils/Cargo.toml index ff86ee896..aa924e215 100644 --- a/zebra-utils/Cargo.toml +++ b/zebra-utils/Cargo.toml @@ -2,7 +2,7 @@ name = "zebra-utils" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" -version = "1.0.0-beta.11" +version = "1.0.0-beta.12" edition = "2021" # Prevent accidental publication of this utility crate. publish = false diff --git a/zebrad/Cargo.toml b/zebrad/Cargo.toml index 473c3454d..62dcf6a59 100644 --- a/zebrad/Cargo.toml +++ b/zebrad/Cargo.toml @@ -2,7 +2,7 @@ name = "zebrad" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" -version = "1.0.0-beta.11" +version = "1.0.0-beta.12" edition = "2021" # Zebra is only supported on the latest stable Rust version. Some earlier versions might work. # Zebra uses features introduced in Rust 1.58.