From c94b3f40d1f43bc41f8daa7bc74863b46ab3dd24 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Thu, 19 Jan 2023 22:33:05 +0000 Subject: [PATCH 1/5] doc: Fix arguments to make-release.py in hotfix process Closes zcash/zcash#6280. --- doc/hotfix-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/hotfix-process.md b/doc/hotfix-process.md index 1dd60d7ae..de8672e92 100644 --- a/doc/hotfix-process.md +++ b/doc/hotfix-process.md @@ -42,7 +42,7 @@ with a couple of minor differences: - When running the release script, use the `--hotfix` flag. Provide the hash of the commit to be released as the first argument: - $ ./zcutil/make-release.py --hotfix + $ ./zcutil/make-release.py --hotfix - To review the automated changes in git: From 95c6ff635d306b8ff6284bc63a30b8a34949ecf1 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Thu, 19 Jan 2023 22:48:36 +0000 Subject: [PATCH 2/5] depends: CMake 3.25.2 --- depends/packages/native_cmake.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/depends/packages/native_cmake.mk b/depends/packages/native_cmake.mk index c73cf5735..abcd1c141 100644 --- a/depends/packages/native_cmake.mk +++ b/depends/packages/native_cmake.mk @@ -1,8 +1,8 @@ package=native_cmake -$(package)_version=3.25.1 +$(package)_version=3.25.2 $(package)_download_path=https://github.com/Kitware/CMake/releases/download/v$($(package)_version) $(package)_file_name=cmake-$($(package)_version).tar.gz -$(package)_sha256_hash=1c511d09516af493694ed9baf13c55947a36389674d657a2d5e0ccedc6b291d8 +$(package)_sha256_hash=c026f22cb931dd532f648f087d587f07a1843c6e66a3dfca4fb0ea21944ed33c define $(package)_set_vars $(package)_config_opts += -DCMAKE_BUILD_TYPE:STRING=Release From 072fc26e3e827cb6d0cb21dde8b797c4bb31c578 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Thu, 19 Jan 2023 22:50:16 +0000 Subject: [PATCH 3/5] make-release.py: Versioning changes for 5.4.0-rc1. --- README.md | 2 +- configure.ac | 6 +++--- contrib/gitian-descriptors/gitian-linux-parallel.yml | 2 +- contrib/gitian-descriptors/gitian-linux.yml | 2 +- src/clientversion.h | 6 +++--- src/deprecation.h | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index df635786a..4c9148206 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Zcash 5.3.2 +Zcash 5.4.0-rc1 =========== diff --git a/configure.ac b/configure.ac index 9853baed1..feb92bb6d 100644 --- a/configure.ac +++ b/configure.ac @@ -1,9 +1,9 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N) AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 5) -define(_CLIENT_VERSION_MINOR, 3) -define(_CLIENT_VERSION_REVISION, 2) -define(_CLIENT_VERSION_BUILD, 50) +define(_CLIENT_VERSION_MINOR, 4) +define(_CLIENT_VERSION_REVISION, 0) +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) diff --git a/contrib/gitian-descriptors/gitian-linux-parallel.yml b/contrib/gitian-descriptors/gitian-linux-parallel.yml index 05958bb2d..731795032 100644 --- a/contrib/gitian-descriptors/gitian-linux-parallel.yml +++ b/contrib/gitian-descriptors/gitian-linux-parallel.yml @@ -1,5 +1,5 @@ --- -name: "zcash-5.3.2" +name: "zcash-5.4.0-rc1" enable_cache: true distro: "debian" suites: diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml index eac535402..eef222c96 100644 --- a/contrib/gitian-descriptors/gitian-linux.yml +++ b/contrib/gitian-descriptors/gitian-linux.yml @@ -1,5 +1,5 @@ --- -name: "zcash-5.3.2" +name: "zcash-5.4.0-rc1" enable_cache: true distro: "debian" suites: diff --git a/src/clientversion.h b/src/clientversion.h index be677a81f..0ab96793a 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -16,9 +16,9 @@ //! These need to be macros, as clientversion.cpp's and bitcoin*-res.rc's voodoo requires it #define CLIENT_VERSION_MAJOR 5 -#define CLIENT_VERSION_MINOR 3 -#define CLIENT_VERSION_REVISION 2 -#define CLIENT_VERSION_BUILD 50 +#define CLIENT_VERSION_MINOR 4 +#define CLIENT_VERSION_REVISION 0 +#define CLIENT_VERSION_BUILD 25 //! Set to true for release, false for prerelease or test build #define CLIENT_VERSION_IS_RELEASE true diff --git a/src/deprecation.h b/src/deprecation.h index 718d2007a..7b41db2c1 100644 --- a/src/deprecation.h +++ b/src/deprecation.h @@ -10,7 +10,7 @@ // 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 = 1900500; +static const int APPROX_RELEASE_HEIGHT = 1954500; static const int RELEASE_TO_DEPRECATION_WEEKS = 16; 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."); From c42654508176e141943b786aff4a9cc93baa86ce Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Thu, 19 Jan 2023 22:57:58 +0000 Subject: [PATCH 4/5] make-release.py: Updated manpages for 5.4.0-rc1. --- doc/man/zcash-cli.1 | 11 +++++---- doc/man/zcash-tx.1 | 8 +++---- doc/man/zcashd-wallet-tool.1 | 6 ++--- doc/man/zcashd.1 | 44 ++++++++++++++++++++++++------------ 4 files changed, 42 insertions(+), 27 deletions(-) diff --git a/doc/man/zcash-cli.1 b/doc/man/zcash-cli.1 index b0157bf5d..dd1595fbc 100644 --- a/doc/man/zcash-cli.1 +++ b/doc/man/zcash-cli.1 @@ -1,9 +1,9 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2. -.TH ZCASH-CLI "1" "December 2022" "zcash-cli v5.3.2" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1. +.TH ZCASH-CLI "1" "January 2023" "zcash-cli v5.4.0-rc1" "User Commands" .SH NAME -zcash-cli \- manual page for zcash-cli v5.3.2 +zcash-cli \- manual page for zcash-cli v5.4.0-rc1 .SH DESCRIPTION -Zcash RPC client version v5.3.2 +Zcash RPC client version v5.4.0\-rc1 .PP In order to ensure you are adequately protecting your privacy when using Zcash, please see . @@ -25,7 +25,8 @@ This help message .HP \fB\-conf=\fR .IP -Specify configuration file (default: zcash.conf) +Specify configuration file. Relative paths will be prefixed by datadir +location. (default: zcash.conf) .HP \fB\-datadir=\fR .IP diff --git a/doc/man/zcash-tx.1 b/doc/man/zcash-tx.1 index b39e05caa..b550f101a 100644 --- a/doc/man/zcash-tx.1 +++ b/doc/man/zcash-tx.1 @@ -1,9 +1,9 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2. -.TH ZCASH-TX "1" "December 2022" "zcash-tx v5.3.2" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1. +.TH ZCASH-TX "1" "January 2023" "zcash-tx v5.4.0-rc1" "User Commands" .SH NAME -zcash-tx \- manual page for zcash-tx v5.3.2 +zcash-tx \- manual page for zcash-tx v5.4.0-rc1 .SH DESCRIPTION -Zcash zcash\-tx utility version v5.3.2 +Zcash zcash\-tx utility version v5.4.0\-rc1 .SS "Usage:" .TP zcash\-tx [options] [commands] diff --git a/doc/man/zcashd-wallet-tool.1 b/doc/man/zcashd-wallet-tool.1 index 3a2fc540f..b85e6e1e6 100644 --- a/doc/man/zcashd-wallet-tool.1 +++ b/doc/man/zcashd-wallet-tool.1 @@ -1,7 +1,7 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2. -.TH ZCASHD-WALLET-TOOL "1" "December 2022" "zcashd-wallet-tool v5.3.2" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1. +.TH ZCASHD-WALLET-TOOL "1" "January 2023" "zcashd-wallet-tool v5.4.0-rc1" "User Commands" .SH NAME -zcashd-wallet-tool \- manual page for zcashd-wallet-tool v5.3.2 +zcashd-wallet-tool \- manual page for zcashd-wallet-tool v5.4.0-rc1 .SH SYNOPSIS .B zcashd-wallet-tool [\fI\,OPTIONS\/\fR] diff --git a/doc/man/zcashd.1 b/doc/man/zcashd.1 index e59a2a012..3a491a90a 100644 --- a/doc/man/zcashd.1 +++ b/doc/man/zcashd.1 @@ -1,9 +1,9 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2. -.TH ZCASHD "1" "December 2022" "zcashd v5.3.2" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1. +.TH ZCASHD "1" "January 2023" "zcashd v5.4.0-rc1" "User Commands" .SH NAME -zcashd \- manual page for zcashd v5.3.2 +zcashd \- manual page for zcashd v5.4.0-rc1 .SH DESCRIPTION -Zcash Daemon version v5.3.2 +Zcash Daemon version v5.4.0\-rc1 .PP In order to ensure you are adequately protecting your privacy when using Zcash, please see . @@ -15,7 +15,11 @@ Start Zcash Daemon .HP \-? .IP -This help message +Print this help message and exit +.HP +\fB\-version\fR +.IP +Print version and exit .HP \fB\-alerts\fR .IP @@ -30,11 +34,10 @@ long fork (%s in cmd is replaced by message) .IP Explicitly allow the use of the specified deprecated feature. Multiple instances of this parameter are permitted; values for must be -selected from among {"none", "addrtype", "getnewaddress", -"getrawchangeaddress", "legacy_privacy", "wallettxvjoinsplit", -"z_getbalance", "z_getnewaddress", "z_gettotalbalance", -"z_listaddresses", "dumpwallet", "zcrawjoinsplit", "zcrawkeygen", -"zcrawreceive"} +selected from among {"none", "gbt_oldhashes", "addrtype", +"getnewaddress", "getrawchangeaddress", "legacy_privacy", +"wallettxvjoinsplit", "z_getbalance", "z_getnewaddress", +"z_gettotalbalance", "z_listaddresses"} .HP \fB\-blocknotify=\fR .IP @@ -51,7 +54,8 @@ How thorough the block verification of \fB\-checkblocks\fR is (0\-4, default: 3) .HP \fB\-conf=\fR .IP -Specify configuration file (default: zcash.conf) +Specify configuration file. Relative paths will be prefixed by datadir +location. (default: zcash.conf) .HP \fB\-daemon\fR .IP @@ -71,8 +75,8 @@ Set database cache size in megabytes (4 to 16384, default: 450) .HP \fB\-debuglogfile=\fR .IP -Specify location of debug log file: this can be an absolute path or a -path relative to the data directory (default: debug.log) +Specify location of debug log file. Relative paths will be prefixed by a +net\-specific datadir location. (default: debug.log) .HP \fB\-exportdir=\fR .IP @@ -94,12 +98,13 @@ Keep at most unconnectable transactions in memory (default: 100) .HP \fB\-par=\fR .IP -Set the number of script verification threads (\fB\-6\fR to 16, 0 = auto, <0 = +Set the number of script verification threads (\fB\-16\fR to 16, 0 = auto, <0 = leave that many cores free, default: 0) .HP \fB\-pid=\fR .IP -Specify pid file (default: zcashd.pid) +Specify pid file. Relative paths will be prefixed by a net\-specific +datadir location. (default: zcashd.pid) .HP \fB\-prune=\fR .IP @@ -423,6 +428,10 @@ Include debug metrics in exposed node metrics. .PP Debugging/Testing options: .HP +\fB\-uacomment=\fR +.IP +Append comment to the user agent string +.HP \fB\-debug=\fR .IP Output debugging information (default: 0, supplying is @@ -536,6 +545,11 @@ Bind to given address to listen for JSON\-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces) .HP +\fB\-rpccookiefile=\fR +.IP +Location of the auth cookie. Relative paths will be prefixed by a +net\-specific datadir location. (default: data dir) +.HP \fB\-rpcuser=\fR .IP Username for JSON\-RPC connections From 227887490b782c875b404722ba4001cc48a12d3c Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Thu, 19 Jan 2023 22:57:59 +0000 Subject: [PATCH 5/5] make-release.py: Updated release notes and changelog for 5.4.0-rc1. --- contrib/debian/changelog | 6 + doc/release-notes/release-notes-5.4.0-rc1.md | 202 +++++++++++++++++++ 2 files changed, 208 insertions(+) create mode 100644 doc/release-notes/release-notes-5.4.0-rc1.md diff --git a/contrib/debian/changelog b/contrib/debian/changelog index 18a5d09db..e2e01b1b6 100644 --- a/contrib/debian/changelog +++ b/contrib/debian/changelog @@ -1,3 +1,9 @@ +zcash (5.4.0~rc1) stable; urgency=medium + + * 5.4.0-rc1 release. + + -- Electric Coin Company Thu, 19 Jan 2023 22:57:59 +0000 + zcash (5.3.2) stable; urgency=medium * 5.3.2 release. diff --git a/doc/release-notes/release-notes-5.4.0-rc1.md b/doc/release-notes/release-notes-5.4.0-rc1.md new file mode 100644 index 000000000..0365dbe13 --- /dev/null +++ b/doc/release-notes/release-notes-5.4.0-rc1.md @@ -0,0 +1,202 @@ +Notable changes +=============== + +Fixes +----- + +This release fixes an issue that could potentially cause a node to crash with the +log message "The wallet's best block hash `` was not detected in restored +chain state. Giving up; please restart with `-rescan`." + +RPC Changes +----------- + +- `z_sendmany` will no longer select transparent coinbase when "ANY\_TADDR" is + used as the `fromaddress`. It was already documented to do this, but the + previous behavior didn’t match. When coinbase notes were selected in this + case, they would (properly) require that the transaction didn’t have any + change, but this could be confusing, as the documentation stated that these + two conditions (using "ANY\_TADDR" and disallowing change) wouldn’t coincide. + +[Deprecations](https://zcash.github.io/zcash/user/deprecation.html) +-------------- + +The following features have been deprecated, but remain available by default. +These features may be disabled by setting `-allowdeprecated=none`. 18 weeks +after this release, these features will be disabled by default and the following +flags to `-allowdeprecated` will be required to permit their continued use: + +- `gbt_oldhashes`: the `finalsaplingroothash`, `lightclientroothash`, and + `blockcommitmentshash` fields in the output of `getblocktemplate` have been + replaced by the `defaultroots` field. + +The following previously-deprecated features have been disabled by default, and +will be removed in 18 weeks: + +- `legacy_privacy` +- `getnewaddress` +- `getrawchangeaddress` +- `z_getbalance` +- `z_gettotalbalance` +- `z_getnewaddress` +- `z_listaddresses` +- `addrtype` +- `wallettxvjoinsplit` + +The following previously-deprecated features have been removed: + +- `dumpwallet` +- `zcrawreceive` +- `zcrawjoinsplit` +- `zcrawkeygen` + +Platform Support +---------------- + +- CentOS 8 has been removed from the list of supported platforms. It reached EoL + on December 31st 2021, and does not satisfy our Tier 2 policy requirements. + +Changelog +========= + +Alex Morcos (3): + Make accessing mempool parents and children public + Expose FormatStateMessage + Rewrite CreateNewBlock + +Carl Dong (4): + depends: More robust cmake invocation + depends: Cleanup CMake invocation + depends: Prepend CPPFLAGS to C{,XX}FLAGS for CMake + depends: Specify LDFLAGS to cmake as well + +Daira Hopwood (6): + Add tl::expected. refs #4816 + The std::expected proposal has unnecessary instances of undefined behaviour for operator->, operator*, and error(). Make these into assertion failures (this still conforms to the proposal). + Refactor HaveShieldedRequirements to use tl::expected (example with a void T) and rename it to CheckShieldedRequirements. + tl::expected follow-up to address @str4d's comments. + Cleanup after removing dumpwallet. + Change the time that the wallet will wait for the block index to load from 5 minutes to 2 hours. + +Dimitris Apostolou (2): + Fix typos + Fix typos + +Greg Pfeil (22): + Add PrivacyPolicyMeet + Remove trailing whitespace in fetch-params.sh + Migrate fetch-params.sh to bash + Scope the fetch-params lock file to the user + Update comments to match changed tests + Put utf8.h in the correct place + Don’t select transparent coinbase with ANY_TADDR + Update failing tests after fixing ANY_TADDR behavior + Apply suggestions from code review + Apply suggestions from code review + Appease ShellCheck + Defer fixing docker/entrypoint.sh lint failure + Apply suggestions from code review + Fix a minor bug in docker/entrypoint.sh + Improve PrivacyPolicy comments + Apply suggestions from code review + Add release notes + Update src/wallet/asyncrpcoperation_sendmany.cpp + Fix a missing newline in the RPC docs + No longer test_received_sprout + Use cached sprout addresses rather than funding + Update overwinter test to not shield to Sprout + +Jack Grigg (39): + test: Handle mining slow start inside `CreateNewBlock_validity` + test: Improve CreateNewBlock_validity exception checks + txdb: Remove const annotation from blockinfo iterator type + Remove `dumpwallet` RPC method + qa: Refactor `wallet_deprecation` test to simplify deprecation changes + Remove `zcraw*` RPC methods + txdb: Clean up for loop syntax in `WriteBatchSync` + Disable previously-deprecated features by default + Deprecate old hash fields of `getblocktemplate` + qa: Change show_help RPC test to print out differences + qa: Update mempool_packages RPC test after deprecation ratcheting + qa: Import Rust crate audits from Firefox + qa: Import Rust crate audits from the Bytecode Alliance + qa: Import Rust crate audits from Embark Studios + qa: Remove audit-as-crates-io for non-third-party crates + cargo update + zcash_primitives 0.9 + clearscreen 2.0 + depends: googletest 1.12.1 + Remove CentOS 8 as a supported platform + depends: native_zstd 1.5.2 + depends: native_ccache 4.6.3 + depends: Add package for native_cmake 3.25.1 + depends: Force cmake to install libzstd in lib/ + build-aux: Update Boost macros to latest serials + build: Bump required Boost version + depends: Force Boost library to be installed in lib/ + depends: Add tl_expected to update checker + depends: Boost 1.81.0 + depends: utfcpp 3.2.3 + qa: Postpone LLVM 15 and CCache 4.7 updates + depends: Update cxx to 1.0.83 + cargo update + Document -clockoffset option + qa: Update show_help RPC test + doc: Fix arguments to make-release.py in hotfix process + depends: CMake 3.25.2 + make-release.py: Versioning changes for 5.4.0-rc1. + make-release.py: Updated manpages for 5.4.0-rc1. + +James O'Beirne (2): + Clarify help messages for path args to mention datadir prefix + Add AbsPathForConfigVal to consolidate datadir prefixing for path args + +Kris Nuttycombe (6): + Add TransactionStrategy::IsCompatibleWith + Modify TransactionBuilder to use the standard default fee. + Factor out memo parsing from asyncrpcoperation_sendmany + Remove mergetoaddress_sprout test as sending to Sprout is no longer supported. + Remove wallet_shieldcoinbase_sprout test. + Update `mergetoaddress_mixednotes.py` to no longer send to Sprout. + +Marco Falke (4): + [init] Add missing help for args + [init] Help Msg: Use Params(CBaseChainParams::MAIN) + Clarify mocktime help message + init: Fix help message for checkblockindex + +Marius Kjærstad (5): + Hardened checkpoint update at block 1860000 for mainnet + Update src/chainparams.cpp + Some more formatting changes to chainparams.cpp + Forgot to add 0x + Add some more historical checkpoints + +Mark Friedenbach (1): + Prevent block.nTime from decreasing + +Marshall Gaucher (4): + Update zcash-build-bench.yml + Update README.md + Update contrib/ci-builders/tekton/tekton-labs/tasks/zcash-build.yml + Update contrib/ci-builders/tekton/tekton-labs/tasks/zcash-build-test.yml + +Michał Janiszewski (1): + Update debian/compat to version 13 + +Russell Yanofsky (2): + depends: Add CMake helper for building packages + depends: Set CMAKE_INSTALL_RPATH for native packages + +Suhas Daftuar (3): + Track transaction packages in CTxMemPoolEntry + Add test showing bug in mempool packages + Fix mempool package tracking edge case + +Wladimir J. van der Laan (1): + rpc: Write authcookie atomically + +Marshall Gaucher (2): + add basic tekton zcash env + update memory targets with heaptrack +