diff --git a/Cargo.toml b/Cargo.toml
index 5425c03f0..24af31e27 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -19,7 +19,7 @@ repository = "https://github.com/zcash/zcash"
readme = "README.md"
license = "MIT OR Apache-2.0"
edition = "2018"
-rust-version = "1.68"
+rust-version = "1.69"
[package.metadata.vet]
store = { path = "./qa/supply-chain" }
diff --git a/README.md b/README.md
index ff9120a25..123270e6a 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-Zcash 5.4.2
+Zcash 5.5.0-rc1
===========
diff --git a/configure.ac b/configure.ac
index 4a88acac7..5b67ea4cf 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, 4)
-define(_CLIENT_VERSION_REVISION, 2)
-define(_CLIENT_VERSION_BUILD, 50)
+define(_CLIENT_VERSION_MINOR, 5)
+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/debian/changelog b/contrib/debian/changelog
index 30b830de1..50ff75fc6 100644
--- a/contrib/debian/changelog
+++ b/contrib/debian/changelog
@@ -1,3 +1,9 @@
+zcash (5.5.0~rc1) stable; urgency=medium
+
+ * 5.5.0-rc1 release.
+
+ -- Electric Coin Company Thu, 20 Apr 2023 22:19:50 +0000
+
zcash (5.4.2) stable; urgency=high
* 5.4.2 release.
diff --git a/contrib/gitian-descriptors/gitian-linux-parallel.yml b/contrib/gitian-descriptors/gitian-linux-parallel.yml
index c868dab4c..3ee65eb26 100644
--- a/contrib/gitian-descriptors/gitian-linux-parallel.yml
+++ b/contrib/gitian-descriptors/gitian-linux-parallel.yml
@@ -1,5 +1,5 @@
---
-name: "zcash-5.4.2"
+name: "zcash-5.5.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 196a7644a..a1ddc04b0 100644
--- a/contrib/gitian-descriptors/gitian-linux.yml
+++ b/contrib/gitian-descriptors/gitian-linux.yml
@@ -1,5 +1,5 @@
---
-name: "zcash-5.4.2"
+name: "zcash-5.5.0-rc1"
enable_cache: true
distro: "debian"
suites:
diff --git a/depends/packages/native_rust.mk b/depends/packages/native_rust.mk
index a5e0a9f23..99bc5da0f 100644
--- a/depends/packages/native_rust.mk
+++ b/depends/packages/native_rust.mk
@@ -3,16 +3,16 @@ package=native_rust
# ./contrib/devtools/update-rust-hashes.sh
# The Rust compiler should use the same LLVM version as the Clang compiler; you
# can check this with `rustc --version -v`.
-$(package)_version=1.68.2
+$(package)_version=1.69.0
$(package)_download_path=https://static.rust-lang.org/dist
$(package)_file_name_linux=rust-$($(package)_version)-x86_64-unknown-linux-gnu.tar.gz
-$(package)_sha256_hash_linux=df7c7466ef35556e855c0d35af7ff08e133040400452eb3427c53202b6731926
+$(package)_sha256_hash_linux=2ca4a306047c0b8b4029c382910fcbc895badc29680e0332c9df990fd1c70d4f
$(package)_file_name_darwin=rust-$($(package)_version)-x86_64-apple-darwin.tar.gz
-$(package)_sha256_hash_darwin=632540d3d83758cb048dc45fcfbc0b29f6f170161a3051be22b0a2962a566fb9
+$(package)_sha256_hash_darwin=9818dab2c3726d63dfbfde12c9273e62e484ef6d6f6e05a6431a3e089c335454
$(package)_file_name_freebsd=rust-$($(package)_version)-x86_64-unknown-freebsd.tar.gz
-$(package)_sha256_hash_freebsd=3b824f662c48ed3a5117bad7992d467837cbf6fa93ac18c4816a175034eee178
+$(package)_sha256_hash_freebsd=2985d98910b4a1dd336bfc7a1ac3b18082ed917cff097b4db6f0d6602016c289
$(package)_file_name_aarch64_linux=rust-$($(package)_version)-aarch64-unknown-linux-gnu.tar.gz
-$(package)_sha256_hash_aarch64_linux=b24d0df852490d80791a228f18c2b75f24b1e6437e6e745f85364edab245f7fa
+$(package)_sha256_hash_aarch64_linux=88af5aa7a40c8f1b40416a1f27de8ffbe09c155d933f69d3e109c0ccee92353b
# Mapping from GCC canonical hosts to Rust targets
# If a mapping is not present, we assume they are identical, unless $host_os is
@@ -21,10 +21,10 @@ $(package)_rust_target_x86_64-pc-linux-gnu=x86_64-unknown-linux-gnu
$(package)_rust_target_x86_64-w64-mingw32=x86_64-pc-windows-gnu
# Mapping from Rust targets to SHA-256 hashes
-$(package)_rust_std_sha256_hash_aarch64-unknown-linux-gnu=74c2cca31e34cbc0913fc2445c4853acb20c52dba2d0c3012a007cc5decc3bb1
-$(package)_rust_std_sha256_hash_x86_64-apple-darwin=5d6a7d62ae67c2f7aae6eabb782a3125cf9fed6bbc2993d59b3714f4f832e797
-$(package)_rust_std_sha256_hash_x86_64-pc-windows-gnu=4598f3f44f84353dcf64aab9669b7c3982fccc1e7840f3ef1aa90cadc37864a4
-$(package)_rust_std_sha256_hash_x86_64-unknown-freebsd=c94334345413a28669b271584b385ed0c0d6c410458103d7242353dd8fb9048d
+$(package)_rust_std_sha256_hash_aarch64-unknown-linux-gnu=8f42b40c0a0658ee75ce758652c9821fac7db3fbd8d20f7fb2483ec2c57ee0ac
+$(package)_rust_std_sha256_hash_x86_64-apple-darwin=e44d71250dc5a238da0dc4784dad59d562862653adecd31ea52e0920b85c6a7c
+$(package)_rust_std_sha256_hash_x86_64-pc-windows-gnu=09ded4a4c27c16aff9c9911640b1bdf6e1172237ce540ed4dc3e166e9438f0d7
+$(package)_rust_std_sha256_hash_x86_64-unknown-freebsd=eed4b3f3358a8887b0f6a62e021469878a8990af9b94c2fe87d3c1b0220913bb
define rust_target
$(if $($(1)_rust_target_$(2)),$($(1)_rust_target_$(2)),$(if $(findstring darwin,$(3)),x86_64-apple-darwin,$(if $(findstring freebsd,$(3)),x86_64-unknown-freebsd,$(2))))
diff --git a/doc/authors.md b/doc/authors.md
index 80b750bae..15e7f4b5f 100644
--- a/doc/authors.md
+++ b/doc/authors.md
@@ -2,13 +2,13 @@ Zcash Contributors
==================
Jack Grigg (1297)
-Kris Nuttycombe (622)
+Kris Nuttycombe (626)
Simon Liu (460)
Sean Bowe (389)
-Daira Hopwood (379)
+Daira Hopwood (382)
Eirik Ogilvie-Wigley (216)
Wladimir J. van der Laan (159)
-Pieter Wuille (146)
+Pieter Wuille (149)
Alfredo Garcia (120)
Taylor Hornby (118)
Marshall Gaucher (118)
@@ -17,10 +17,10 @@ Marco Falke (90)
Jonas Schnelli (90)
Jay Graber (89)
Larry Ruane (88)
-Greg Pfeil (84)
+Greg Pfeil (85)
Cory Fields (78)
-sasha (62)
-Matt Corallo (61)
+sasha (67)
+Matt Corallo (62)
Nathan Wilcox (57)
practicalswift (42)
Dimitris Apostolou (40)
@@ -71,7 +71,6 @@ Daniel Cousens (6)
Casey Rodarmor (6)
jnewbery (5)
ca333 (5)
-Sasha (5)
MeshCollider (5)
Johnathan Corgan (5)
George Tankersley (5)
@@ -128,6 +127,7 @@ Matthew King (2)
Mary Moore-Simmons (2)
Mark Friedenbach (2)
Marek (2)
+Jon Atack (2)
Joe Turgeon (2)
Jesse Cohen (2)
Jeffrey Czyz (2)
@@ -219,7 +219,6 @@ Josh Lehan (1)
Josh Ellithorpe (1)
Jonas Nick (1)
Jon Layton (1)
-Jon Atack (1)
Jeffrey Walton (1)
Janito Vaqueiro Ferreira Filho (1)
James White (1)
diff --git a/doc/book/src/user/release-support.md b/doc/book/src/user/release-support.md
index 7033a7623..36a1a6bd7 100644
--- a/doc/book/src/user/release-support.md
+++ b/doc/book/src/user/release-support.md
@@ -42,10 +42,9 @@ time, and may shift due to changes in network solution power.
| `zcashd` version | Release date | Halt height | End of Support |
| ---------------- | ------------ | ----------- | -------------- |
-| 5.3.1 | 2022-12-02 | 2027524 | 2023-03-24 |
-| 5.3.2 | 2022-12-03 | 2029524 | 2023-03-25 |
| 5.4.0 | 2023-02-09 | 2106524 | 2023-06-01 |
| 5.4.1 | 2023-02-13 | 2112024 | 2023-06-05 |
| 5.3.3 | 2023-03-13 | 2121024 | 2023-06-13 |
| 5.4.2 | 2023-03-13 | 2121024 | 2023-06-13 |
+| 5.5.0-rc1 | 2023-04-20 | 2059000 | 2023-08-10 |
diff --git a/doc/man/zcash-cli.1 b/doc/man/zcash-cli.1
index 25f8f4f51..3feb7d320 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" "February 2023" "zcash-cli v5.4.2" "User Commands"
+.TH ZCASH-CLI "1" "April 2023" "zcash-cli v5.5.0-rc1" "User Commands"
.SH NAME
-zcash-cli \- manual page for zcash-cli v5.4.2
+zcash-cli \- manual page for zcash-cli v5.5.0-rc1
.SH DESCRIPTION
-Zcash RPC client version v5.4.2
+Zcash RPC client version v5.5.0\-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 3727e1c58..3c4f6df4a 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" "February 2023" "zcash-tx v5.4.2" "User Commands"
+.TH ZCASH-TX "1" "April 2023" "zcash-tx v5.5.0-rc1" "User Commands"
.SH NAME
-zcash-tx \- manual page for zcash-tx v5.4.2
+zcash-tx \- manual page for zcash-tx v5.5.0-rc1
.SH DESCRIPTION
-Zcash zcash\-tx utility version v5.4.2
+Zcash zcash\-tx utility version v5.5.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 433c97c47..e8dd7a57d 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" "February 2023" "zcashd-wallet-tool v5.4.2" "User Commands"
+.TH ZCASHD-WALLET-TOOL "1" "April 2023" "zcashd-wallet-tool v5.5.0-rc1" "User Commands"
.SH NAME
-zcashd-wallet-tool \- manual page for zcashd-wallet-tool v5.4.2
+zcashd-wallet-tool \- manual page for zcashd-wallet-tool v5.5.0-rc1
.SH SYNOPSIS
.B zcashd-wallet-tool
[\fI\,OPTIONS\/\fR]
diff --git a/doc/man/zcashd.1 b/doc/man/zcashd.1
index 4df17a146..41c7bb50b 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" "February 2023" "zcashd v5.4.2" "User Commands"
+.TH ZCASHD "1" "April 2023" "zcashd v5.5.0-rc1" "User Commands"
.SH NAME
-zcashd \- manual page for zcashd v5.4.2
+zcashd \- manual page for zcashd v5.5.0-rc1
.SH DESCRIPTION
-Zcash Daemon version v5.4.2
+Zcash Daemon version v5.5.0\-rc1
.PP
In order to ensure you are adequately protecting your privacy when using Zcash,
please see .
@@ -34,10 +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", "gbt_oldhashes", "z_getbalance",
-"z_gettotalbalance", "addrtype", "getnewaddress", "getrawchangeaddress",
-"legacy_privacy", "wallettxvjoinsplit", "z_getnewaddress",
-"z_listaddresses"}
+selected from among {"none", "deprecationinfo_deprecationheight",
+"gbt_oldhashes", "z_getbalance", "z_gettotalbalance", "addrtype",
+"getnewaddress", "getrawchangeaddress", "legacy_privacy",
+"wallettxvjoinsplit", "z_getnewaddress", "z_listaddresses"}
.HP
\fB\-blocknotify=\fR
.IP
@@ -316,7 +316,11 @@ Set the maximum number of Orchard actions permitted in a transaction
.HP
\fB\-paytxfee=\fR
.IP
-Fee (in ZEC/kB) to add to transactions you send (default: 0.00)
+The preferred fee rate (in ZEC per 1000 bytes) used for transactions
+created by legacy APIs (sendtoaddress, sendmany, and
+fundrawtransaction). If the transaction is less than 1000 bytes then the
+fee rate is applied as though it were 1000 bytes. When this option is
+not set, the ZIP 317 fee calculation is used.
.HP
\fB\-rescan\fR
.IP
@@ -327,10 +331,6 @@ Rescan the block chain for missing wallet transactions on startup
Attempt to recover private keys from a corrupt wallet on startup
(implies \fB\-rescan\fR)
.HP
-\fB\-sendfreetransactions\fR
-.IP
-Send transactions as zero\-fee transactions if possible (default: 0)
-.HP
\fB\-spendzeroconfchange\fR
.IP
Spend unconfirmed change when sending transactions (default: 1)
@@ -450,8 +450,9 @@ Prepend debug output with timestamp (default: 1)
.HP
\fB\-minrelaytxfee=\fR
.IP
-Fees (in ZEC/kB) smaller than this are considered zero fee for relaying,
-mining and transaction creation (default: 0.000001)
+Transactions must have at least this fee rate (in ZEC per 1000 bytes)
+for relaying, mining and transaction creation (default: 0.000001). This
+is not the only fee constraint.
.HP
\fB\-maxtxfee=\fR
.IP
@@ -482,18 +483,14 @@ Maximum size of data in data carrier transactions we relay and mine
.PP
Block creation options:
.HP
-\fB\-blockminsize=\fR
-.IP
-Set minimum block size in bytes (default: 0)
-.HP
\fB\-blockmaxsize=\fR
.IP
Set maximum block size in bytes (default: 2000000)
.HP
-\fB\-blockprioritysize=\fR
+\fB\-blockunpaidactionlimit=\fR
.IP
-Set maximum size of high\-priority/low\-fee transactions in bytes
-(default: 1000000)
+Set the limit on unpaid actions that will be accepted in a block for
+transactions paying less than the ZIP 317 fee (default: 50)
.PP
Mining options:
.HP
diff --git a/doc/release-notes.md b/doc/release-notes.md
index 80d70068c..68bdf3e60 100644
--- a/doc/release-notes.md
+++ b/doc/release-notes.md
@@ -4,83 +4,4 @@ release-notes at release time)
Notable changes
===============
-RPC Changes
------------
-- `getdeprecationinfo` has several changes:
- - It now returns additional information about currently deprecated and
- disabled features.
- - A new `end_of_service` object that contains both the block height for
- end-of-service and the estimated time that the end-of-service halt is
- expected to occur. Note that this height is just an approximation and
- will change over time as the end-of-service block height approaches,
- due to the variability in block times. The
- `end_of_service` object is intended to replace the `deprecationheight`
- field; see the [Deprecations](#deprecations) section for additional detail.
- - This RPC method was previously only available for mainnet nodes; it is now
- also available for testnet and regtest nodes, in which case it does not
- return end-of-service halt information (as testnet and regtest nodes do not
- have an end-of-service halt feature.)
-- Several `z_sendmany`, `z_shieldcoinbase` and `z_mergetoaddress` failures have
- moved from synchronous to asynchronous, so while you should already be
- checking the async operation status, there are now more cases that may trigger
- failure at that stage.
-- The `AllowRevealedRecipients` privacy policy is now required in order to choose a
- transparent change address for a transaction. This will only occur when the wallet
- is unable to construct the transaction without selecting funds from the transparent
- pool, so the impact of this change is that for such transactions, the user must specify
- `AllowFullyTransparent`.
-- The `z_shieldcoinbase` and `z_mergetoaddress` RPC methods now support an
- optional privacy policy.
-- The `estimatepriority` RPC call has been removed.
-- The `priority_delta` argument to the `prioritisetransaction` RPC call now has
- no effect and must be set to a dummy value (0 or null).
-
-Changes to Transaction Fee Selection
-------------------------------------
-
-- The `-mintxfee` and `-sendfreetransactions` options have been removed. These
- options used to instruct the wallet's legacy transaction creation APIs
- (`sendtoaddress`, `sendmany`, and `fundrawtransaction`) to increase fees to
- this limit and to use a zero fee for "small" transactions that spend "old"
- inputs, respectively. They will now cause a warning on node startup if used.
-
-Changes to Block Template Construction
---------------------------------------
-
-We now use a new block template construction algorithm documented in
-[ZIP 317](https://zips.z.cash/zip-0317#recommended-algorithm-for-block-template-construction).
-
-- This algorithm no longer favours transactions that were previously considered
- "high priority" because they spent older inputs. The `-blockprioritysize` config
- option, which configured the portion of the block reserved for these transactions,
- has been removed and will now cause a warning if used.
-- The `-blockminsize` option, which configured the size of a portion of the block
- to be filled regardless of transaction fees or priority, has also been removed
- and will cause a warning if used.
-- A `-blockunpaidactionlimit` option has been added to control the limit on
- "unpaid actions" that will be accepted in a block for transactions paying less
- than the ZIP 317 fee. This defaults to 50.
-
-Removal of Priority Estimation
-------------------------------
-
-- Estimation of "priority" needed for a transaction to be included within a target
- number of blocks, and the associated `estimatepriority` RPC call, have been
- removed. The format for `fee_estimates.dat` has also changed to no longer save
- these priority estimates. It will automatically be converted to the new format
- which is not readable by prior versions of the software. The `-txconfirmtarget`
- config option is now obsolete and has also been removed. It will cause a
- warning if used.
-
-[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:
-
-- `deprecationinfo_deprecationheight`: The `deprecationheight` field of
- `getdeprecationinfo` has been deprecated and replaced by the `end_of_service`
- object.
diff --git a/doc/release-notes/release-notes-5.5.0-rc1.md b/doc/release-notes/release-notes-5.5.0-rc1.md
new file mode 100644
index 000000000..bff4a9d7b
--- /dev/null
+++ b/doc/release-notes/release-notes-5.5.0-rc1.md
@@ -0,0 +1,407 @@
+Notable changes
+===============
+
+RPC Changes
+-----------
+
+- `getdeprecationinfo` has several changes:
+ - It now returns additional information about currently deprecated and
+ disabled features.
+ - A new `end_of_service` object that contains both the block height for
+ end-of-service and the estimated time that the end-of-service halt is
+ expected to occur. Note that this height is just an approximation and
+ will change over time as the end-of-service block height approaches,
+ due to the variability in block times. The
+ `end_of_service` object is intended to replace the `deprecationheight`
+ field; see the [Deprecations](#deprecations) section for additional detail.
+ - This RPC method was previously only available for mainnet nodes; it is now
+ also available for testnet and regtest nodes, in which case it does not
+ return end-of-service halt information (as testnet and regtest nodes do not
+ have an end-of-service halt feature.)
+- Several `z_sendmany`, `z_shieldcoinbase` and `z_mergetoaddress` failures have
+ moved from synchronous to asynchronous, so while you should already be
+ checking the async operation status, there are now more cases that may trigger
+ failure at that stage.
+- The `AllowRevealedRecipients` privacy policy is now required in order to choose a
+ transparent change address for a transaction. This will only occur when the wallet
+ is unable to construct the transaction without selecting funds from the transparent
+ pool, so the impact of this change is that for such transactions, the user must specify
+ `AllowFullyTransparent`.
+- The `z_shieldcoinbase` and `z_mergetoaddress` RPC methods now support an
+ optional privacy policy.
+- The `estimatepriority` RPC call has been removed.
+- The `priority_delta` argument to the `prioritisetransaction` RPC call now has
+ no effect and must be set to a dummy value (0 or null).
+
+Changes to Transaction Fee Selection
+------------------------------------
+
+- The `-mintxfee` and `-sendfreetransactions` options have been removed. These
+ options used to instruct the wallet's legacy transaction creation APIs
+ (`sendtoaddress`, `sendmany`, and `fundrawtransaction`) to increase fees to
+ this limit and to use a zero fee for "small" transactions that spend "old"
+ inputs, respectively. They will now cause a warning on node startup if used.
+
+Changes to Block Template Construction
+--------------------------------------
+
+We now use a new block template construction algorithm documented in
+[ZIP 317](https://zips.z.cash/zip-0317#recommended-algorithm-for-block-template-construction).
+
+- This algorithm no longer favours transactions that were previously considered
+ "high priority" because they spent older inputs. The `-blockprioritysize` config
+ option, which configured the portion of the block reserved for these transactions,
+ has been removed and will now cause a warning if used.
+- The `-blockminsize` option, which configured the size of a portion of the block
+ to be filled regardless of transaction fees or priority, has also been removed
+ and will cause a warning if used.
+- A `-blockunpaidactionlimit` option has been added to control the limit on
+ "unpaid actions" that will be accepted in a block for transactions paying less
+ than the ZIP 317 fee. This defaults to 50.
+
+Removal of Priority Estimation
+------------------------------
+
+- Estimation of "priority" needed for a transaction to be included within a target
+ number of blocks, and the associated `estimatepriority` RPC call, have been
+ removed. The format for `fee_estimates.dat` has also changed to no longer save
+ these priority estimates. It will automatically be converted to the new format
+ which is not readable by prior versions of the software. The `-txconfirmtarget`
+ config option is now obsolete and has also been removed. It will cause a
+ warning if used.
+
+[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:
+
+- `deprecationinfo_deprecationheight`: The `deprecationheight` field of
+ `getdeprecationinfo` has been deprecated and replaced by the `end_of_service`
+ object.
+
+Changelog
+=========
+
+ANISH M (3):
+ use SOURCES_PATH instead of local git DEPENDS_SOURCES_DIR
+ report the git-derived version in metrics screen
+ Update src/metrics.cpp by removing v prefix.
+
+Alex Morcos (14):
+ Refactor CreateNewBlock to be a method of the BlockAssembler class
+ FIX: Account for txs already added to block in addPriorityTxs
+ FIX: correctly measure size of priority block
+ [rpc] Remove estimatepriority.
+ [mining] Remove -blockprioritysize.
+ [debug] Change -printpriority option
+ [cleanup] Remove estimatePriority
+ [rpc] sendrawtransaction no longer bypasses minRelayTxFee
+ [test] Remove priority from tests
+ [rpc] Remove priority information from mempool RPC calls
+ [rpc] Remove priorityDelta from prioritisetransaction
+ [cleanup] Remove coin age priority completely.
+ Allow setting minrelaytxfee to 0
+ Update example zcash.conf
+
+Daira Emma Hopwood (34):
+ Remove unnecessary #include.
+ Adjust indentation to be consistent without changing existing code.
+ Repair show_help RPC test.
+ Fix bit-rotted code in miner tests.
+ Implement ZIP 317 computations.
+ `cargo update`
+ Add audits for updates to futures-* 0.3.28 and redjubjub 0.7.0.
+ Add `examine`, a wrapper around `std::visit` that reverses the arguments.
+ Use the new `examine` macro to replace all instances of `std::visit(match {...}, specimen)`, improving code readability.
+ Refactoring to avoid duplicated code.
+ Refactoring to avoid an unnecessary temporary.
+ Refactor that avoids using exceptions for local flow control and is simpler.
+ Correct the documentation of `-rpcconnect` in the example `zcash.conf`. `-rpcconnect` is only used by `zcash-cli`.
+ Change ZIP 401 mempool limiting to use conventional fee.
+ Change ZIP 401 mempool limiting to use constants decided in zcash/zips#565.
+ Warn on node startup if the removed `-blockprioritysize` option is set to a non-zero value.
+ Log (at the mempool DEBUG level) when a transaction cannot be accepted to the mempool because its modified fee is below the minimum relay fee.
+ Fix the dust threshold rate to three times 100 zats/1000 bytes. (We express it that way rather than 300 zats/1000 bytes, because the threshold is always rounded to an integer and then multiplied by 3.)
+ Fix some messages, comments, and documentation that: * used "fee" to mean "fee rate", "kB" to mean 1000 bytes, "satoshis" to mean zatoshis, or that incorrectly used "BTC" in place of "ZEC"; * used obsolete concepts such as "zero fee" or "free transaction"; or * did not accurately document their applicability.
+ Fix tests that failed due to the minimum relay fee being enforced.
+ Fix miner_tests btest.
+ Fix mempool_packages and prioritisetransaction RPC tests.
+ Implement `GetUnpaidActionCount` and `GetWeightRatio` for ZIP 317.
+ ZIP 317 block construction algorithm. This breaks tests which are repaired in subsequent commits.
+ Add assertions that `GetRandInt*` functions are called with `nMax >= 0`. All existing uses have been checked to ensure they are consistent with this assertion.
+ Repair `miner_tests.py` btest.
+ Repair some RPC tests.
+ mergetoaddress_helper.py: Use `generate_and_check` helper to mine a block and make sure that it contains the expected number of transactions.
+ mergetoaddress_helper.py: use Decimal for amounts and integers otherwise.
+ Remove the implementation of score-based block template construction and the `-blockminsize` option.
+ Add a `-blockunpaidactionlimit` config option to configure the per-block limit on unpaid actions for ZIP 317 block template construction.
+ miner_tests.cpp improvements.
+ random.h documentation improvements.
+ Fix/suppress clippy warnings.
+
+Daira Hopwood (9):
+ Use a more recent URL format for GitHub release archives.
+ Clarify that patches to a dependency are under the same license as that dependency.
+ Update copyright date and email for tl_expected.
+ Use the same convention for the tl_expected download files as for native_cctools
+ Refactoring to split the weighted tx tree out of mempool_limit.{cpp,h} and make it more reusable.
+ Minor optimization to weighted_map::remove
+ This PR doesn't bring in any ZIP 317 changes yet
+ Another minor optimization
+ Change spelling of prioritisation in an error message
+
+DeckerSU (1):
+ InsertBlockIndex: pass const reference on hash, instead of hash
+
+Dimitris Apostolou (3):
+ Fix typo
+ Update documentation link
+ Fix typos
+
+Evan Klitzke (1):
+ Fix automake warnings when running autogen.sh
+
+Greg Pfeil (81):
+ Show in-progress tests when rpc-tests is interrupted
+ Make extra newline more explicit
+ Apply suggestions from code review
+ Make pool selection order more flexible
+ Simplify diversifier_index_t handling
+ Update tests for async z_sendmany
+ Limit UTXOs
+ Some orchard fixes for wallet_tx_builder
+ Return anchorHeight from ResolveInputsAndPayments
+ Refactoring InsufficientFundsError
+ Ensure we don’t make Orchard change pre-NU5
+ Test updates for z_sendmany WalletTxBuilder changes
+ Fix weakened privacy policy for transparent change
+ Fix some overly-strict privacy policies in btest
+ Apply suggestions from code review
+ Unify requireTransparentCoinbase handling
+ Rename `Get*Balance` to `Get*Total`
+ Remove changes that aren’t needed by z_sendmany
+ Improve GetRequiredPrivacyPolicy
+ Add release notes for (a)sync z_sendmany changes
+ Assert that we get a change addr for any selector
+ Don’t pass PrivacyPolicy to selector constructor
+ Address comments on WalletTxBuilder introduction
+ Make RPC test output more deterministic
+ Update WalletTxBuilder based on review
+ Clarify `AddressResolutionError`
+ Don’t permit user-provided “internal” payments
+ Address WalletTxBuilder PR feedback
+ Ensure that a WalletTxBuilder tx balances
+ Additional z_sendmany test cases
+ Address WalletTxBuilder review feedback
+ Apply suggestions for WalletTxBuilder from code review
+ Simplify SelectOVKs
+ Have GetRecipientPools return a copy
+ Remove CWallet member from WalletTxBuilder
+ Improve taddr no-memo check
+ Update src/wallet/rpcwallet.cpp
+ Lock notes (except Orchard) in wallet_tx_builder
+ Improve Doxygen for note locking
+ Require `AllowRevealedRecipients` for t-change
+ Update release-notes for transparent change restriction
+ Correct EditorConfig for Makefiles
+ Split C++ generated from Rust into own lib
+ Simplify canResolveOrchard logic
+ Support ZIP 317 fees in the zcashd wallet
+ Correct change handling for ZIP 317 fees
+ Address review feedback re: ZIP 317 in wallet
+ Revert "Add `AllowRevealedSenders` to fix `mempool_nu_activation.py`"
+ Eliminate LegacyCompat–ZTXOSelector cycle
+ Simplify client.cpp
+ Enrich zcash-cli arg conversion
+ Better messages on client-side zcash-cli errors
+ Fix accidental reversion of #6409
+ Remove unnecessary explicit privacy policy
+ Use examine instead of std::visit
+ Simplify some vector initialization
+ Fix edge case revealed by #6409
+ Rename Arg* to Param
+ Adjust wallet absurd fee check for ZIP 317
+ Address review feedback for ZIP 317 fees in wallet
+ Address more ZIP 317 fee feedback
+ Fix zcash-cli crash when printing help message
+ Use null as the ZIP 317 fee sentinel instead of -1
+ Add z_sendmany RPC examples with fee field
+ Have z_shieldcoinbase use WalletTxBuilder
+ Address review feedback on z_shieldcoinbase
+ Fix an incorrect error message in a test
+ Minor improvements to z_shieldcoinbase
+ Support ZIP 317 fees for legacy wallet operations
+ Remove `-mintxfee` config option
+ Address review comments re: legacy wallet ZIP 317
+ Remove `-txconfirmtarget` config option
+ Restore previous `-maxtxfee` bound
+ Correct -maxtxfee lower bound diagnostic messages
+ WalletTxBuilder support for net payments
+ fixup! WalletTxBuilder support for net payments
+ Don’t test “Insufficient funds” for `z_shieldcoinbase`
+ Update z_mergetoaddress to use WalletTxBuilder
+ Many z_mergetoaddress updates
+ Avoid extra copy in ResolveInputsAndPayments
+ Address z_mergetoaddress review feedback
+
+Jack Grigg (77):
+ rust: Add `cxx` version of `RustStream`
+ rust: Migrate `OrchardMerkleFrontier` to `cxx`
+ CreateNewBlock: Leave more space for Orchard shielded coinbase
+ Retroactively enable ZIP 216 before NU5 activation
+ rust: Compile with ThinLTO
+ depends: Update Rust to 1.67.1
+ depends: Update Clang / libcxx to LLVM 15.0.6
+ Fix 1.67.1 clippy lints
+ depends: Evaluate `native_packages` before `packages`
+ qa: Fix year in postponement lines
+ qa: Fix `google/leveldb` tag parsing in `updatecheck.py`
+ qa: Handle commit IDs correctly to `updatecheck.py`
+ depends: `cxx 1.0.91`
+ depends: `native_zstd 1.5.4`
+ `cargo vet regenerate imports`
+ qa: Import Rust crate audits from ISRG
+ `cargo update`
+ qa: Postpone LevelDB 1.23
+ book: Add page with release support details and EoS halt heights
+ Update release support book page in release process
+ depends: Update Rust to 1.68.0
+ qa: Replace Firefox audits with aggregated Mozilla audits in registry
+ qa: Import Rust crate audits from ChromeOS
+ Move `fEnableAddrTypeField` outside `ENABLE_WALLET`
+ `s/string/std::string` in `init.cpp`
+ CI: Check that the PR branch has a sufficiently recent base for Tekton
+ CI: Fix permissions for Checks workflow
+ Add `CChainParams::RustNetwork`
+ wallet: Consolidate `CWalletTx` Sapling output decryption methods
+ wallet: Use `zcash_note_encryption` in `CWalletTx::DecryptSaplingNote`
+ wallet: Use `CWalletTx::DecryptSaplingNote` in more places
+ wallet: Use `zcash_note_encryption` in `CWallet::FindMySaplingNotes`
+ wallet: Use `zcash_note_encryption` in `CWalletTx::RecoverSaplingNote`
+ wallet: Remove recipient-side `SaplingNotePlaintext::decrypt`
+ CI: Fetch all history for "recent base" check
+ CI: Include explicit `failure()` condition in "recent base" check
+ CI: Use `github.head_ref` instead of `HEAD` for "recent base" check
+ book: Add End-of-Support heights for v5.3.3 and v5.4.2
+ CI: Remove most usages of `actions-rs` actions
+ CI: Migrate to `cargo-vet 0.5`
+ cargo vet prune
+ CI: Provide `write` permission for `pull-requests`
+ CI: Check out both the base and PR branches for "recent base" check
+ Migrate to `zcash_primitives 0.10`
+ depends: `cxx 1.0.92`
+ depends: CMake 3.26.0
+ depends: Postpone CCache updates again
+ cargo update
+ Use `RandomInvalidOutputDescription()` everywhere it makes sense
+ Merge most `cxx::bridge` definitions into a single bridge
+ Expand `CppStream` to cover all `Stream`-like C++ types
+ Migrate `OrchardMerkleFrontier` to use new `CppStream` APIs
+ build: Tolerate split LLVM versions
+ Use `cxx` bridge for all Orchard bundle inspection and validation
+ gtest: Minor improvements to `CoinsTests`
+ rust: Migrate Ed25519 FFI to `cxx`
+ Tell `cargo-vet` to ignore patched dependencies
+ cargo-vet: Regenerate imports
+ cargo-vet: Switch to Google's aggregated audits
+ More crate audits
+ Migrate to published `orchard 0.4`
+ qa: Fix update checker to handle `native_clang` version format
+ depends: CMake 3.26.3
+ depends: Rust 1.68.2
+ depends: `native_zstd 1.5.5`
+ depends: `cxx 1.0.94`
+ qa: Postpone dependencies we aren't updating
+ cargo update
+ Use published `zcash_primitives 0.11` and `zcash_proofs 0.11`
+ test: Avoid generating a chain fork in `mempool_packages` RPC test
+ test: Sync blocks before invalidating them in `mempool_packages` RPC test
+ depends: Boost 1.82.0
+ qa: Postpone Clang 16.0.2
+ cargo update
+ depends: Rust 1.69.0
+ make-release.py: Versioning changes for 5.5.0-rc1.
+ make-release.py: Updated manpages for 5.5.0-rc1.
+
+Kris Nuttycombe (26):
+ Fix potential path or symlink traversal
+ Add a docker-compose.yml for prometheus/grafana metrics collection.
+ Apply suggestions from code review
+ Make all CCoinsView methods pure-virtual.
+ Remove `FakeCoinsViewDB` as it is identical to `CCoinsViewDummy`
+ Postpone dependency updates.
+ make-release.py: Versioning changes for 5.3.3.
+ make-release.py: Updated manpages for 5.3.3.
+ make-release.py: Updated release notes and changelog for 5.3.3.
+ Set urgency to `high` in Debian changelog.
+ Add information about deprecated features to `deprecationinfo` results.
+ Apply suggestions from code review
+ Add a wallet-aware transaction builder.
+ Use WalletTxBuilder for z_sendmany
+ Allow selectors to require transparent coinbase
+ Fix a longstanding zcashd build warning
+ Fix `make distclean` to recursively remove `rust/gen`
+ Improve const-ness of CChainParams retrieval by network ID
+ Explicitly provide CChainParams to `EnforceNodeDeprecation`
+ revert broken "safe extract" functionality in golden tests.
+ Refactor RPC privacyPolicy handling
+ Update to use the `ff 0.13` dependency stack.
+ Add `AllowRevealedSenders` to fix `mempool_nu_activation.py`
+ Calculate convential fee in `CreateTransaction` before stripping sigs.
+ Fix formating of money strings.
+ Use the conventional fee for prioritisation in prioritisetransactions.py
+
+Luke Dashjr (1):
+ RPC/Mining: Restore API compatibility for prioritisetransaction
+
+Marco Falke (1):
+ wallet: Remove sendfree
+
+Marius Kjærstad (2):
+ New checkpoint at block 2000000 for mainnet
+ Update estimated number of transactions due to Blossom NU
+
+Miodrag Popović (2):
+ Fix for broken cross-build to Windows target on Ubuntu 22.04 and Debian 11
+ Update depends/hosts/mingw32.mk to use posix variant library path
+
+Sean Bowe (1):
+ Add additional audits.
+
+Suhas Daftuar (4):
+ Add tags to mempool's mapTx indices
+ Fix mempool limiting for PrioritiseTransaction
+ Use fee deltas for determining mempool acceptance
+ Remove GetMinRelayFee
+
+TrellixVulnTeam (1):
+ Adding tarfile member sanitization to extractall()
+
+Wladimir J. van der Laan (1):
+ Merge #7730: Remove priority estimation
+
+Yasser Isa (1):
+ DOWNLOAD_URL dynamic in fetch-params.sh
+
+cronicc (1):
+ Fix Horizen Security contact email
+
+instagibbs (2):
+ Gave miner test values constants for less error-prone values.
+ Corrected values
+
+sasha (6):
+ Partially revert PR #6384, but only for URLs using a git commit hash
+ Download `native_cctools` and its `libtapi` to meaningful filenames
+ Better error messages if proof parameters aren't loaded
+ Enable the (existing) custom error message for the invalid checksum case
+ Re-download parameters if they already exist but don't have correct sums
+ Alias Sasha->sasha in release-notes.py to avoid authors.md split
+
+Jack Grigg (2):
+ Improvements to code comments
+ Adjust documentation
+
diff --git a/rust-toolchain.toml b/rust-toolchain.toml
index 0cf440a7e..d04f2eb53 100644
--- a/rust-toolchain.toml
+++ b/rust-toolchain.toml
@@ -1,3 +1,3 @@
[toolchain]
-channel = "1.68.0"
+channel = "1.69.0"
components = ["clippy", "rustfmt"]
diff --git a/src/clientversion.h b/src/clientversion.h
index b898e3dbc..abb2d7b4a 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 4
-#define CLIENT_VERSION_REVISION 2
-#define CLIENT_VERSION_BUILD 50
+#define CLIENT_VERSION_MINOR 5
+#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 60f0506ad..669ba4a53 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 = 1992000;
+static const int APPROX_RELEASE_HEIGHT = 2059000;
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.");