chore: Release Zebra 1.0.0-beta.15 (#5194)
* Initial beta.15 changelog * Increment Zebra versions and remove known issues * Document `protoc` dependency for `lightwalletd` tests * Explain latest sync time * s/coverate/coverage/ Co-authored-by: Marek <mail@marek.onl> * Style Co-authored-by: Marek <mail@marek.onl> Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com> Co-authored-by: Marek <mail@marek.onl>
This commit is contained in:
parent
202dc43b11
commit
f8ead710c3
143
CHANGELOG.md
143
CHANGELOG.md
|
@ -4,7 +4,146 @@ 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.14](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-beta.13) - 2022-08-30
|
||||
## [Zebra 1.0.0-beta.15](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-beta.15) - 2022-09-20
|
||||
|
||||
This release improves Zebra's sync and RPC performance, improves test coverage and reliability, and starts creating Docker Hub binaries for releases.
|
||||
|
||||
It also changes some of `zebra-network`'s unstable Rust APIs to provide more peer metadata.
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
This release has the following breaking changes:
|
||||
- Zebra's JSON-RPC server has an isolated thread pool, which is single threaded by default (#4806).
|
||||
Multi-threaded RPCs disable port conflict detection, allowing multiple Zebra instances to share
|
||||
the same RPC port (#5013).
|
||||
To activate multi-threaded RPC server requests, add this config to your `zebrad.toml`:
|
||||
|
||||
```toml
|
||||
[rpc]
|
||||
parallel_cpu_threads = 0
|
||||
```
|
||||
|
||||
- Docker users can now specify a custom `zebrad` config file path (#5163, #5177).
|
||||
As part of this feature, the default config path in the Docker image was changed.
|
||||
|
||||
- `zebrad` now uses a non-blocking tracing logger (#5032).
|
||||
If the log buffer fills up, Zebra will discard any additional logs.
|
||||
Moving logging to a separate thread also changes the timing of some logs,
|
||||
this is unlikely to affect most users.
|
||||
|
||||
- Zebra's gRPC tests need `protoc` installed (#5009).
|
||||
If you are running Zebra's `lightwalletd` gRPC test suite, [see the `tonic` README for details.](https://github.com/hyperium/tonic#dependencies)
|
||||
|
||||
### Added
|
||||
|
||||
#### Releasing Zebra
|
||||
|
||||
- Create Docker hub binaries when tagging releases (#5138)
|
||||
- Document how Zebra is versioned and released (#4917, #5026)
|
||||
- Allow manual Release Drafter workflow runs (#5165)
|
||||
|
||||
#### Network Peer Rust APIs
|
||||
|
||||
Note: Zebra's Rust APIs are unstable, they are not covered by semantic versioning.
|
||||
|
||||
- Return peer metadata from `connect_isolated` functions (#4870)
|
||||
|
||||
#### Testing
|
||||
|
||||
- Check that the latest Zebra version can parse previous configs (#5112)
|
||||
- Test disabled `lightwalletd` mempool gRPCs via zebrad logs (#5016)
|
||||
|
||||
#### Documentation
|
||||
|
||||
- Document why Zebra does a UTXO check that looks redundant (#5106)
|
||||
- Document how Zebra CI works (#5038, #5080, #5100, #5105, #5017)
|
||||
|
||||
### Changed
|
||||
|
||||
#### Zebra JSON-RPCs
|
||||
|
||||
- Breaking: Add a config for multi-threaded RPC server requests (#5013)
|
||||
- Isolate RPC queries from the rest of Zebra, to improve performance (#4806)
|
||||
|
||||
#### Zebra State
|
||||
|
||||
- Send treestates from non-finalized state to finalized state, rather than re-calculating them (#4721)
|
||||
- Run StateService read requests without shared mutable chain state (#5132, #5107)
|
||||
- Move the finalized block queue to the StateService (#5152)
|
||||
- Simplify StateService request processing and metrics tracking (#5137)
|
||||
|
||||
#### Block Checkpoints
|
||||
|
||||
- Update Zebra checkpoints (#5130)
|
||||
|
||||
#### Docker Images
|
||||
|
||||
- Breaking: Allow Docker users to specify a custom `zebrad` config file path (#5163, #5177)
|
||||
|
||||
#### Continuous Integration and Deployment
|
||||
|
||||
- Wait 1 day before creating cached state image updates (#5088)
|
||||
- Delete cached state images older than 2 days, but keep a few recent images
|
||||
(#5113, #5124, #5082, #5079)
|
||||
- Simplify GitHub actions caches (#5104)
|
||||
- Use 200GB disks for managed instances (#5084)
|
||||
- Improve test reliability and test output readability (#5014)
|
||||
|
||||
#### Zebra Dependencies
|
||||
|
||||
- Breaking: Update prost, tonic, tonic-build and console-subscriber to the latest versions (#5009)
|
||||
- Upgrade `zcash\_script` and other shared zcash dependencies (#4926)
|
||||
- Update deny.toml developer docs and file comments (#5151, #5070)
|
||||
- Update other Zebra Rust dependencies to the latest versions
|
||||
(#5150, #5160, #5176, #5149, #5136, #5135, #5118, #5009, #5074, #5071, #5037, #5020, #4914,
|
||||
#5057, #5058, #5047, #4984, #5021, #4998, #4916, #5022, #4912, #5018, #5019)
|
||||
|
||||
#### CI Dependencies
|
||||
|
||||
- Update Zebra CI dependencies to the latest versions (#5159, #5148, #5117, #5073, #5029)
|
||||
|
||||
### Removed
|
||||
|
||||
#### Continuous Integration
|
||||
|
||||
- Disable beta Rust tests (#5090, #5024)
|
||||
|
||||
### Fixed
|
||||
|
||||
#### Logging
|
||||
|
||||
- Breaking: Switch `zebrad` to a non-blocking tracing logger (#5032)
|
||||
|
||||
#### Testing
|
||||
|
||||
- Increase full sync timeout to 32 hours (#5172, #5129)
|
||||
- Disable unreliable RPC port conflict tests on Windows and macOS (#5072)
|
||||
- Increase slow code log thresholds to reduce verbose logs and warnings (#4997)
|
||||
|
||||
#### Continuous Integration
|
||||
|
||||
- Fix full sync CI failures by adding an extra GitHub job (#5166)
|
||||
- Make checkpoint disk image names short enough for Google Cloud (#5128)
|
||||
- Label lightwalletd cached state images with their sync height (#5086)
|
||||
|
||||
#### Lints
|
||||
|
||||
- Fix various Rust clippy lints (#5131, #5045)
|
||||
- Fix a failure in `tj-actions/changed-files` on push (#5097)
|
||||
|
||||
#### Documentation
|
||||
|
||||
- Enable all cargo features in Zebra's deployed documentation (#5156)
|
||||
|
||||
### Security
|
||||
|
||||
#### JSON-RPC Server
|
||||
|
||||
- Isolate RPC queries from the rest of Zebra,
|
||||
so that `lightwalletd` clients are more isolated from each other (#4806)
|
||||
|
||||
|
||||
## [Zebra 1.0.0-beta.14](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-beta.14) - 2022-08-30
|
||||
|
||||
This release contains a variety of CI fixes, test fixes and dependency updates.
|
||||
It contains two breaking changes:
|
||||
|
@ -229,7 +368,7 @@ This release also contains some breaking changes which:
|
|||
|
||||
#### Chain Sync
|
||||
|
||||
- Update mainnet and testnet checkpoint hashes (#4708)
|
||||
- Update mainnet and testnet checkpoint hashes (#4708)
|
||||
|
||||
#### Diagnostics
|
||||
|
||||
|
|
|
@ -5462,7 +5462,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "tower-batch"
|
||||
version = "0.2.29"
|
||||
version = "0.2.30"
|
||||
dependencies = [
|
||||
"color-eyre",
|
||||
"ed25519-zebra",
|
||||
|
@ -5486,7 +5486,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "tower-fallback"
|
||||
version = "0.2.29"
|
||||
version = "0.2.30"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
"pin-project 0.4.30",
|
||||
|
@ -6350,7 +6350,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "zebra-chain"
|
||||
version = "1.0.0-beta.14"
|
||||
version = "1.0.0-beta.15"
|
||||
dependencies = [
|
||||
"aes",
|
||||
"bech32 0.9.1",
|
||||
|
@ -6414,7 +6414,7 @@ version = "1.0.0-beta.0"
|
|||
|
||||
[[package]]
|
||||
name = "zebra-consensus"
|
||||
version = "1.0.0-beta.14"
|
||||
version = "1.0.0-beta.15"
|
||||
dependencies = [
|
||||
"bellman",
|
||||
"blake2b_simd",
|
||||
|
@ -6458,7 +6458,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "zebra-network"
|
||||
version = "1.0.0-beta.14"
|
||||
version = "1.0.0-beta.15"
|
||||
dependencies = [
|
||||
"arti-client",
|
||||
"bitflags",
|
||||
|
@ -6496,14 +6496,14 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "zebra-node-services"
|
||||
version = "1.0.0-beta.14"
|
||||
version = "1.0.0-beta.15"
|
||||
dependencies = [
|
||||
"zebra-chain",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zebra-rpc"
|
||||
version = "1.0.0-beta.14"
|
||||
version = "1.0.0-beta.15"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"futures",
|
||||
|
@ -6533,7 +6533,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "zebra-script"
|
||||
version = "1.0.0-beta.14"
|
||||
version = "1.0.0-beta.15"
|
||||
dependencies = [
|
||||
"displaydoc",
|
||||
"hex",
|
||||
|
@ -6546,7 +6546,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "zebra-state"
|
||||
version = "1.0.0-beta.14"
|
||||
version = "1.0.0-beta.15"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"chrono",
|
||||
|
@ -6583,7 +6583,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "zebra-test"
|
||||
version = "1.0.0-beta.14"
|
||||
version = "1.0.0-beta.15"
|
||||
dependencies = [
|
||||
"color-eyre",
|
||||
"futures",
|
||||
|
@ -6610,7 +6610,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "zebra-utils"
|
||||
version = "1.0.0-beta.14"
|
||||
version = "1.0.0-beta.15"
|
||||
dependencies = [
|
||||
"color-eyre",
|
||||
"hex",
|
||||
|
@ -6626,7 +6626,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "zebrad"
|
||||
version = "1.0.0-beta.14"
|
||||
version = "1.0.0-beta.15"
|
||||
dependencies = [
|
||||
"abscissa_core",
|
||||
"atty",
|
||||
|
|
|
@ -87,7 +87,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.14 zebrad`
|
||||
3. Run `cargo install --locked --git https://github.com/ZcashFoundation/zebra --tag v1.0.0-beta.15 zebrad`
|
||||
4. Run `zebrad start` (see [Running Zebra](https://zebra.zfnd.org/user/run.html) for more information)
|
||||
|
||||
For more detailed instructions, refer to the [documentation](https://zebra.zfnd.org/user/install.html).
|
||||
|
@ -220,10 +220,6 @@ There are a few bugs in Zebra that we're still working on fixing:
|
|||
- 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
|
||||
|
||||
### Performance
|
||||
|
||||
- Revert deserializing state transactions in rayon threads [#4831](https://github.com/ZcashFoundation/zebra/issues/4831)
|
||||
|
||||
## Future Work
|
||||
|
||||
Performance and Reliability:
|
||||
|
|
|
@ -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.14 zebrad`
|
||||
3. Run `cargo install --locked --git https://github.com/ZcashFoundation/zebra --tag v1.0.0-beta.15 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
|
||||
|
|
|
@ -130,7 +130,12 @@ Wait until lightwalletd is in sync before connecting any wallet into it. You wil
|
|||
## Run tests
|
||||
[#run-tests]: (#run-tests)
|
||||
|
||||
The Zebra team created tests for the interaction of zebra and lightwalletd.
|
||||
The Zebra team created tests for the interaction of `zebrad` and `lightwalletd`.
|
||||
|
||||
To run all the Zebra `lightwalletd` tests:
|
||||
1. install `lightwalletd`
|
||||
2. install `protoc`
|
||||
3. build Zebra with `--features=lightwalletd-grpc-tests`
|
||||
|
||||
Please refer to [acceptance](https://github.com/ZcashFoundation/zebra/blob/main/zebrad/tests/acceptance.rs) tests documentation in the `Lightwalletd tests` section.
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ If this is a problem for you, please let us know!
|
|||
|
||||
## Improving Performance
|
||||
|
||||
Zebra usually syncs in 4-12 hours, depending on the network connection.
|
||||
Zebra usually syncs in around a day, depending on your network connection, and the overall Zcash network load.
|
||||
|
||||
If you're having trouble syncing, try the following config changes:
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "tower-batch"
|
||||
version = "0.2.29"
|
||||
version = "0.2.30"
|
||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||
license = "MIT"
|
||||
edition = "2021"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "tower-fallback"
|
||||
version = "0.2.29"
|
||||
version = "0.2.30"
|
||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||
license = "MIT"
|
||||
edition = "2021"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "zebra-chain"
|
||||
version = "1.0.0-beta.14"
|
||||
version = "1.0.0-beta.15"
|
||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||
license = "MIT OR Apache-2.0"
|
||||
edition = "2021"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "zebra-consensus"
|
||||
version = "1.0.0-beta.14"
|
||||
version = "1.0.0-beta.15"
|
||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||
license = "MIT OR Apache-2.0"
|
||||
edition = "2021"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "zebra-network"
|
||||
version = "1.0.0-beta.14"
|
||||
version = "1.0.0-beta.15"
|
||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||
license = "MIT OR Apache-2.0"
|
||||
edition = "2021"
|
||||
|
|
|
@ -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.14/";
|
||||
pub const USER_AGENT: &str = "/Zebra:1.0.0-beta.15/";
|
||||
|
||||
/// The Zcash network protocol version implemented by this crate, and advertised
|
||||
/// during connection setup.
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
name = "zebra-node-services"
|
||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||
license = "MIT OR Apache-2.0"
|
||||
version = "1.0.0-beta.14"
|
||||
version = "1.0.0-beta.15"
|
||||
edition = "2021"
|
||||
repository = "https://github.com/ZcashFoundation/zebra"
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "zebra-rpc"
|
||||
version = "1.0.0-beta.14"
|
||||
version = "1.0.0-beta.15"
|
||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||
license = "MIT OR Apache-2.0"
|
||||
edition = "2021"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "zebra-script"
|
||||
version = "1.0.0-beta.14"
|
||||
version = "1.0.0-beta.15"
|
||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||
license = "MIT OR Apache-2.0"
|
||||
edition = "2021"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "zebra-state"
|
||||
version = "1.0.0-beta.14"
|
||||
version = "1.0.0-beta.15"
|
||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||
license = "MIT OR Apache-2.0"
|
||||
edition = "2021"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "zebra-test"
|
||||
version = "1.0.0-beta.14"
|
||||
version = "1.0.0-beta.15"
|
||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||
license = "MIT OR Apache-2.0"
|
||||
edition = "2021"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
name = "zebra-utils"
|
||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||
license = "MIT OR Apache-2.0"
|
||||
version = "1.0.0-beta.14"
|
||||
version = "1.0.0-beta.15"
|
||||
edition = "2021"
|
||||
# Prevent accidental publication of this utility crate.
|
||||
publish = false
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
name = "zebrad"
|
||||
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
||||
license = "MIT OR Apache-2.0"
|
||||
version = "1.0.0-beta.14"
|
||||
version = "1.0.0-beta.15"
|
||||
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.
|
||||
|
|
Loading…
Reference in New Issue