diff --git a/README.md b/README.md
index 1f974a3d3..c6a6abf2c 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-Zcash 4.6.0-rc1
+Zcash 4.6.0
===========
diff --git a/configure.ac b/configure.ac
index 43b90999d..d2dbb6ae7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ AC_PREREQ([2.60])
define(_CLIENT_VERSION_MAJOR, 4)
define(_CLIENT_VERSION_MINOR, 6)
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 6cac5c33a..3caf05a22 100644
--- a/contrib/debian/changelog
+++ b/contrib/debian/changelog
@@ -1,3 +1,9 @@
+zcash (4.6.0) stable; urgency=medium
+
+ * 4.6.0 release.
+
+ -- Electric Coin Company Thu, 23 Dec 2021 00:35:41 +0000
+
zcash (4.6.0~rc1) stable; urgency=medium
* 4.6.0-rc1 release.
diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml
index 886567e9f..9f72e1d22 100644
--- a/contrib/gitian-descriptors/gitian-linux.yml
+++ b/contrib/gitian-descriptors/gitian-linux.yml
@@ -1,5 +1,5 @@
---
-name: "zcash-4.6.0-rc1"
+name: "zcash-4.6.0"
enable_cache: true
distro: "debian"
suites:
diff --git a/doc/authors.md b/doc/authors.md
index 60093355b..9ca489b67 100644
--- a/doc/authors.md
+++ b/doc/authors.md
@@ -1,29 +1,29 @@
Zcash Contributors
==================
-Jack Grigg (1123)
+Jack Grigg (1124)
Simon Liu (460)
Sean Bowe (367)
Daira Hopwood (270)
Eirik Ogilvie-Wigley (216)
-Kris Nuttycombe (174)
+Kris Nuttycombe (181)
Wladimir J. van der Laan (150)
Alfredo Garcia (116)
Taylor Hornby (114)
-Marshall Gaucher (110)
+Marshall Gaucher (111)
Pieter Wuille (102)
Jonas Schnelli (89)
Jay Graber (89)
-Marco Falke (81)
+Marco Falke (82)
Cory Fields (75)
-Larry Ruane (61)
+Larry Ruane (69)
Ying Tong Lai (56)
Nathan Wilcox (56)
Matt Corallo (52)
practicalswift (38)
Kevin Gallagher (38)
fanquake (36)
-Dimitris Apostolou (34)
+Dimitris Apostolou (35)
Carl Dong (26)
Gregory Maxwell (23)
Jorge Timón (22)
@@ -46,12 +46,13 @@ Alex Morcos (11)
Philip Kaufmann (10)
Peter Todd (10)
João Barbosa (10)
+Charlie O'Keefe (10)
nomnombtc (9)
Marius Kjærstad (9)
+teor (8)
kozyilmaz (8)
Jeremy Rubin (8)
Jeff Garzik (8)
-Charlie O'Keefe (8)
Ben Wilson (8)
Karl-Johan Alm (7)
ying tong (6)
@@ -63,6 +64,7 @@ Chun Kuan Lee (6)
Casey Rodarmor (6)
jnewbery (5)
ca333 (5)
+Sasha (5)
MeshCollider (5)
Johnathan Corgan (5)
George Tankersley (5)
@@ -75,6 +77,7 @@ WO (4)
Sjors Provoost (4)
Russell Yanofsky (4)
Nate Wilcox (4)
+Alex Wied (4)
mruddy (3)
lpescher (3)
isle2983 (3)
@@ -90,7 +93,6 @@ Eric Lombrozo (3)
Danny Willems (3)
Anthony Towns (3)
Alfie John (3)
-Alex Wied (3)
whythat (2)
rofl0r (2)
ptschip (2)
@@ -134,7 +136,7 @@ vim88 (1)
unsystemizer (1)
tulip (1)
tpantin (1)
-teor (1)
+sgmoore (1)
randy-waterhouse (1)
plutoforever (1)
murrayn (1)
@@ -202,6 +204,7 @@ Josh Ellithorpe (1)
Jonas Nick (1)
Jesse Cohen (1)
Jeffrey Walton (1)
+Janito Vaqueiro Ferreira Filho (1)
Jainan-Tandel (1)
Igor Cota (1)
Ian T (1)
diff --git a/doc/man/zcash-cli.1 b/doc/man/zcash-cli.1
index 2eecd326f..0290a4767 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.47.13.
-.TH ZCASH-CLI "1" "December 2021" "zcash-cli v4.6.0-rc1" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.1.
+.TH ZCASH-CLI "1" "December 2021" "zcash-cli v4.6.0" "User Commands"
.SH NAME
-zcash-cli \- manual page for zcash-cli v4.6.0-rc1
+zcash-cli \- manual page for zcash-cli v4.6.0
.SH DESCRIPTION
-Zcash RPC client version v4.6.0\-rc1
+Zcash RPC client version v4.6.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 9e395912f..098737863 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.47.13.
-.TH ZCASH-TX "1" "December 2021" "zcash-tx v4.6.0-rc1" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.1.
+.TH ZCASH-TX "1" "December 2021" "zcash-tx v4.6.0" "User Commands"
.SH NAME
-zcash-tx \- manual page for zcash-tx v4.6.0-rc1
+zcash-tx \- manual page for zcash-tx v4.6.0
.SH DESCRIPTION
-Zcash zcash\-tx utility version v4.6.0\-rc1
+Zcash zcash\-tx utility version v4.6.0
.SS "Usage:"
.TP
zcash\-tx [options] [commands]
diff --git a/doc/man/zcashd.1 b/doc/man/zcashd.1
index b4d9e4a44..ab62ba23e 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.47.13.
-.TH ZCASHD "1" "December 2021" "zcashd v4.6.0-rc1" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.1.
+.TH ZCASHD "1" "December 2021" "zcashd v4.6.0" "User Commands"
.SH NAME
-zcashd \- manual page for zcashd v4.6.0-rc1
+zcashd \- manual page for zcashd v4.6.0
.SH DESCRIPTION
-Zcash Daemon version v4.6.0\-rc1
+Zcash Daemon version v4.6.0
.PP
In order to ensure you are adequately protecting your privacy when using Zcash,
please see .
@@ -84,7 +84,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
diff --git a/doc/release-notes.md b/doc/release-notes.md
index a94a7919a..a29094b51 100644
--- a/doc/release-notes.md
+++ b/doc/release-notes.md
@@ -4,30 +4,3 @@ release-notes at release time)
Notable changes
===============
-Wallet
-------
-
-From this release, newly-created wallets will save the chain name ("Zcash") and
-network identifier (e.g. "main") to the `wallet.dat` file. This will enable the
-`zcashd` node to check on subsequent starts that the `wallet.dat` file matches
-the node's configuration. Existing wallets will start saving this information in
-a later release.
-
-`libzcash_script`
------------------
-
-Two new APIs have been added to this library (`zcash_script_legacy_sigop_count`
-and `zcash_script_legacy_sigop_count_precomputed`), for counting the number of
-signature operations in the transparent inputs and outputs of a transaction.
-The presence of these APIs is indicated by a library API version of 2.
-
-Updated RPCs
-------------
-
-- Fixed an issue where `ERROR: spent index not enabled` would be logged
- unnecessarily on nodes that have either insightexplorer or lightwalletd
- configuration options enabled.
-
-- The `getmininginfo` RPC now omits `currentblockize` and `currentblocktx`
- when a block was never assembled via RPC on this node during its current
- process instantiation. (#5404)
diff --git a/doc/release-notes/release-notes-4.6.0.md b/doc/release-notes/release-notes-4.6.0.md
new file mode 100644
index 000000000..26e1f3652
--- /dev/null
+++ b/doc/release-notes/release-notes-4.6.0.md
@@ -0,0 +1,126 @@
+Notable changes
+===============
+
+Wallet
+------
+
+From this release, newly-created wallets will save the chain name ("Zcash") and
+network identifier (e.g. "main") to the `wallet.dat` file. This will enable the
+`zcashd` node to check on subsequent starts that the `wallet.dat` file matches
+the node's configuration. Existing wallets will start saving this information in
+a later release.
+
+`libzcash_script`
+-----------------
+
+Two new APIs have been added to this library (`zcash_script_legacy_sigop_count`
+and `zcash_script_legacy_sigop_count_precomputed`), for counting the number of
+signature operations in the transparent inputs and outputs of a transaction.
+The presence of these APIs is indicated by a library API version of 2.
+
+Updated RPCs
+------------
+
+- The `getblocktemplate` RPC method output now includes a `defaultroots` field,
+ which provides various tree roots and block commitments matching the contents
+ of the block template. If any part of the block template marked as `mutable`
+ in the RPC method output is mutated, these roots may need to be recomputed.
+ For more information on the derivation process, see the block header changes
+ in [ZIP 244](https://zips.z.cash/zip-0244#block-header-changes).
+
+- Fixed an issue where `ERROR: spent index not enabled` would be logged
+ unnecessarily on nodes that have either `-insightexplorer` or `-lightwalletd`
+ configuration options enabled.
+
+- The `getmininginfo` RPC now omits `currentblocksize` and `currentblocktx`
+ when a block was never assembled via RPC on this node during its current
+ process instantiation. (#5404)
+
+Changelog
+=========
+
+Alex Wied (1):
+ Update support for FreeBSD
+
+Charlie O'Keefe (2):
+ Add buster to the list of suites used by gitian
+ Add libtinfo5 to gitian packages list
+
+Dimitris Apostolou (1):
+ Fix typos
+
+Jack Grigg (23):
+ contrib: Update Debian copyright file to follow the v1 format
+ contrib: Add license information for libc++ and libevent
+ cargo update
+ tracing-subscriber 0.3
+ Bump all postponed dependencies
+ depends: Update Rust to 1.56.1
+ depends: Update Clang / libcxx to LLVM 13
+ rust: Move `incremental_sinsemilla_tree_ffi` into crate root
+ CI: Add Pyflakes to lints workflow
+ cargo update
+ ed25519-zebra 3
+ cargo update
+ cargo update
+ depends: Update Boost to 1.78.0
+ depends Update Rust to 1.57.0
+ qa: Postpone recent CCache releases
+ Revert "lint: Fix false positive"
+ rust: Remove misleading log message
+ Migrate to latest revisions of Zcash Rust crates
+ Update release notes
+ make-release.py: Versioning changes for 4.6.0-rc1.
+ make-release.py: Updated manpages for 4.6.0-rc1.
+ make-release.py: Updated release notes and changelog for 4.6.0-rc1.
+
+Janito Vaqueiro Ferreira Filho (1):
+ Move `CurrentTxVersionInfo` into a new file
+
+Kris Nuttycombe (7):
+ Add BIP 44 coin type to persisted wallet state.
+ Persist network id string instead of bip44 coin type.
+ Add a check to test that wallet load fails if we're on the wrong network.
+ Remove unused `AddDestData` method.
+ Fix wallet-related wording in doc/reduce-traffic.md
+ Rename OrchardMerkleTree -> OrchardMerkleFrontier
+ Batch-verify Orchard transactions at the block level.
+
+Larry Ruane (8):
+ add TestSetIBD(bool) for testing
+ Disable IBD for all boost tests
+ better wallet network info error handling
+ test: automatically add missing nuparams
+ Don't log 'ERROR: spent index not enabled'
+ getblocktemplate: add NU5 commitments to new `defaultroots` section
+ test: fix bugs in test framework
+ test: Use result of getblocktemplate to submitblock
+
+Marco Falke (1):
+ [rpc] mining: Omit uninitialized currentblockweight, currentblocktx
+
+Marshall Gaucher (1):
+ Update entrypoint.sh
+
+Sasha (5):
+ fix typo in docker run's volume argument
+ update hash for librustzcash
+ only librustzcash in config.offline
+ make-release.py: Versioning changes for 4.6.0.
+ make-release.py: Updated manpages for 4.6.0.
+
+sgmoore (1):
+ Update reduce-traffic.md - add one word
+
+Jack Grigg (1):
+ contrib: Add space between URL and period
+
+teor (7):
+ Add sigop count functions to zcash_script library
+ Increment the zcash_script API version
+ Remove an unused header
+ Use correct copyright header
+ Remove redundant variable
+ Explain UINT_MAX error return value
+ Explain how to get rid of a tiny duplicated function
+
diff --git a/src/clientversion.h b/src/clientversion.h
index fe2e3f4d0..8bff582b6 100644
--- a/src/clientversion.h
+++ b/src/clientversion.h
@@ -18,7 +18,7 @@
#define CLIENT_VERSION_MAJOR 4
#define CLIENT_VERSION_MINOR 6
#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 24316025b..baece6442 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 = 1498500;
+static const int APPROX_RELEASE_HEIGHT = 1504042;
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.");