Repository: zcash/zcash (language: rust)

Issue:
Release 5.7.0



Discussion / hints:

Fix patch:
diff --git a/README.md b/README.md
index 8cf03c8761d..24d0f16639e 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-Zcash 5.7.0-rc1
+Zcash 5.7.0
 <img align="right" width="120" height="80" src="doc/imgs/logo.png">
 ===========
 
diff --git a/configure.ac b/configure.ac
index f103ed3d43d..aa8bb044cec 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ AC_PREREQ([2.60])
 define(_CLIENT_VERSION_MAJOR, 5)
 define(_CLIENT_VERSION_MINOR, 7)
 define(_CLIENT_VERSION_REVISION, 0)
-define(_CLIENT_VERSION_BUILD, 25)
+define(_CLIENT_VERSION_BUILD, 50)
 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/debian/changelog b/contrib/debian/changelog
index 74963728ff5..9a00b619445 100644
--- a/contrib/debian/changelog
+++ b/contrib/debian/changelog
@@ -1,3 +1,9 @@
+zcash (5.7.0) stable; urgency=medium
+
+  * 5.7.0 release.
+
+ -- Electric Coin Company <team@electriccoin.co>  Thu, 28 Sep 2023 18:22:50 +0000
+
 zcash (5.7.0~rc1) stable; urgency=medium
 
   * 5.7.0-rc1 release.
diff --git a/contrib/gitian-descriptors/gitian-linux-parallel.yml b/contrib/gitian-descriptors/gitian-linux-parallel.yml
index 29c8512bc38..fc6baba38f5 100644
--- a/contrib/gitian-descriptors/gitian-linux-parallel.yml
+++ b/contrib/gitian-descriptors/gitian-linux-parallel.yml
@@ -1,5 +1,5 @@
 ---
-name: "zcash-5.7.0-rc1"
+name: "zcash-5.7.0"
 enable_cache: true
 distro: "debian"
 suites:
diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml
index 5df12acc19c..caf49df175c 100644
--- a/contrib/gitian-descriptors/gitian-linux.yml
+++ b/contrib/gitian-descriptors/gitian-linux.yml
@@ -1,5 +1,5 @@
 ---
-name: "zcash-5.7.0-rc1"
+name: "zcash-5.7.0"
 enable_cache: true
 distro: "debian"
 suites:
diff --git a/doc/authors.md b/doc/authors.md
index 5630527a87b..f8ab46da20a 100644
--- a/doc/authors.md
+++ b/doc/authors.md
@@ -1,11 +1,11 @@
 Zcash Contributors
 ==================
 
-Jack Grigg (1335)
-Kris Nuttycombe (698)
+Jack Grigg (1388)
+Kris Nuttycombe (702)
 Simon Liu (460)
-Sean Bowe (404)
-Daira Hopwood (396)
+Sean Bowe (409)
+Daira Hopwood (397)
 Eirik Ogilvie-Wigley (216)
 Greg Pfeil (208)
 Wladimir J. van der Laan (160)
@@ -22,7 +22,7 @@ sasha (80)
 Cory Fields (78)
 Matt Corallo (62)
 Nathan Wilcox (57)
-Daira Emma Hopwood (47)
+Daira Emma Hopwood (49)
 practicalswift (43)
 Dimitris Apostolou (43)
 Kevin Gallagher (38)
@@ -35,8 +35,8 @@ Gregory Maxwell (24)
 John Newbery (23)
 Suhas Daftuar (20)
 furszy (18)
+Marius Kjærstad (18)
 Jonathan "Duke" Leto (18)
-Marius Kjærstad (17)
 syd (16)
 Patick Strateman (16)
 Charlie O'Keefe (16)
@@ -92,6 +92,7 @@ mruddy (3)
 lpescher (3)
 isle2983 (3)
 elbandi (3)
+ebfull (3)
 Thomas Snider (3)
 NikVolf (3)
 Martin Ankerl (3)
@@ -113,7 +114,6 @@ kpcyrd (2)
 kobake (2)
 hexabot (2)
 face (2)
-ebfull (2)
 aniemerg (2)
 Yuri Zhykin (2)
 UdjinM6 (2)
@@ -180,6 +180,7 @@ avnish98 (1)
 adityapk00 (1)
 Za Wilcox (1)
 Yasser Isa (1)
+Yasser (1)
 William M Peaster (1)
 Vidar Holen (1)
 Vasil Dimov (1)
@@ -240,6 +241,7 @@ Forrest Voight (1)
 Florian Schmaus (1)
 Eran Tromer (1)
 Elliot Olds (1)
+Elijah Hampton (1)
 Dimitris Tsapakidis (1)
 DesWurstes (1)
 Denis Lukianov (1)
