193 lines
7.9 KiB
Markdown
193 lines
7.9 KiB
Markdown
Notable changes
|
||
===============
|
||
|
||
Wallet Performance Improvements
|
||
-------------------------------
|
||
|
||
`zcashd 5.2.0` improved the performance of wallet scanning with multithreaded
|
||
batched trial decryption of Sapling outputs. However, for some nodes this
|
||
resulted in growing memory usage that would eventually cause an OOM abort. We
|
||
have identified the cause of the growth, and made significant improvements to
|
||
reduce the memory usage of the batch scanner. In addition, the batch scanner now
|
||
has a memory limit of 100 MiB.
|
||
|
||
`zcashd` now reports the following new metrics when `-prometheusport` is set:
|
||
|
||
- (counter) `zcashd.wallet.batchscanner.outputs.scanned`
|
||
- (gauge) `zcashd.wallet.batchscanner.size.transactions`
|
||
- (gauge) `zcashd.wallet.batchscanner.usage.bytes`
|
||
- (gauge) `zcashd.wallet.synced.block.height`
|
||
|
||
RPC Interface
|
||
-------------
|
||
|
||
- The `finalorchardroot` field in the `getblock` result and the
|
||
`orchard.commitments.finalRoot` field in the `z_gettreestate` result have
|
||
been changed to match the byte ordering used for the `orchard.anchor`
|
||
field in the `getrawtransaction` result. These previously produced different
|
||
hash values from the `orchard.anchor` field due to having been byte-flipped
|
||
in their internal representation in zcashd.
|
||
|
||
Changelog
|
||
=========
|
||
|
||
Alex (1):
|
||
build: update book.yml Signed-off-by: sashashura <93376818+sashashura@users.noreply.github.com>
|
||
|
||
Alex Wied (2):
|
||
cuckoocache: Add missing header
|
||
build: Reorder link targets to properly build on Nix
|
||
|
||
Andrés G. Aragoneses (1):
|
||
autogen.sh: warn about needing autoconf if autoreconf is not found
|
||
|
||
Ben Woosley (1):
|
||
doc: Correct spelling errors in comments
|
||
|
||
Conrado Gouvea (1):
|
||
Include algorithm.h in cuckoocache.h
|
||
|
||
Daira Hopwood (9):
|
||
Add contrib/debian/copyright entry for crc32c.
|
||
Apply suggestions from code review
|
||
Update doc/book/src/user/security-warnings.md
|
||
Update librustzcash commit and adapt to changes in `DiversifierKey`.
|
||
Avoid an implicit clone of the Orchard bundle in ContextualCheckTransaction.
|
||
Use prepared epks and ivks in trial decryption.
|
||
Audit dependency updates.
|
||
Include memory usage of the `tags` vector. This fixes *one* of the bugs pointed out by @str4d at https://github.com/zcash/zcash/pull/6156/files#r979122874
|
||
Always use a tuple as right argument of % in new Python code.
|
||
|
||
DeckerSU (2):
|
||
miner: fix MAXSOLS
|
||
test_framework: fix AttributeError in sapling_spends_compact_digest
|
||
|
||
Greg Pfeil (20):
|
||
Eliminate indirection for debug log
|
||
Define some basic cross-editor configuration
|
||
Canonicalize some user-provided paths
|
||
Add an `rpc-tests` make target
|
||
Add simplejson to requirements for rpc-tests
|
||
Also canonicalize paramsdir.
|
||
Backport tor.md changes from readthedocs
|
||
Don't recommend -reindex-chainstate.
|
||
Add a finalorchardroot RPC test
|
||
Fix finalorchardroot serialization
|
||
Apply suggestions from code review
|
||
Fix display of binary name in error messages.
|
||
Address review feedback and fixed test failures
|
||
Add test for `zcashd --help`
|
||
Fix `zcashd --help`
|
||
Apply suggestions from code review
|
||
Qualify a `string`
|
||
Don’t define wallet-needing code when --disable-wallet
|
||
make-release.py: Versioning changes for 5.3.0.
|
||
make-release.py: Updated manpages for 5.3.0.
|
||
|
||
Hennadii Stepanov (5):
|
||
Enable ShellCheck rules
|
||
script: Lint Gitian descriptors with ShellCheck
|
||
script: Enable SC2006 rule for Gitian scripts
|
||
script: Enable SC2155 rule for Gitian scripts
|
||
script: Enable SC2001 rule for Gitian scripts
|
||
|
||
Jack Grigg (53):
|
||
Squashed 'src/leveldb/' changes from f545dfabff..f8ae182c1e
|
||
Squashed 'src/crc32c/' content from commit 224988680f
|
||
depends: Update Rust to 1.62.1
|
||
depends: Update Clang / libcxx to LLVM 14.0.6
|
||
depends: Update Rust to 1.63.0
|
||
CI: Migrate to published versions of cargo-vet
|
||
rust: Update some of the pinned dependencies
|
||
rust: Add `zcash-inspect` binary for inspecting Zcash data
|
||
rust: Add P2PKH signature checking to `zcash-inspect`
|
||
rust: Add address inspection to `zcash-inspect`
|
||
rust: Add mnemonic phrase inspection to `zcash-inspect`
|
||
rust: Simplify `next_pow2` in `zcash-inspect`
|
||
rust: Place tighter bound on encoded heights in `zcash-inspect`
|
||
lint: Fix shell lints
|
||
CI: Enforce shell lints to prevent regression
|
||
lint: Fix ShellCheck lints in Zcash scripts
|
||
lint: Disable some ShellChecks on Gitian descriptors
|
||
rust: Add shielded sighash to `zcash-inspect` output for txs
|
||
rust: `zcash-inspect` 32-byte hex as maybe a commitment or nullifier
|
||
build: Build Rust library and binaries at the same time
|
||
rust: Migrate to latest `zcash_primitives` revision
|
||
rust: Migrate Rust tests to latest `zcash_primitives` revision
|
||
wallet: Use `auto&` to avoid copying inside `ThreadNotifyWallets`
|
||
wallet: Refactor `ThreadNotifyWallets` to support batch memory limits
|
||
wallet: Add dynamic memory usage tracking to `BatchScanner`
|
||
wallet: Collect metrics on the number of scanned outputs
|
||
wallet: Set a memory limit of 100 MiB for batch scanning
|
||
wallet: Only store successful trial decryptions in batch scanner
|
||
depends: Update Rust to 1.64.0
|
||
qa: Postpone dependencies that require CMake
|
||
qa: Postpone Clang 15 to retain LLVM 14 pin
|
||
depends: Update cxx to 1.0.76
|
||
depends: Update Boost to 1.80.0
|
||
Fix clippy lints
|
||
qa: Add audit policies for patched Rust crates
|
||
metrics: Add gauge for the height to which the wallet is synced
|
||
wallet: Move heap tracking of batch tasks behind a trait
|
||
wallet: Correctly track heap usage of batch items
|
||
wallet: Improve estimation of `rayon` spawned task size
|
||
Squashed 'src/secp256k1/' changes from a4abaab793..efad3506a8
|
||
Squashed 'src/secp256k1/' changes from efad3506a8..1758a92ffd
|
||
build: Disable secp256k1 OpenSSL tests
|
||
wallet: Remove lock on cs_main from CWallet::ChainTip
|
||
rust: Update to `metrics 0.20`
|
||
depends: Update cxx to 1.0.78
|
||
qa: Postpone Clang 15.0.2
|
||
rust: Update to `cpufeatures 0.2.5`
|
||
qa: Recommend cargo-upgrades instead of cargo-outdated
|
||
rust: Audit some dependency updates
|
||
rust: Update remaining dependencies
|
||
make-release.py: Versioning changes for 5.3.0-rc1.
|
||
make-release.py: Updated manpages for 5.3.0-rc1.
|
||
make-release.py: Updated release notes and changelog for 5.3.0-rc1.
|
||
|
||
James White (1):
|
||
Add IPv6 support to qos.sh
|
||
|
||
Kris Nuttycombe (12):
|
||
Update `z_sendmany` help to clarify what happens when sending from a UA
|
||
Revert "redirect and update source documentation"
|
||
Fix documentation line wrapping
|
||
Backport changes from zcash.readthedocs.io
|
||
Move restored documentation into the zcashd book
|
||
Replace manual mangement of the Sapling proving context with cxx
|
||
Apply suggestions from code review
|
||
Update and/or postpone dependencies for 5.3.0
|
||
Vet cxxbridge upgrade.
|
||
Update to released versions of librustzcash crates.
|
||
Certify librustzcash crate upgrades.
|
||
Fix clippy lints.
|
||
|
||
Luke Dashjr (2):
|
||
Bugfix: Only use git for build info if the repository is actually the right one
|
||
Bugfix: Detect genbuild.sh in repo correctly
|
||
|
||
Marco Falke (1):
|
||
Remove script to clean up datadirs
|
||
|
||
Nathan Wilcox (1):
|
||
Update rust.md
|
||
|
||
Pieter Wuille (1):
|
||
libsecp256k1 no longer has --with-bignum= configure option
|
||
|
||
Wladimir J. van der Laan (6):
|
||
build: Update build system for new leveldb
|
||
doc: Add crc32c subtree to developer notes
|
||
test: Add crc32c to subtree check linter
|
||
test: Add crc32c exception to various linters and generation scripts
|
||
build: CRC32C build system integration
|
||
build: Get rid of `CLIENT_DATE`
|
||
|
||
sasha (1):
|
||
Make RUST_DIST in Makefile.am refer to rust-toolchain.toml (baf7d9e)
|
||
|
||
user (1):
|
||
README.md: Clarify distinction between protocol vs zcashd implementation; link to Zebra; line wrapping.
|
||
|