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
<OS-specific cache dir>/zebra
(#4586)
These caches only contain public chain data, so it is safe to delete them.
Compile-Time Features
- Most of Zebra's tracing and metrics features are off by default at compile time (#4539, #4680)
- The
enable-sentry
feature has been renamed tosentry
(#4623)
Config
- Times in
zebrad.config
change from seconds/nanoseconds to a human-readable format.
Remove times in the old format, or usezebrad 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
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
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
, andwait
, 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 inREADME.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)