diff --git a/doc/book/src/user/release-support.md b/doc/book/src/user/release-support.md
index 3165de96da9..d6ca46069e5 100644
--- a/doc/book/src/user/release-support.md
+++ b/doc/book/src/user/release-support.md
@@ -46,4 +46,5 @@ time, and may shift due to changes in network solution power.
 | 5.6.0 | 2023-06-14 | 2250924 | 2023-10-04 |
 | 5.6.1 | 2023-06-21 | 2258800 | 2023-10-11 |
 | 5.7.0-rc1 | 2023-09-22 | 2365300 | 2024-01-12 |
+| 5.7.0 | 2023-09-28 | 2372200 | 2024-01-18 |
 <!-- RELEASE_SCRIPT_END_MARKER -->
diff --git a/doc/man/zcash-cli.1 b/doc/man/zcash-cli.1
index 76a06933ae3..f8d2be50f1b 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.1.
-.TH ZCASH-CLI "1" "September 2023" "zcash-cli v5.7.0-rc1" "User Commands"
+.TH ZCASH-CLI "1" "September 2023" "zcash-cli v5.7.0" "User Commands"
 .SH NAME
-zcash-cli \- manual page for zcash-cli v5.7.0-rc1
+zcash-cli \- manual page for zcash-cli v5.7.0
 .SH DESCRIPTION
-Zcash RPC client version v5.7.0\-rc1
+Zcash RPC client version v5.7.0
 .PP
 In order to ensure you are adequately protecting your privacy when using Zcash,
 please see <https://z.cash/support/security/>.
diff --git a/doc/man/zcash-tx.1 b/doc/man/zcash-tx.1
index 623975451ca..bebbd8491da 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.1.
-.TH ZCASH-TX "1" "September 2023" "zcash-tx v5.7.0-rc1" "User Commands"
+.TH ZCASH-TX "1" "September 2023" "zcash-tx v5.7.0" "User Commands"
 .SH NAME
-zcash-tx \- manual page for zcash-tx v5.7.0-rc1
+zcash-tx \- manual page for zcash-tx v5.7.0
 .SH DESCRIPTION
-Zcash zcash\-tx utility version v5.7.0\-rc1
+Zcash zcash\-tx utility version v5.7.0
 .SS "Usage:"
 .TP
 zcash\-tx [options] <hex\-tx> [commands]
diff --git a/doc/man/zcashd-wallet-tool.1 b/doc/man/zcashd-wallet-tool.1
index e5299bd7d6e..3da89b4d2c8 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.1.
-.TH ZCASHD-WALLET-TOOL "1" "September 2023" "zcashd-wallet-tool v5.7.0-rc1" "User Commands"
+.TH ZCASHD-WALLET-TOOL "1" "September 2023" "zcashd-wallet-tool v5.7.0" "User Commands"
 .SH NAME
-zcashd-wallet-tool \- manual page for zcashd-wallet-tool v5.7.0-rc1
+zcashd-wallet-tool \- manual page for zcashd-wallet-tool v5.7.0
 .SH SYNOPSIS
 .B zcashd-wallet-tool
 [\fI\,OPTIONS\/\fR]
diff --git a/doc/man/zcashd.1 b/doc/man/zcashd.1
index a5f36b7ccbd..0acc8ed1b54 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.1.
-.TH ZCASHD "1" "September 2023" "zcashd v5.7.0-rc1" "User Commands"
+.TH ZCASHD "1" "September 2023" "zcashd v5.7.0" "User Commands"
 .SH NAME
-zcashd \- manual page for zcashd v5.7.0-rc1
+zcashd \- manual page for zcashd v5.7.0
 .SH DESCRIPTION
-Zcash Daemon version v5.7.0\-rc1
+Zcash Daemon version v5.7.0
 .PP
 In order to ensure you are adequately protecting your privacy when using Zcash,
 please see <https://z.cash/support/security/>.
diff --git a/doc/release-notes.md b/doc/release-notes.md
index e7686ba7562..a29094b5174 100644
--- a/doc/release-notes.md
+++ b/doc/release-notes.md
@@ -4,47 +4,3 @@ release-notes at release time)
 Notable changes
 ===============
 
