diff --git a/CHANGELOG.md b/CHANGELOG.md index f08e93ec..be4a6529 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,90 @@ 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.11](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-beta.11) - 2022-06-03 + +This release cleans up a lot of tech dept accumulated in the previous +development and improves the documentation. + +### Added + +- Log the tracing level when it is set or reloaded (#4515) + +#### CI + +- Add a codespell linting action (#4482) +- Add grpc tests to CI (#4453) +- Require network names in cached state disk names (#4392) + +#### RPC + +- Add support for `verbosity=1` in getblock (#4511) +- Add `z_gettreestate` gRPC tests (#4455) + +#### Documentation + +- Explain what Zebra does when it starts up (#4502) +- Add a lightwalletd tutorial (#4526) + +### Changed + +- Immediately disconnect from pre-NU5 nodes (#4538) +- Upgrade tracing-subscriber and related dependencies (#4517) +- Disable debug logging at compile time in release builds (#4516) +- Activate the mempool after 2 syncer runs at the chain tip, rather than 4 (#4501) +- Run coverage on stable (#4465) +- Allow more time for tests to end gracefully (#4469) +- Do not create draft PRs if not needed (#4540) + +#### Rust Dependencies + +- Bump inferno from 0.11.3 to 0.11.4 (#4534) +- Bump insta from 1.14.0 to 1.14.1 (#4542) +- Bump log from 0.4.14 to 0.4.17 (#4530) +- Bump serde_with from 1.13.0 to 1.14.0 (#4532) +- Bump indexmap from 1.8.1 to 1.8.2 (#4531) +- Bump vergen from 7.1.0 to 7.2.0 (#4521) +- Bump prost from 0.10.3 to 0.10.4 (#4490) +- Bump regex from 1.5.5 to 1.5.6 (#4463) +- Bump once_cell from 1.11.0 to 1.12.0 (#4462) +- Bump once_cell from 1.10.0 to 1.11.0 (#4447) + + +#### CI Dependencies + +- Bump tj-actions/changed-files from 20 to 21 (#4510) +- Bump google-github-actions/auth from 0.7.3 to 0.8.0 (#4478) +- Bump tj-actions/changed-files from 21 to 22 (#4541) +- Bump w9jds/firebase-action from 2.1.0 to 2.1.2 (#4431) +- Bump reviewdog/action-actionlint from 1.24.0 to 1.25.0 (#4432) +- Bump reviewdog/action-actionlint from 1.25.0 to 1.25.1 (#4479) + +### Fixed + +- Index spending transaction IDs for each address (#4355) +- Resolve various clippy warnings (#4473) + +#### Documentation + +- Fix various doc warnings (#4514) +- Fix the syntax of links in comments (#4494) + +#### CI + +- Test RPCs with zcash/lightwalletd, to fix post-NU5 failures in adityapk00/lightwalletd (#4553) +- Add lightwalletd gRPC, clippy, rustfmt patch jobs (#4518) +- Permanently fix unreliable sync finished log regex (#4504) +- Always run patch jobs that depend on cached cloud disks (#4496) +- Temporarily finish full sync at 99% (#4457) +- Increase clippy timeout (#4472) +- Set a network env variable to be used in get-available-disks (#4477) +- Temporarily stop full sync at 97%, but send transactions at 100% (#4483) +- Mount the `lwd-cache` dir to the lightwalletd-full-sync (#4486) +- Require cached state for the send transactions test (#4487) +- Make reusable workflow job names match patch job names (#4466) +- Update docker patch jobs for recent changes (#4460) + + ## [Zebra 1.0.0-beta.10](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-beta.10) - 2022-05-19 Zebra's latest beta continues adding support for `lightwalletd` RPC methods and continues with the testing of each of these features. Also, this beta sets the NU5 mainnet activation height. @@ -32,7 +116,7 @@ Zebra's latest beta continues adding support for `lightwalletd` RPC methods and #### Rust Dependencies -- orchard, redjubjub, jubjub, group, bls12_381, bitvec, halo2, jubjub, primitive_types, +- orchard, redjubjub, jubjub, group, bls12_381, bitvec, halo2, jubjub, primitive_types, librustzcash, zcash_history, zcash_encoding, bellman, zcash_script, incrementalmerkletree (#4405) - vergen from 7.0.0 to 7.1.0 (#4420) - tokio-util from 0.7.1 to 0.7.2 (#4406) diff --git a/Cargo.lock b/Cargo.lock index e1c058e1..180e2378 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5326,7 +5326,7 @@ dependencies = [ [[package]] name = "tower-batch" -version = "0.2.25" +version = "0.2.26" dependencies = [ "color-eyre", "ed25519-zebra", @@ -5346,7 +5346,7 @@ dependencies = [ [[package]] name = "tower-fallback" -version = "0.2.21" +version = "0.2.22" dependencies = [ "futures-core", "pin-project 0.4.29", @@ -6133,7 +6133,7 @@ dependencies = [ [[package]] name = "zebra-chain" -version = "1.0.0-beta.10" +version = "1.0.0-beta.11" dependencies = [ "aes", "bech32", @@ -6194,7 +6194,7 @@ version = "1.0.0-beta.0" [[package]] name = "zebra-consensus" -version = "1.0.0-beta.10" +version = "1.0.0-beta.11" dependencies = [ "bellman", "blake2b_simd 1.0.0", @@ -6236,7 +6236,7 @@ dependencies = [ [[package]] name = "zebra-network" -version = "1.0.0-beta.10" +version = "1.0.0-beta.11" dependencies = [ "arti-client", "bitflags", @@ -6271,14 +6271,14 @@ dependencies = [ [[package]] name = "zebra-node-services" -version = "1.0.0-beta.10" +version = "1.0.0-beta.11" dependencies = [ "zebra-chain", ] [[package]] name = "zebra-rpc" -version = "1.0.0-beta.10" +version = "1.0.0-beta.11" dependencies = [ "chrono", "futures", @@ -6307,7 +6307,7 @@ dependencies = [ [[package]] name = "zebra-script" -version = "1.0.0-beta.10" +version = "1.0.0-beta.11" dependencies = [ "displaydoc", "hex", @@ -6320,7 +6320,7 @@ dependencies = [ [[package]] name = "zebra-state" -version = "1.0.0-beta.10" +version = "1.0.0-beta.11" dependencies = [ "bincode", "chrono", @@ -6355,7 +6355,7 @@ dependencies = [ [[package]] name = "zebra-test" -version = "1.0.0-beta.10" +version = "1.0.0-beta.11" dependencies = [ "color-eyre", "futures", @@ -6380,7 +6380,7 @@ dependencies = [ [[package]] name = "zebra-utils" -version = "1.0.0-beta.10" +version = "1.0.0-beta.11" dependencies = [ "color-eyre", "hex", @@ -6395,7 +6395,7 @@ dependencies = [ [[package]] name = "zebrad" -version = "1.0.0-beta.10" +version = "1.0.0-beta.11" dependencies = [ "abscissa_core", "atty", diff --git a/README.md b/README.md index 8b3e8794..79b4c425 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,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.10 zebrad` + 3. Run `cargo install --locked --git https://github.com/ZcashFoundation/zebra --tag v1.0.0-beta.11 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 @@ -171,7 +171,7 @@ If this is a problem for you, please [open a ticket.](https://github.com/ZcashFoundation/zebra/issues/new/choose) `zebrad`'s typical mainnet network usage is: -- Initial sync: 30 GB download +- Initial sync: 31 GB download - Ongoing updates: 10-100 MB upload and download per day, depending on peer requests Zebra also performs an initial sync every time its internal database version changes. @@ -206,24 +206,14 @@ So Zebra's state should always be valid, unless your OS or disk hardware is corr ## Known Issues There are a few bugs in Zebra that we're still working on fixing: -- [Old state versions are not deleted](https://github.com/ZcashFoundation/zebra/issues/1213) +- [Old state versions are not deleted #1213](https://github.com/ZcashFoundation/zebra/issues/1213) - When Zebra changes its state format, it does not delete the old state directory. You can delete old state directories if you need the space. - [No Windows support #3801](https://github.com/ZcashFoundation/zebra/issues/3801) - We used to test with Windows Server 2019, but not anymore; see issue for details -- [In rare cases, Zebra panics on shutdown #1678](https://github.com/ZcashFoundation/zebra/issues/1678) - - See [#2209](https://github.com/ZcashFoundation/zebra/issues/2209) for an example. - - These panics can be ignored, unless they happen frequently. -- [Interrupt handler does not work when a blocking task is running #1351](https://github.com/ZcashFoundation/zebra/issues/1351) - - Zebra should eventually exit once the task finishes. Or you can forcibly terminate the process. ## Future Work -In 2022, we intend to start adding RPC support and start adding wallet integrations. -This phased approach allows us to test Zebra's independent implementation of the -consensus rules, before asking users to entrust it with their funds. - Features: -- RPC functionality - Wallet functionality Performance and Reliability: diff --git a/book/src/user/install.md b/book/src/user/install.md index df8fca52..4a48d926 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.10 zebrad` +3. Run `cargo install --locked --git https://github.com/ZcashFoundation/zebra --tag v1.0.0-beta.11 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/tower-batch/Cargo.toml b/tower-batch/Cargo.toml index a798b09d..1716d5ae 100644 --- a/tower-batch/Cargo.toml +++ b/tower-batch/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tower-batch" -version = "0.2.25" +version = "0.2.26" authors = ["Zcash Foundation "] license = "MIT" edition = "2021" diff --git a/tower-fallback/Cargo.toml b/tower-fallback/Cargo.toml index a129de90..16398b6d 100644 --- a/tower-fallback/Cargo.toml +++ b/tower-fallback/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tower-fallback" -version = "0.2.21" +version = "0.2.22" authors = ["Zcash Foundation "] license = "MIT" edition = "2021" diff --git a/zebra-chain/Cargo.toml b/zebra-chain/Cargo.toml index 4a2dc027..46ab56a4 100644 --- a/zebra-chain/Cargo.toml +++ b/zebra-chain/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-chain" -version = "1.0.0-beta.10" +version = "1.0.0-beta.11" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-consensus/Cargo.toml b/zebra-consensus/Cargo.toml index 0981b907..b27d9f87 100644 --- a/zebra-consensus/Cargo.toml +++ b/zebra-consensus/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-consensus" -version = "1.0.0-beta.10" +version = "1.0.0-beta.11" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-network/Cargo.toml b/zebra-network/Cargo.toml index 649d887b..2a220588 100644 --- a/zebra-network/Cargo.toml +++ b/zebra-network/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-network" -version = "1.0.0-beta.10" +version = "1.0.0-beta.11" 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 5078c520..22253dce 100644 --- a/zebra-network/src/constants.rs +++ b/zebra-network/src/constants.rs @@ -239,7 +239,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.10/"; +pub const USER_AGENT: &str = "/Zebra:1.0.0-beta.11/"; /// 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 a051e0a9..f6d25c06 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.10" +version = "1.0.0-beta.11" edition = "2021" repository = "https://github.com/ZcashFoundation/zebra" diff --git a/zebra-rpc/Cargo.toml b/zebra-rpc/Cargo.toml index 7b009494..d0919836 100644 --- a/zebra-rpc/Cargo.toml +++ b/zebra-rpc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-rpc" -version = "1.0.0-beta.10" +version = "1.0.0-beta.11" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-script/Cargo.toml b/zebra-script/Cargo.toml index 6b1ab3e6..d9f2798f 100644 --- a/zebra-script/Cargo.toml +++ b/zebra-script/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-script" -version = "1.0.0-beta.10" +version = "1.0.0-beta.11" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-state/Cargo.toml b/zebra-state/Cargo.toml index 9b2547a7..22550f09 100644 --- a/zebra-state/Cargo.toml +++ b/zebra-state/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-state" -version = "1.0.0-beta.10" +version = "1.0.0-beta.11" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-test/Cargo.toml b/zebra-test/Cargo.toml index 021e954e..4278fca2 100644 --- a/zebra-test/Cargo.toml +++ b/zebra-test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-test" -version = "1.0.0-beta.10" +version = "1.0.0-beta.11" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-utils/Cargo.toml b/zebra-utils/Cargo.toml index 003c63b4..ff86ee89 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.10" +version = "1.0.0-beta.11" edition = "2021" # Prevent accidental publication of this utility crate. publish = false diff --git a/zebrad/Cargo.toml b/zebrad/Cargo.toml index ceacbaab..4829c2b9 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.10" +version = "1.0.0-beta.11" 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.