This release adds further support for Sapling in the zcashd wallet RPC and mitigates an issue identified by an external auditor. Information on the Sapling network upgrade (which activated on Oct 28th 2018) can be found below:
Previously when calling z_getnewaddress a Sprout shielded address would be returned by default. With this release, a Sapling shielded address will be returned by default.
Transactions expiring soon will not be propagated
To address auditor issue ZEC-013 which identified a potential denial-of-service vector related to expiry height, nodes will no longer propagate transactions which are expiring soon, defined as within the next 3 blocks. For example, if the current block height is 99, and the next block to be mined is 100, a transaction with an expiry height of 100, 101, 102 will be considered "expiring soon" and will be rejected by the mempool. A transaction with an expiry height of 103 will be accepted. This does not impact transactions which have disabled expiry height (by setting to 0).
Summary of the Changes Included in this Release
Add Sapling support to RPC z_mergetoaddress (#3619)Mitigate ZEC-013 transaction expiry height related DoS vector (#3689)Return Sapling addresses by default when calling RPC z_getnewaddress(#3680)Add Sapling spend and output description benchmarks to RPC zcbenchmark (#3611)Fix bug with Sapling chain value tracking (#3684)Fix language encoding bug with parameter paths on Windows (#3633)Backport from upstream the relaying of blocks when pruning (#2815)Don't ban peers when loading pre-Sapling blocks during syncing (#3670)Fix bug with contents of default memo in Sapling (#3605)Update tests for Sapling (#3585, #3588)