-Deprecation of `fetch-params.sh`
---------------------------------
-
-The `fetch-params.sh` script (also `zcash-fetch-params`) is now deprecated. The
-`zcashd` binary now bundles zk-SNARK parameters directly and so parameters do not
-need to be downloaded or stored separately. The script will now do nothing but
-state that it is deprecated; it will be removed in a future release.
-
-Previously, parameters were stored by default in these locations:
-
-* `~/.zcash-params` (on Linux); or
-* `~/Library/Application Support/ZcashParams` (on Mac); or
-* `C:\Users\Username\AppData\Roaming\ZcashParams` (on Windows)
-
-Unless you need to generate transactions using the deprecated Sprout shielded
-pool, you can delete the parameter files stored in these directories to save
-space as they are no longer read or used by `zcashd`. If you do wish to use the
-Sprout pool, you will need the `sprout-groth16.params` file in the
-aforementioned directory. This file is currently available for download
-[here](https://download.z.cash/downloads/sprout-groth16.params).
-
-Mempool metrics
----------------
-
-`zcashd` now reports the following new metrics when `-prometheusport` is set:
-
-- (gauge) `zcash.mempool.actions.unpaid { "bk" = ["< 0.2", "< 0.4", "< 0.6", "< 0.8", "< 1"] }`
-- (gauge) `zcash.mempool.actions.paid`
-- (gauge) `zcash.mempool.size.weighted { "bk" = ["< 1", "1", "> 1", "> 2", "> 3"] }`
-
-The `zcash.mempool.actions` metrics count the number of [logical actions] across
-the transactions in the mempool, while `zcash.mempool.size.weighted` is a
-weight-bucketed version of the `zcash.mempool.size.bytes` metric.
-
-The [ZIP 317 weight ratio][weight_ratio] of a transaction is used to bucket its
-logical actions and byte size. A weight ratio of at least 1 means that the
-transaction's fee is at least the ZIP 317 conventional fee, and all of its
-logical actions are considered "paid". A weight ratio lower than 1 corresponds
-to the fraction of the transaction's logical actions that are "paid". The
-remaining fraction (i.e. 1 - weight ratio) are subject to the unpaid action
-limit that miners configure for their blocks with `-blockunpaidactionlimit`.
-
-[logical actions]: https://zips.z.cash/zip-0317#fee-calculation
-[weight_ratio]: https://zips.z.cash/zip-0317#recommended-algorithm-for-block-template-construction
diff --git a/doc/release-notes/release-notes-5.7.0.md b/doc/release-notes/release-notes-5.7.0.md
new file mode 100644
index 00000000000..05c51e88d63
--- /dev/null
+++ b/doc/release-notes/release-notes-5.7.0.md
@@ -0,0 +1,138 @@
+Notable changes
+===============
+
+Deprecation of `fetch-params.sh`
+--------------------------------
+
+The `fetch-params.sh` script (also `zcash-fetch-params`) is now deprecated. The
+`zcashd` binary now bundles zk-SNARK parameters directly and so parameters do not
+need to be downloaded or stored separately. The script will now do nothing but
+state that it is deprecated; it will be removed in a future release.
+
+Previously, parameters were stored by default in these locations:
+
+* `~/.zcash-params` (on Linux); or
+* `~/Library/Application Support/ZcashParams` (on Mac); or
+* `C:\Users\Username\AppData\Roaming\ZcashParams` (on Windows)
+
+Unless you need to generate transactions using the deprecated Sprout shielded
+pool, you can delete the parameter files stored in these directories to save
+space as they are no longer read or used by `zcashd`. If you do wish to use the
+Sprout pool, you will need the `sprout-groth16.params` file in the
+aforementioned directory. This file is currently available for download
+[here](https://download.z.cash/downloads/sprout-groth16.params).
+
+Mempool metrics
+---------------
+
+`zcashd` now reports the following new metrics when `-prometheusport` is set:
+
+- (gauge) `zcash.mempool.actions.unpaid { "bk" = ["< 0.2", "< 0.4", "< 0.6", "< 0.8", "< 1"] }`
+- (gauge) `zcash.mempool.actions.paid`
+- (gauge) `zcash.mempool.size.weighted { "bk" = ["< 1", "1", "> 1", "> 2", "> 3"] }`
+
+The `zcash.mempool.actions` metrics count the number of [logical actions] across
+the transactions in the mempool, while `zcash.mempool.size.weighted` is a
+weight-bucketed version of the `zcash.mempool.size.bytes` metric.
+
+The [ZIP 317 weight ratio][weight_ratio] of a transaction is used to bucket its
+logical actions and byte size. A weight ratio of at least 1 means that the
+transaction's fee is at least the ZIP 317 conventional fee, and all of its
+logical actions are considered "paid". A weight ratio lower than 1 corresponds
+to the fraction of the transaction's logical actions that are "paid". The
+remaining fraction (i.e. 1 - weight ratio) are subject to the unpaid action
+limit that miners configure for their blocks with `-blockunpaidactionlimit`.
+
+[logical actions]: https://zips.z.cash/zip-0317#fee-calculation
+[weight_ratio]: https://zips.z.cash/zip-0317#recommended-algorithm-for-block-template-construction
+
+Changelog
+=========
+
+Daira Emma Hopwood (2):
+      wallet_listreceived.py: fix an assertion message and remove unnecessary use of LEGACY_DEFAULT_FEE.
+      Update ed25519-zebra to 4.0.0. This deduplicates sha2, rand-core, block-buffer, digest, and ahash. (It adds duplications for hashbrown and libm which are less important.)
+
+Daira Hopwood (1):
+      Ensure that the panic when Sprout parameters cannot be loaded says how to fix it by downloading them.
+
+Elijah Hampton (1):
+      Updates getblockcount help message to the appropriate message.
+
+Jack Grigg (53):
+      CI: Update `apt` before installing build dependencies
+      CI: De-duplicate logic to get the number of available processing cores
+      CI: Use `hw.logicalcpu` instead of `hw.ncpu` on macOS
+      Move mempool metrics updates into a `CTxMemPool::UpdateMetrics` method
+      metrics: Track mempool actions and size bucketed by weight
+      contrib: Update Grafana dashboard to show mempool composition
+      CI: Add a lint that checks for headers missing from makefiles
+      Retroactively use Rust to decrypt shielded coinbase before soft fork
+      Remove now-unused C++ Sapling note encryption logic
+      test: Skip `WalletTests.WalletNetworkSerialization`
+      Rename reject reason for invalid shielded coinbase ciphertexts
+      test: Set `-limitdescendantcount` to match viable iteration limit
+      qa: Migrate to `cargo-vet 0.8`
+      qa: Remove audit policies for crates we no longer patch
+      qa: Replace Windows crate audits with a trust policy for Microsoft
+      depends: native_ccache 4.8.2
+      depends: cxx 1.0.97
+      cargo update
+      CI: Add `cargo deny check licenses` job
+      depends: tl_expected 1.1.0
+      cargo update again
+      Use `cxx::bridge` for Sprout proofs
+      Use `cxx::bridge` for `zcash_history`
+      Use `cxx::bridge` for initialization functions
+      Use `cxx::bridge` to load ZKP parameters
+      Use `cxx::bridge` for Sapling specification components
+      Remove unused Sapling logic
+      Use `cxx::bridge` for Sapling ZIP 32 wrappers
+      Use `cxx::bridge` for `getrandom`
+      rust: Rename modules that no longer contain raw FFI functions
+      depends: libsodium 1.0.19
+      depends: utfcpp 3.2.4
+      depends: native_ccache 4.8.3
+      depends: Boost 1.83.0
+      depends: native_cmake 3.27.4
+      qa: Bump postponed dependencies
+      qa: cargo vet prune
+      cargo update
+      depends: cxx 1.0.107
+      depends: native_cmake 3.27.5
+      qa: Postpone Clang and Rust updates
+      depends: native_cmake 3.27.6
+      qa: Replace `cargo vet` ECC self-audits with trust declarations
+      rust: Upgrade Zcash Rust crates
+      Remove CentOS 8 from CI builder files
+      doc: Update release notes for 5.7.0
+      make-release.py: Versioning changes for 5.7.0-rc1.
+      make-release.py: Updated manpages for 5.7.0-rc1.
+      make-release.py: Updated release notes and changelog for 5.7.0-rc1.
+      make-release.py: Updated book for 5.7.0-rc1.
+      depends: utfcpp 3.2.5
+      make-release.py: Versioning changes for 5.7.0.
+      make-release.py: Updated manpages for 5.7.0.
+
+Kris Nuttycombe (4):
+      Update network upgrade golden tests for serialization to include nu5.
+      Make a few small improvements to the release process doc.
+      Remove audit claim for allocator-api2
+      Fix description of transaction weight ratio in v5.7.0 release notes.
+
+Marius Kjærstad (1):
+      New checkpoint at block 2200000 for mainnet
+
+Sean Bowe (5):
+      Bundle the Sprout (Groth16) verification key in librustzcash.
+      Bundle the Sapling zk-SNARK parameters using the `wagyu-zcash-parameters` crate.
+      Deprecate the `fetch-params.sh` script.
+      cargo fmt
+      Hash the Sprout parameter file during proving before deserialization.
+
+Yasser (1):
+      Update ZCASH_SIGNING_KEY_ID in Dockerfile
+
+ebfull (1):
+      Update zcutil/fetch-params.sh
+
diff --git a/src/clientversion.h b/src/clientversion.h
index 9a43cb8aeef..f36a614a4e3 100644
--- a/src/clientversion.h
+++ b/src/clientversion.h
@@ -18,7 +18,7 @@
 #define CLIENT_VERSION_MAJOR 5
 #define CLIENT_VERSION_MINOR 7
 #define CLIENT_VERSION_REVISION 0
-#define CLIENT_VERSION_BUILD 25
+#define CLIENT_VERSION_BUILD 50
 
 //! 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 49a79c99cb0..d0624e43eed 100644
--- a/src/deprecation.h
+++ b/src/deprecation.h
@@ -13,7 +13,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 = 2236276;
+static const int APPROX_RELEASE_HEIGHT = 2243176;
 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.");


Test patch: