diff --git a/README.md b/README.md
index 4ad2d15c9..9d9a121a5 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-Zcash 5.3.0-rc1
+Zcash 5.3.0
===========
diff --git a/configure.ac b/configure.ac
index e40ff9dbd..4421ed480 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ AC_PREREQ([2.60])
define(_CLIENT_VERSION_MAJOR, 5)
define(_CLIENT_VERSION_MINOR, 3)
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 e973ec7aa..2afc8e388 100644
--- a/contrib/debian/changelog
+++ b/contrib/debian/changelog
@@ -1,3 +1,9 @@
+zcash (5.3.0) stable; urgency=medium
+
+ * 5.3.0 release.
+
+ -- Electric Coin Company Thu, 20 Oct 2022 10:52:37 -0600
+
zcash (5.3.0~rc1) stable; urgency=medium
* 5.3.0-rc1 release.
diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml
index e6ecc763c..7c9ece4f5 100644
--- a/contrib/gitian-descriptors/gitian-linux.yml
+++ b/contrib/gitian-descriptors/gitian-linux.yml
@@ -1,5 +1,5 @@
---
-name: "zcash-5.3.0-rc1"
+name: "zcash-5.3.0"
enable_cache: true
distro: "debian"
suites:
diff --git a/doc/authors.md b/doc/authors.md
index d3a0e048f..d3a1e5457 100644
--- a/doc/authors.md
+++ b/doc/authors.md
@@ -1,14 +1,14 @@
Zcash Contributors
==================
-Jack Grigg (1190)
-Kris Nuttycombe (570)
+Jack Grigg (1243)
+Kris Nuttycombe (582)
Simon Liu (460)
Sean Bowe (389)
-Daira Hopwood (334)
+Daira Hopwood (343)
Eirik Ogilvie-Wigley (216)
-Wladimir J. van der Laan (152)
-Pieter Wuille (142)
+Wladimir J. van der Laan (158)
+Pieter Wuille (143)
Alfredo Garcia (119)
Taylor Hornby (118)
Marshall Gaucher (116)
@@ -16,20 +16,21 @@ Ying Tong Lai (90)
Jonas Schnelli (90)
Jay Graber (89)
Larry Ruane (88)
-Marco Falke (85)
+Marco Falke (86)
Cory Fields (78)
Matt Corallo (60)
-sasha (58)
-Nathan Wilcox (56)
+sasha (59)
+Nathan Wilcox (57)
practicalswift (42)
Kevin Gallagher (38)
Dimitris Apostolou (38)
fanquake (36)
+Luke Dashjr (26)
Carl Dong (26)
-Luke Dashjr (24)
Gregory Maxwell (24)
John Newbery (23)
Jorge Timón (22)
+Greg Pfeil (20)
furszy (18)
Jonathan "Duke" Leto (18)
syd (16)
@@ -61,6 +62,8 @@ Jeff Garzik (8)
Chun Kuan Lee (8)
Ben Wilson (8)
Karl-Johan Alm (7)
+Hennadii Stepanov (7)
+Alex Wied (7)
James O'Beirne (6)
David Mercer (6)
Daniel Kraft (6)
@@ -74,13 +77,13 @@ Johnathan Corgan (5)
George Tankersley (5)
Gavin Andresen (5)
Gareth Davies (5)
-Alex Wied (5)
sandakersmann (4)
gladcow (4)
WO (4)
Sjors Provoost (4)
Nate Wilcox (4)
Jim Posen (4)
+Ben Woosley (4)
mruddy (3)
lpescher (3)
isle2983 (3)
@@ -94,7 +97,7 @@ Evan Klitzke (3)
Ethan Heilman (3)
Eric Lombrozo (3)
Danny Willems (3)
-Ben Woosley (3)
+Conrado Gouvea (3)
Anthony Towns (3)
Alfie John (3)
Aditya Kulkarni (3)
@@ -128,20 +131,21 @@ Jesse Cohen (2)
Jeffrey Czyz (2)
Jack Gavigan (2)
ITH4Coinomia (2)
-Hennadii Stepanov (2)
+DeckerSU (2)
Dan Raviv (2)
Dagur Valberg Johannsson (2)
-Conrado Gouvea (2)
Bryant Eisenbach (2)
Brian Stafford (2)
Brad Miller (2)
Bjorn Hjortsberg (2)
Amgad Abdelhafez (2)
Alex Tsankov (2)
+Alex (2)
Akio Nakamura (2)
ロハン ダル (1)
zathras-crypto (1)
vim88 (1)
+user (1)
unsystemizer (1)
tulip (1)
tpantin (1)
@@ -214,6 +218,7 @@ Jonas Nick (1)
Jon Layton (1)
Jeffrey Walton (1)
Janito Vaqueiro Ferreira Filho (1)
+James White (1)
Jainan-Tandel (1)
Igor Cota (1)
Ian T (1)
@@ -241,10 +246,10 @@ Bob McElrath (1)
Bitcoin Error Log (1)
Bernhard M. Wiedemann (1)
Ashley Holman (1)
+Andrés G. Aragoneses (1)
Andrew Chow (1)
Allan Niemerg (1)
Alex van der Peet (1)
-Alex (1)
Ahmad Kazi (1)
Adam Weiss (1)
Adam Langley (1)
diff --git a/doc/man/zcash-cli.1 b/doc/man/zcash-cli.1
index 8a9632ab2..6bc31fbcb 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" "October 2022" "zcash-cli v5.3.0-rc1" "User Commands"
+.TH ZCASH-CLI "1" "October 2022" "zcash-cli v5.3.0" "User Commands"
.SH NAME
-zcash-cli \- manual page for zcash-cli v5.3.0-rc1
+zcash-cli \- manual page for zcash-cli v5.3.0
.SH DESCRIPTION
-Zcash RPC client version v5.3.0\-rc1
+Zcash RPC client version v5.3.0
.PP
In order to ensure you are adequately protecting your privacy when using Zcash,
please see .
diff --git a/doc/man/zcash-tx.1 b/doc/man/zcash-tx.1
index 7626ce290..ce8c1ae64 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" "October 2022" "zcash-tx v5.3.0-rc1" "User Commands"
+.TH ZCASH-TX "1" "October 2022" "zcash-tx v5.3.0" "User Commands"
.SH NAME
-zcash-tx \- manual page for zcash-tx v5.3.0-rc1
+zcash-tx \- manual page for zcash-tx v5.3.0
.SH DESCRIPTION
-Zcash zcash\-tx utility version v5.3.0\-rc1
+Zcash zcash\-tx utility version v5.3.0
.SS "Usage:"
.TP
zcash\-tx [options] [commands]
diff --git a/doc/man/zcashd-wallet-tool.1 b/doc/man/zcashd-wallet-tool.1
index 060784e72..2c19ea2c0 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" "October 2022" "zcashd-wallet-tool v5.3.0-rc1" "User Commands"
+.TH ZCASHD-WALLET-TOOL "1" "October 2022" "zcashd-wallet-tool v5.3.0" "User Commands"
.SH NAME
-zcashd-wallet-tool \- manual page for zcashd-wallet-tool v5.3.0-rc1
+zcashd-wallet-tool \- manual page for zcashd-wallet-tool v5.3.0
.SH SYNOPSIS
.B zcashd-wallet-tool
[\fI\,OPTIONS\/\fR]
diff --git a/doc/man/zcashd.1 b/doc/man/zcashd.1
index 9ba4f6aea..090c5a511 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" "July 2022" "zcashd v5.2.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1.
+.TH ZCASHD "1" "October 2022" "zcashd v5.3.0" "User Commands"
.SH NAME
-zcashd \- manual page for zcashd v5.2.0
+zcashd \- manual page for zcashd v5.3.0
.SH DESCRIPTION
-Zcash Daemon version v5.2.0
+Zcash Daemon version v5.3.0
.PP
In order to ensure you are adequately protecting your privacy when using Zcash,
please see .
@@ -94,7 +94,7 @@ Keep at most unconnectable transactions in memory (default: 100)
.HP
\fB\-par=\fR
.IP
-Set the number of script verification threads (\fB\-16\fR to 16, 0 = auto, <0 =
+Set the number of script verification threads (\fB\-8\fR to 16, 0 = auto, <0 =
leave that many cores free, default: 0)
.HP
\fB\-pid=\fR
@@ -458,7 +458,7 @@ transaction; setting this too low may abort large transactions (default:
.HP
\fB\-printtoconsole\fR
.IP
-Send trace/debug info to console instead of debug.log file
+Send trace/debug info to console instead of the debug log
.PP
Chain selection options:
.HP
diff --git a/doc/release-notes.md b/doc/release-notes.md
index 7b5ae4bbf..a29094b51 100644
--- a/doc/release-notes.md
+++ b/doc/release-notes.md
@@ -4,29 +4,3 @@ release-notes at release time)
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.
diff --git a/doc/release-notes/release-notes-5.3.0.md b/doc/release-notes/release-notes-5.3.0.md
new file mode 100644
index 000000000..e2e5435be
--- /dev/null
+++ b/doc/release-notes/release-notes-5.3.0.md
@@ -0,0 +1,192 @@
+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.
+
diff --git a/src/clientversion.h b/src/clientversion.h
index cdf0f1dab..3bd546896 100644
--- a/src/clientversion.h
+++ b/src/clientversion.h
@@ -18,7 +18,7 @@
#define CLIENT_VERSION_MAJOR 5
#define CLIENT_VERSION_MINOR 3
#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 2012b1037..411649a8f 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 = 1750350;
+static const int APPROX_RELEASE_HEIGHT = 1849900;
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.");