diff --git a/README.md b/README.md
index 7edbb92a3..8271e4731 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-Zcash 2.0.0
+Zcash 2.0.1-rc1
===========
diff --git a/configure.ac b/configure.ac
index b4ee70551..4cbd38b18 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,8 +2,8 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N)
AC_PREREQ([2.60])
define(_CLIENT_VERSION_MAJOR, 2)
define(_CLIENT_VERSION_MINOR, 0)
-define(_CLIENT_VERSION_REVISION, 0)
-define(_CLIENT_VERSION_BUILD, 50)
+define(_CLIENT_VERSION_REVISION, 1)
+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/debian/changelog b/contrib/debian/changelog
index 504660f57..d36688954 100644
--- a/contrib/debian/changelog
+++ b/contrib/debian/changelog
@@ -1,3 +1,9 @@
+zcash (2.0.1~rc1) stable; urgency=medium
+
+ * 2.0.1-rc1 release.
+
+ -- Zcash Company Mon, 08 Oct 2018 12:40:54 -0700
+
zcash (2.0.0) stable; urgency=medium
* 2.0.0 release.
diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml
index 101df0c2f..aab968337 100644
--- a/contrib/gitian-descriptors/gitian-linux.yml
+++ b/contrib/gitian-descriptors/gitian-linux.yml
@@ -1,5 +1,5 @@
---
-name: "zcash-2.0.0"
+name: "zcash-2.0.1-rc1"
enable_cache: true
distro: "debian"
suites:
diff --git a/doc/man/zcash-cli.1 b/doc/man/zcash-cli.1
index d961e3fa6..50a69cbe5 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.3.
-.TH ZCASH-CLI "1" "August 2018" "zcash-cli v2.0.0" "User Commands"
+.TH ZCASH-CLI "1" "October 2018" "zcash-cli v2.0.1-rc1" "User Commands"
.SH NAME
-zcash-cli \- manual page for zcash-cli v2.0.0
+zcash-cli \- manual page for zcash-cli v2.0.1-rc1
.SH DESCRIPTION
-Zcash RPC client version v2.0.0
+Zcash RPC client version v2.0.1\-rc1
.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 f284e0daa..1dd3f9ec7 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.3.
-.TH ZCASH-TX "1" "August 2018" "zcash-tx v2.0.0" "User Commands"
+.TH ZCASH-TX "1" "October 2018" "zcash-tx v2.0.1-rc1" "User Commands"
.SH NAME
-zcash-tx \- manual page for zcash-tx v2.0.0
+zcash-tx \- manual page for zcash-tx v2.0.1-rc1
.SH DESCRIPTION
-Zcash zcash\-tx utility version v2.0.0
+Zcash zcash\-tx utility version v2.0.1\-rc1
.SS "Usage:"
.TP
zcash\-tx [options] [commands]
diff --git a/doc/man/zcashd.1 b/doc/man/zcashd.1
index 2a1daa2a5..6a2b38e22 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.3.
-.TH ZCASHD "1" "August 2018" "zcashd v2.0.0" "User Commands"
+.TH ZCASHD "1" "October 2018" "zcashd v2.0.1-rc1" "User Commands"
.SH NAME
-zcashd \- manual page for zcashd v2.0.0
+zcashd \- manual page for zcashd v2.0.1-rc1
.SH DESCRIPTION
-Zcash Daemon version v2.0.0
+Zcash Daemon version v2.0.1\-rc1
.PP
In order to ensure you are adequately protecting your privacy when using Zcash,
please see .
diff --git a/doc/release-notes/release-notes-2.0.1-rc1.md b/doc/release-notes/release-notes-2.0.1-rc1.md
new file mode 100644
index 000000000..683d5ed22
--- /dev/null
+++ b/doc/release-notes/release-notes-2.0.1-rc1.md
@@ -0,0 +1,244 @@
+Notable changes
+===============
+
+Hierarchical Deterministic Key Generation for Sapling
+-----------------------------------------------------
+All Sapling addresses will use hierarchical deterministic key generation
+according to ZIP 32 (keypath m/32'/133'/k' on mainnet). Transparent and
+Sprout addresses will still use traditional key generation.
+
+Backups of HD wallets, regardless of when they have been created, can
+therefore be used to re-generate all possible Sapling private keys, even the
+ones which haven't already been generated during the time of the backup.
+Regular backups are still necessary, however, in order to ensure that
+transparent and Sprout addresses are not lost.
+
+[Pull request](https://github.com/zcash/zcash/pull/3492), [ZIP 32](https://github.com/zcash/zips/blob/master/zip-0032.mediawiki)
+
+Changelog
+=========
+
+David Mercer (2):
+ libsnark: convert long long and unsigned long to C++11 fixed-width types
+ libsnark: convert 0ul to UINT64_C(0)
+
+Eirik Ogilvie-Wigley (22):
+ Rename map to include sprout
+ Add sapling spending keys to z_exportwallet
+ Rename AddZKey to include sprout
+ Move AddSpendingKeyToWallet
+ Return more information when adding a spending key
+ Add sapling support to z_importwallet
+ Export comment on HDSeed and fingerprint with wallet
+ Export zip32 metadata with sapling keys
+ Don't export empty zip32 metadata
+ Allow more information to be returned when an async rpc fails
+ Use utility method to wait for async operations
+ Remove unneeded semicolons
+ Remove unused imports
+ Allow passing timeout parameter to wait_and_assert_operationid_status
+ Add test for signing raw transactions offline
+ Incorporate APPROX_RELEASE_HEIGHT when determining what consensus branch to sign with
+ Allow passing branchId when calling signrawtransaction
+ Remove unused import
+ Address need not be optional when adding sapling keys
+ Use max priority for all shielded transfers
+ Move FIXME comment to where the fix should happen
+ Add newly discovered sapling addresses to the wallet
+
+George Tankersley (2):
+ Refactor ContextualCheckBlock tests (#3187)
+ Refactor ContextualCheckBlock tests
+
+Jack Grigg (83):
+ [ci-workers] Install Python modules in a virtualenv
+ [ci-workers] Handle user home directories outside /home
+ [ci-workers] Handle ansible_processor being either a string or a list
+ [ci-workers] Add support for MacOSX
+ [ci-workers] Add a tag for updating dependencies
+ [ci-workers] Add curl and cmake to dependencies
+ [ci-workers] README cleanups
+ [ci-workers] Add pkg-config to general dependencies
+ depends: Correctly configure Rust when cross-compiling
+ depends: Configure librustzcash for cross-compiling
+ depends: Fix BDB naming issue when cross-compiling
+ zcutil/build.sh: Use $HOST to specify the depends prefix
+ configure: Don't require RELRO and BIND_NOW when cross-compiling
+ Measure Windows console size for metrics UI
+ Use -O1 for darwin and mingw32 release builds
+ Clean up libzcash CPPFLAGS, CXXFLAGS, and LDFLAGS
+ zcutil/build.sh: Use config.site to set default ./configure settings
+ zcutil/build.sh: Remove --enable-werror from default configuration
+ Pass correct compiler, linker, and flags into libsnark
+ Use boost::filesystem::path::string() instead of path::native()
+ Metrics UI: Enable virtual terminal sequence processing on Windows
+ Metrics UI: Tell Windows users how to stop zcashd
+ depends: Pass correct compiler, linker, and flags into googletest
+ configure: Don't add -ldl to RUST_LIBS for mingw32
+ test: Fix comment in WalletTests.FindMySaplingNotes
+ Add Sapling support to GetFilteredNotes() and GetUnspentFilteredNotes()
+ Add Sapling support to z_getbalance and z_gettotalbalance
+ Metrics UI: Fall back to 80 cols if GetConsoleScreenBufferInfo() fails
+ libsnark: Adjust SHA256 K value type to match the constant
+ libsnark: Use mp_limb_t cast instead of uint64_t when masking bigint.data
+ libsnark: Fix stale comment
+ rpc: Clarify Sprout shielded addresses in help text
+ rpc: Clarify ivk balance issues in help text
+ Move GetSpendingKeyForPaymentAddress visitor into wallet.h
+ wallet: Add HaveSpendingKeyForPaymentAddress visitor
+ rpcwallet: Add TransactionBuilder argument to AsyncRPCOperation_sendmany
+ rpcwallet: Prevent use of both Sprout and Sapling addresses in z_sendmany
+ rpcwallet: Add Sapling support to z_sendmany
+ Define additional booleans for readability
+ Ensure SCOPED_TRACE falls out of scope when necessary
+ Revert NU activation heights in reverse order
+ Fix test after refactor to check bacd-cb-height rule on a genesis block
+ Rename GetFirstBlockTransaction() to GetFirstBlockCoinbaseTx()
+ libsnark: Force constants used in test comparisons to be unsigned
+ libsnark: Use format macro constants for printing fixed-width values
+ Rename z_inputs_ to z_sprout_inputs_
+ Minor cleanups
+ Fix RPC test that checks exact wording of cleaned-up error message
+ Fix file permissions of wallet_sapling RPC test
+ Update librustzcash with ZIP 32 APIs
+ ZIP 32 Sapling structs
+ Store HDSeed in CBasicKeyStore
+ Store HDSeed in CCryptoKeyStore
+ wallet: Store HDSeed and chain data
+ wallet: Store Sapling key metadata indexed by ivk
+ wallet: Switch from SaplingSpendingKey to SaplingExtendedSpendingKey
+ init: Generate a new HD seed on startup
+ wallet: Comment out HDSeed and CHDChain persistence to disk
+ Add ZIP 32 usage to release notes
+ wallet: Don't allow an HDSeed to be overwritten
+ Bugfix: Use time instead of block height for Sapling key metadata
+ net: Check against the current epoch's version when rejecting nodes
+ Extract a helper method for finding the next epoch
+ net: Check against the next epoch's version when evicting peers
+ net: Check against the current epoch's version when disconnecting peers
+ qa: Test both Overwinter and Sapling peer management
+ Use ovk directly in the TransactionBuilder API instead of fvk
+ Generate an ovk to encrypt outCiphertext for t-addr senders
+ Revert "Disable Sapling features on mainnet"
+ Use the correct empty memo for Sapling outputs
+ Add Sapling support to z_shieldcoinbase
+ Revert "Get rid of consensus.fPowAllowMinDifficultyBlocks."
+ Revert "Remove testnet-only difficulty rules"
+ Allow minimum-difficulty blocks on testnet and regtest
+ Only enable min-difficulty blocks on testnet from a particular height
+ Update wallet_listreceived test for now-correct empty Sapling memos
+ Rename min-difficulty flag to remove off-by-one in the name
+ Explicitly check the min-difficulty flag against boost::none
+ Position PoW.MinDifficultyRules test after rule activates
+ Fix pyflakes warnings
+ Store ExtFVK with encrypted Sapling spending key instead of FVK
+ Persist Sapling payment address to IVK map
+ Ignore decoding errors during -zapwallettxes
+
+Jay Graber (5):
+ s/jsoutindex/outindex for sapling outputs
+ z_listunspent sapling support - needs refactor
+ Add rpc test for sprout txs z_listunspent
+ Modify comments
+ Modify GetNullifiersForAddresses for Sapling
+
+Jonas Schnelli (3):
+ [Wallet] extend CKeyMetadata with HD keypath Zcash: modified for zip32
+ [Wallet] print hd masterkeyid in getwalletinfo Zcash: modified for zip32
+ [Wallet] ensure CKeyMetadata.hdMasterKeyID will be cleared during SetNull() Zcash: modified for zip32
+
+Larry Ruane (5):
+ generalize mininode.py protocol versioning
+ Test peer banning logic in both pre- and post-initial block download states
+ Sapling support for z_listreceivedbyaddress
+ z_listunspent rpc unit test: add testing for Sapling
+ fix z_listunspent includeWatchonly logic
+
+Marius Kjærstad (3):
+ Fix for license not being valid
+ Update debian package copyright license
+ Missing comma in debian package copyright license
+
+Sean Bowe (1):
+ Check commitment validity within the decryption API for Sapling note plaintexts.
+
+Simon Liu (59):
+ Rename FindMyNotes to FindMySproutNotes.
+ Rename GetNoteNullifier to GetSproutNoteNullifier.
+ Rename mapNullifiersToNotes to mapSproutNullifiersToNotes.
+ Rename CWallet::AddToSpends methods for clarity.
+ Rename mapTxNullifiers to mapTxSproutNullifiers.
+ Add ivk member variable and equality comparators to SaplingNoteData class.
+ Update CWallet::MarkAffectedTransactionsDirty() for Sapling.
+ Update CWallet::UpdatedNoteData() for Sapling.
+ Create CWallet::AddToSaplingSpends() to track Sapling nullifiers.
+ Update test to pass in required cm to SaplingNotePlaintext::decrypt().
+ Create CWallet::FindMySaplingNotes()
+ Rename IsFromMe(nullifier) to IsSproutNullifierFromMe(nullifier).
+ Create CWallet::IsSaplingNullifierFromMe()
+ Remove dead code in CWalletTx::GetAmounts() as filed in issue #3434.
+ Cleanup CWalletTx::GetAmounts() for clarity. No-op.
+ Update CWalletTx::GetAmounts() to return COutputEntry for Sapling valueBalance.
+ Add caching and updating of Sapling note nullifier.
+ Update CWallet::IsSpent() to check Sapling nullifiers.
+ Clean up names of unit tests in gtest/test_wallet.cpp.
+ Add test for CWalletTx::SetSaplingNoteData()
+ Iterate over mapSaplingFullViewingKeys with ivk->fvk mapping (1:1).
+ Refactor IsSpent(nullifier) for Sprout and Sapling domain separation.
+ Fix code review nits.
+ Add two new wallet tests: FindMySaplingNotes, SaplingNullifierIsSpent.
+ Add new wallet test: NavigateFromSaplingNullifierToNote
+ Add new wallet test: UpdatedSaplingNoteData.
+ Add new wallet tests: SpentSaplingNoteIsFromMe.
+ Rename wallet tests for clarity between Sprout and Sapling.
+ Fix typo in variable name in test.
+ Fix inaccurate comments in test.
+ Fix typo in parameter name.
+ Update CWallet::GetConflicts for Sapling.
+ Add new wallet test: SetSaplingNoteAddrsInCWalletTx.
+ Add new wallet test: GetConflictedSaplingNotes
+ Add new wallet test: MarkAffectedSaplingTransactionsDirty
+ Update wallet unit tests to revert upgraded network parameters.
+ Clean up wallet unit tests: replace .value() with .get() for clarity.
+ Fix comment in CWallet::SyncMetaData.
+ Refactor: rename setLockedNotes -> setLockedSproutNotes
+ Refactor: rename UnlockAllNotes -> UnlockAllSproutNotes
+ Refactor: rename ListLockedNotes -> ListLockedSproutNotes
+ Add methods to store SaplingOutPoint in setLockedSaplingNotes
+ Add unit test SaplingNoteLocking
+ Update comment for test ContextualCheckBlockTest.BlockSproutRulesRejectOtherTx
+ Add Sapling fields to JSON RPC output using TxToJSON.
+ Update qa test to check for Sapling related JSON fields.
+ Closes #3534. Do not use APPROX_RELEASE_HEIGHT to get consensus branch id when in regtest mode.
+ For #3533. Replace asserts with JSON errors.
+ Update qa test as offline regtest nodes need branch id passed in.
+ Fix rebasing of CWallet::GetNullifiersForAddresses
+ Cleanup to address review comments.
+ Add test that Sapling shielded transactions have MAX_PRIORITY
+ Closes #3560. Update Sapling note data correctly when importing a key.
+ For #3546. Shielded tx with missing inputs are not treated as orphans.
+ For #3546. Improve estimated tx size for Sapling outputs.
+ Fix deadlock from calling CWallet::AddSaplingIncomingViewingKey instead of CBasicKeyStore::AddSaplingIncomingViewingKey
+ Fix file permissions of QA test wallet_persistence.py
+ Update wallet_persistence test to verify wallet txs are persisted across restarts.
+ Update wallet_persistence test to verify spending notes after restart.
+
+WO (4):
+ Fix a bug of Windows binary
+ Add an assert for num_bits function
+ long -> int64_t
+ The long data type is replaced with int64_t
+
+Za Wilcox (1):
+ Revise help output for z_sendmany
+
+mdr0id (8):
+ Resolve final edits for README
+ Revert "wallet: Comment out HDSeed and CHDChain persistence to disk"
+ Persist Sapling key material in the wallet to disk
+ Serialize Sapling data in CWalletTx
+ Adding in rpc wallet sap for test_bitcoin
+ Add gtest coverage of Sapling wallet persistence
+ make-release.py: Versioning changes for 2.0.1-rc1.
+ make-release.py: Updated manpages for 2.0.1-rc1.
+
diff --git a/src/clientversion.h b/src/clientversion.h
index 1c48fa8f7..ed6e89048 100644
--- a/src/clientversion.h
+++ b/src/clientversion.h
@@ -17,8 +17,8 @@
//! These need to be macros, as clientversion.cpp's and bitcoin*-res.rc's voodoo requires it
#define CLIENT_VERSION_MAJOR 2
#define CLIENT_VERSION_MINOR 0
-#define CLIENT_VERSION_REVISION 0
-#define CLIENT_VERSION_BUILD 50
+#define CLIENT_VERSION_REVISION 1
+#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 ac4574dee..74e216616 100644
--- a/src/deprecation.h
+++ b/src/deprecation.h
@@ -8,7 +8,7 @@
// Deprecation policy:
// * Shut down 16 weeks' worth of blocks after the estimated release block height.
// * A warning is shown during the 2 weeks' worth of blocks prior to shut down.
-static const int APPROX_RELEASE_HEIGHT = 377000;
+static const int APPROX_RELEASE_HEIGHT = 407600;
static const int WEEKS_UNTIL_DEPRECATION = 16;
static const int DEPRECATION_HEIGHT = APPROX_RELEASE_HEIGHT + (WEEKS_UNTIL_DEPRECATION * 7 * 24 * 24);