Merge pull request #5935 from str4d/release-v5.0.0-rc1

Release v5.0.0-rc1
This commit is contained in:
Kris Nuttycombe 2022-05-09 11:00:20 -06:00 committed by GitHub
commit ac1f6799c2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 287 additions and 45 deletions

View File

@ -1,4 +1,4 @@
Zcash 4.7.0
Zcash 5.0.0-rc1
<img align="right" width="120" height="80" src="doc/imgs/logo.png">
===========

View File

@ -1,9 +1,9 @@
dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N)
AC_PREREQ([2.60])
define(_CLIENT_VERSION_MAJOR, 4)
define(_CLIENT_VERSION_MINOR, 7)
define(_CLIENT_VERSION_MAJOR, 5)
define(_CLIENT_VERSION_MINOR, 0)
define(_CLIENT_VERSION_REVISION, 0)
define(_CLIENT_VERSION_BUILD, 50)
define(_CLIENT_VERSION_BUILD, 25)
define(_ZC_BUILD_VAL, m4_if(m4_eval(_CLIENT_VERSION_BUILD < 25), 1, m4_incr(_CLIENT_VERSION_BUILD), m4_eval(_CLIENT_VERSION_BUILD < 50), 1, m4_eval(_CLIENT_VERSION_BUILD - 24), m4_eval(_CLIENT_VERSION_BUILD == 50), 1, , m4_eval(_CLIENT_VERSION_BUILD - 50)))
define(_CLIENT_VERSION_SUFFIX, m4_if(m4_eval(_CLIENT_VERSION_BUILD < 25), 1, _CLIENT_VERSION_REVISION-beta$1, m4_eval(_CLIENT_VERSION_BUILD < 50), 1, _CLIENT_VERSION_REVISION-rc$1, m4_eval(_CLIENT_VERSION_BUILD == 50), 1, _CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION-$1)))
define(_CLIENT_VERSION_IS_RELEASE, true)

View File

@ -1,3 +1,9 @@
zcash (5.0.0~rc1) stable; urgency=medium
* 5.0.0-rc1 release.
-- Electric Coin Company <team@electriccoin.co> Mon, 09 May 2022 15:35:33 +0000
zcash (4.7.0) stable; urgency=medium
* 4.7.0 release.

View File

@ -1,5 +1,5 @@
---
name: "zcash-4.7.0"
name: "zcash-5.0.0-rc1"
enable_cache: true
distro: "debian"
suites:

View File

@ -1,9 +1,9 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.4.
.TH ZCASH-CLI "1" "April 2022" "zcash-cli v4.7.0" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
.TH ZCASH-CLI "1" "May 2022" "zcash-cli v5.0.0-rc1" "User Commands"
.SH NAME
zcash-cli \- manual page for zcash-cli v4.7.0
zcash-cli \- manual page for zcash-cli v5.0.0-rc1
.SH DESCRIPTION
Zcash RPC client version v4.7.0
Zcash RPC client version v5.0.0\-rc1
.PP
In order to ensure you are adequately protecting your privacy when using Zcash,
please see <https://z.cash/support/security/>.

View File

@ -1,9 +1,9 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.4.
.TH ZCASH-TX "1" "April 2022" "zcash-tx v4.7.0" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
.TH ZCASH-TX "1" "May 2022" "zcash-tx v5.0.0-rc1" "User Commands"
.SH NAME
zcash-tx \- manual page for zcash-tx v4.7.0
zcash-tx \- manual page for zcash-tx v5.0.0-rc1
.SH DESCRIPTION
Zcash zcash\-tx utility version v4.7.0
Zcash zcash\-tx utility version v5.0.0\-rc1
.SS "Usage:"
.TP
zcash\-tx [options] <hex\-tx> [commands]

View File

@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.4.
.TH ZCASHD-WALLET-TOOL "1" "April 2022" "zcashd-wallet-tool v4.7.0" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
.TH ZCASHD-WALLET-TOOL "1" "May 2022" "zcashd-wallet-tool v5.0.0-rc1" "User Commands"
.SH NAME
zcashd-wallet-tool \- manual page for zcashd-wallet-tool v4.7.0
zcashd-wallet-tool \- manual page for zcashd-wallet-tool v5.0.0-rc1
.SH SYNOPSIS
.B zcashd-wallet-tool
[\fI\,OPTIONS\/\fR]

View File

@ -1,9 +1,9 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.4.
.TH ZCASHD "1" "April 2022" "zcashd v4.7.0" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
.TH ZCASHD "1" "May 2022" "zcashd v5.0.0-rc1" "User Commands"
.SH NAME
zcashd \- manual page for zcashd v4.7.0
zcashd \- manual page for zcashd v5.0.0-rc1
.SH DESCRIPTION
Zcash Daemon version v4.7.0
Zcash Daemon version v5.0.0\-rc1
.PP
In order to ensure you are adequately protecting your privacy when using Zcash,
please see <https://z.cash/support/security/>.
@ -26,6 +26,14 @@ Receive and display P2P network alerts (default: 1)
Execute command when a relevant alert is received or we see a really
long fork (%s in cmd is replaced by message)
.HP
\fB\-allowdeprecated=\fR<feature>
.IP
Explicitly allow the use of the specified deprecated feature. Multiple
instances of this parameter are permitted; values for <feature> must be
selected from among {"none", "addrtype", "getnewaddress",
"legacy_privacy", "z_getnewaddress", "zcrawjoinsplit", "zcrawkeygen",
"zcrawreceive"}
.HP
\fB\-blocknotify=\fR<cmd>
.IP
Execute command when the best block changes (%s in cmd is replaced by
@ -101,11 +109,14 @@ for block files)
.HP
\fB\-reindex\-chainstate\fR
.IP
Rebuild chain state from the currently indexed blocks
Rebuild chain state from the currently indexed blocks (implies \fB\-rescan\fR
unless pruning or unless \fB\-rescan\fR=\fI\,0\/\fR is explicitly specified
.HP
\fB\-reindex\fR
.IP
Rebuild chain state and block index from the blk*.dat files on disk
(implies \fB\-rescan\fR unless pruning or unless \fB\-rescan\fR=\fI\,0\/\fR is explicitly
specified)
.HP
\fB\-sysperms\fR
.IP
@ -298,6 +309,11 @@ Set the Sapling migration address
Fees (in ZEC/kB) smaller than this are considered zero fee for
transaction creation (default: 0.00001)
.HP
\fB\-orchardactionlimit=\fR<n>
.IP
Set the maximum number of Orchard actions permitted in a transaction
(default 50)
.HP
\fB\-paytxfee=\fR<amt>
.IP
Fee (in ZEC/kB) to add to transactions you send (default: 0.00)
@ -309,6 +325,7 @@ Rescan the block chain for missing wallet transactions on startup
\fB\-salvagewallet\fR
.IP
Attempt to recover private keys from a corrupt wallet on startup
(implies \fB\-rescan\fR)
.HP
\fB\-sendfreetransactions\fR
.IP

View File

@ -0,0 +1,215 @@
Notable changes
===============
Feature Deprecation and removal
-------------------------------
`zcashd` now has a [process](https://zcash.github.io/zcash/user/deprecation.html)
for how features of the public API may be deprecated and removed. Feature
deprecation follows a series of steps whereby, over a series of releases,
features first remain enabled by default (but may be explicitly disabled), then
switch to being disabled by default, and eventually are removed entirely.
A new string-valued option, `-allowdeprecated` has been introduced to allow a
user to explicitly manage the availability of deprecated `zcashd` features. This
flag makes it possible for users to reenable deprecated methods and features
api that are currently disabled by default, or alternately to explicitly
disable all deprecated features if they so choose. Multiple instances of this
argument may be provided. A user may disable deprecated features entirely
by providing the string `none` as the argument to this parameter. In the case
that `none` is specified, multiple invocations of `-allowdeprecated` are not
permitted.
Deprecated
----------
As of this release, the following features are deprecated, but remain
available by default. These features may be disabled by setting
`-allowdeprecated=none`. After release 5.3.0, these features will be
disabled by default and the following flags to `-allowdeprecated` will
be required to permit their continued use:
- `legacy_privacy` - the default "legacy" privacy policy for z_sendmany
is deprecated. When disabled, the default behavior of z_sendmany will
conform to the `FullPrivacy` directive (introduced in 4.7.0) in all cases
instead of just for transactions involving unified addresses.
- `getnewaddress` - controls availability of the `getnewaddress` RPC method.
- `z_getnewaddress` - controls availability of the `z_getnewaddress` RPC method.
- `addrtype` - controls availability of the deprecated `type` attribute
returned by RPC methods that return address metadata.
As of this release, the following previously deprecated features are disabled
by default, but may be be reenabled using `-allowdeprecated=<feature>`.
- The `zcrawreceive` RPC method is disabled. It may be reenabled with
`allowdeprecated=zcrawreceive`
- The `zcrawjoinsplit` RPC method is disabled. It may be reenabled with
`allowdeprecated=zcrawjoinsplit`
- The `zcrawkeygen` RPC method is disabled. It may be reenabled with
`allowdeprecated=zcrawkeygen`
Option handling
---------------
- The `-reindex` and `-reindex-chainstate` options now imply `-rescan`
(provided that the wallet is enabled and pruning is disabled, and unless
`-rescan=0` is specified explicitly).
- A new `-anchorconfirmations` argument has been added to allow the user
to specify the number of blocks back from the chain tip that anchors will be
selected from when spending notes. By default, anchors will now be selected
to have 3 confirmations. Values greater than 100 are not supported.
- A new `-orchardactionlimit` option has been added to allow the user to
override the default maximum of 50 Orchard actions per transaction.
Transactions that contain large numbers of Orchard actions can use
large amounts of memory for proving, so the 50-action default limit is
imposed to guard against memory exhaustion. Systems with more than 16G
of memory can safely set this parameter to allow 200 actions or more.
RPC Interface
-------------
- The default `minconf` value for `z_sendmany` is now 10 confirmations instead
of 1. If `minconf` and specifies a value less than that provided for
`-anchorconfirmations`, it will also override that value as it is not
possible to spend notes that are more recent than the anchor. Selecting
`minconf` values less than 3 is not recommended, as it allows the transaction
to be distinguished from transactions using the default for
`-anchorconfirmations`.
RPC Changes
-----------
- The deprecated `zcrawkeygen`, `zcrawreceive`, and `zcrawjoinsplit` RPC
methods are now disabled by default. Use `-allowdeprecated=<feature>`
to select individual features if you wish to continue using these APIs.
Build system
------------
- `zcutil/build.sh` now automatically runs `zcutil/clean.sh` to remove
files created by previous builds. We previously recommended to do this
manually.
Dependencies
------------
- The `boost` and `native_b2` dependencies have been updated to version 1.79.0
Tests
-----
- The environment variable that allows users of the rpc (Python) tests to
override the default path to the `zcashd` executable has been changed
from `BITCOIND` to `ZCASHD`.
Changelog
=========
Alex Wied (1):
Cargo.toml: Rename hdwallet source
Charlie O'Keefe (1):
Use bullseye apt source in Dockerfile to match debian:11 base image
Daira Hopwood (9):
Fix to 4.7.0 release notes: testnet nodes that upgrade prior to height 1,842,420 actually still need to run with -reindex and -rescan.
zcutil/build.sh: Run zcutil/clean.sh before building. fixes #3625
Make `-reindex` and `-reindex-chainstate` imply `-rescan` (provided that the wallet is enabled and pruning is disabled, and unless `-rescan=0` is specified explicitly).
zcutil/build-debian-package.sh: copy executable and man page for zcashd-wallet-tool.
zcashd-wallet-tool: improve the error message for an invalid logging filter directive.
Change the numbering convention for hotfixes to increment the patch number, not the hyphen number. fixes #4364
Rename nOrchardAnchorConfirmations -> nAnchorConfirmations
Select an anchor and notes that have 10 confirmations.
Fix WalletTests.CachedWitnessesEmptyChain for new anchor selection.
Dimitris Apostolou (1):
Fix typo
Jack Grigg (3):
Update minimum chain work and set NU5 activation block hash for testnet
make-release.py: Versioning changes for 5.0.0-rc1.
make-release.py: Updated manpages for 5.0.0-rc1.
Kris Nuttycombe (30):
Update boost dependencies to version 1.79.0
Default to error logging if we can't parse the log filter.
Fix boolean initialization in Orchard transaction builder.
Use fallible version parsing for tags.
Allow deprecated wallet features to be preemptively disabled.
Remove zcrawreceive, zcrawjoinsplit, zcrawkeygen from default-allowed deprecated methods.
Add deprecation policy to the zcashd book.
Use ERROR level logging for fatal errors in main/init
Remove `-allowdeprecated=all`
Clarify documentation of the deprecation process.
Select Orchard anchors at `-orchardanchorconfirmations` depth.
Add anchor depth parameter to Get*NoteWitnesses
Disallow -anchorconfirmations values > 100
Add -anchorconfirmations to the release notes
Fix RPC tests that depend upon -anchorconfirmations=1
Apply suggestions from code review
Gracefully handle Get(Sprout/Sapling)NoteWitnesses failure.
Add parity-scale-codec licenses to contrib/debian/copyright
Ensure transaction integer fields are zero-initialized.
Build releases from a commit hash, rather than a named branch.
Apply suggestions from code review
Update release process documentation to clarify the use of release stabilization branches.
Fix missing handling for imported transparent multisig addresses.
Change default anchor depth from 10 confirmations to 3
Use default anchor confirmations for minconf in z_mergetoaddress.
Add -orchardactionlimit parameter to guard against memory exhaustion.
Add -orchardactionlimit help text.
Postpone dependency updates prior to v5.0.0-rc1
Set RELEASE_TO_DEPRECATION_WEEKS to 2 weeks to provide RC EOS halt.
Fix a typo in the release script.
Larry Ruane (2):
Allow rpc python tests to be run standalone
ThreadStartWalletNotifier: wait until !IBD, rather than !reindex
Marek (2):
Document the block time in the `z_gettreestate` RPC response
Specify the format and epoch
Steven Smith (2):
Add orchard pool metrics
Require wallet recovery phrase to be backed up for z_getnewaccount and z_getaddressforaccount
Taylor Hornby (1):
Reproduce an assertion failure in the listaddresses RPC
dependabot[bot] (1):
Bump actions/checkout from 2 to 3
sasha (28):
Move LoadProofParameters to gtest/utils.cpp
add tx-orchard-duplicate-nullifiers.h to Makefile.gtest.include
Closing #1539 simplifies gtest Makefile.
remove JoinSplitTestingSetup from sighash_tests -- it doesn't need it
Make a LoadGlobalWallet and UnloadGlobalWallet for gtests
Remove proof parameter loading from btests
Separate test suite from tests, inspired by upstream's #12926
Allow parallel btest runs using make as the parallelization tool.
btest parallelization work: tag #if'd out test suites
Port btest test_basic_joinsplit_verification to gtest suite Joinsplit
Create a new gtest group WalletRPCTests
Port btest rpc_z_shieldcoinbase_internals to gtest suite WalletRPCTests
Port btest rpc_z_mergetoaddress_internals to gtest suite WalletRPCTests
Port btest rpc_z_sendmany_taddr_to_sapling to gtest suite WalletRPCTests
Downgrade btest suite coins_test to BasicTestingSetup
Make [seed_]insecure_rand available to the gtests
Create a new gtest suite CoinsTests
Port CCoinsViewTest to gtest suite CoinsTests
Port nullifier_regression_test to gtest suite CoinsTests
Port anchor_pop_regression_test to gtest suite CoinsTests
Port anchor_regression_test to gtest suite CoinsTests
Port nullifiers_test to gtest suite CoinsTests
Port anchors_flush_test to gtest suite CoinsTests
Port anchors_test to gtest suite CoinsTests
Update copyright header
Update comments in newly-ported gtests to be more consistent with current codebase
Tidy up spacing in newly-ported gtests
Remove -developersapling since it hasn't been implemented for a long time
teor (1):
Fix typo in getaddressbalance RPC help

View File

@ -97,7 +97,7 @@ Having identified the commit from which the release will be made, the release
manager constructs the release stabilization branch as follows:
$ git checkout -b version-X.Y.0 <COMMIT_ID>
$ git push 'git@github.com:zcash/zcash' $(git rev-parse --abrev-ref HEAD)
$ git push 'git@github.com:zcash/zcash' $(git rev-parse --abbrev-ref HEAD)
### Create the release candidate branch

View File

@ -5,28 +5,32 @@
#
# Ccache 4.0 requires adding CMake to the depends system.
native_ccache 4.0 2022-05-01
native_ccache 4.1 2022-05-01
native_ccache 4.2 2022-05-01
native_ccache 4.2.1 2022-05-01
native_ccache 4.3 2022-05-01
native_ccache 4.4 2022-05-01
native_ccache 4.4.1 2022-05-01
native_ccache 4.4.2 2022-05-01
native_ccache 4.5 2022-05-01
native_ccache 4.5.1 2022-05-01
native_ccache 4.6 2022-05-01
native_ccache 4.0 2022-06-01
native_ccache 4.1 2022-06-01
native_ccache 4.2 2022-06-01
native_ccache 4.2.1 2022-06-01
native_ccache 4.3 2022-06-01
native_ccache 4.4 2022-06-01
native_ccache 4.4.1 2022-06-01
native_ccache 4.4.2 2022-06-01
native_ccache 4.5 2022-06-01
native_ccache 4.5.1 2022-06-01
native_ccache 4.6 2022-06-01
# Clang and Rust are currently pinned to LLVM 13
native_clang 14.0.0 2022-05-01
native_clang 14.0.1 2022-05-01
libcxx 14.0.0 2022-05-01
libcxx 14.0.1 2022-05-01
native_rust 1.60.0 2022-05-01
native_clang 14.0.0 2022-06-01
native_clang 14.0.1 2022-06-01
native_clang 14.0.2 2022-06-01
native_clang 14.0.3 2022-06-01
libcxx 14.0.0 2022-06-01
libcxx 14.0.1 2022-06-01
libcxx 14.0.2 2022-06-01
libcxx 14.0.3 2022-06-01
native_rust 1.60.0 2022-06-01
# We're never updating to this version
bdb 18.1.40 2024-02-01
# Google Test 1.10.0 requires adding CMake to the depends system.
googletest 1.10.0 2022-05-01
googletest 1.11.0 2022-05-01
googletest 1.10.0 2022-06-01
googletest 1.11.0 2022-06-01

View File

@ -15,10 +15,10 @@
*/
//! These need to be macros, as clientversion.cpp's and bitcoin*-res.rc's voodoo requires it
#define CLIENT_VERSION_MAJOR 4
#define CLIENT_VERSION_MINOR 7
#define CLIENT_VERSION_MAJOR 5
#define CLIENT_VERSION_MINOR 0
#define CLIENT_VERSION_REVISION 0
#define CLIENT_VERSION_BUILD 50
#define CLIENT_VERSION_BUILD 25
//! Set to true for release, false for prerelease or test build
#define CLIENT_VERSION_IS_RELEASE true

View File

@ -10,8 +10,8 @@
// Per https://zips.z.cash/zip-0200
// Shut down nodes running this version of code, 16 weeks' worth of blocks after the estimated
// release block height. A warning is shown during the 14 days' worth of blocks prior to shut down.
static const int APPROX_RELEASE_HEIGHT = 1540976;
static const int RELEASE_TO_DEPRECATION_WEEKS = 16;
static const int APPROX_RELEASE_HEIGHT = 1661960;
static const int RELEASE_TO_DEPRECATION_WEEKS = 2;
static const int EXPECTED_BLOCKS_PER_HOUR = 3600 / Consensus::POST_BLOSSOM_POW_TARGET_SPACING;
static_assert(EXPECTED_BLOCKS_PER_HOUR == 48, "The value of Consensus::POST_BLOSSOM_POW_TARGET_SPACING was chosen such that this assertion holds.");
static const int ACTIVATION_TO_DEPRECATION_BLOCKS = (RELEASE_TO_DEPRECATION_WEEKS * 7 * 24 * EXPECTED_BLOCKS_PER_HOUR);