aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2022-11-22 09:32:53 +0000
committerfanquake <fanquake@gmail.com>2022-11-22 09:36:57 +0000
commitea9aa3f02f7005a35a3b0e6c31d00513232948d8 (patch)
tree3890238193566a3353164e2ef3057129eb244e6d
parentc5058e95f4e6d27f2c9a9497dc10b35861e77f2d (diff)
parent87c2ff80e45113b056b3d0af83cf78e3ce95a693 (diff)
Merge bitcoin/bitcoin#26543: [23.x] Bump version to 23.1rc2 & add release notesv23.1rc2
87c2ff80e45113b056b3d0af83cf78e3ce95a693 doc: add release notes for 23.1rc2 (fanquake) 5b2c99e24cd7b653c9b9931509d3901ad17badc1 doc: Update manual pages for 23.1rc2 (fanquake) a02ae0745b01b33158d916d3d71107da77026bcb build: Bump version to 23.1rc2 (fanquake) a1fcd565fff85f5652bf86504b416a615a2cb6d5 doc: add 23.0 relase notes (fanquake) Pull request description: Bump the version to 23.1rc2. Regenerate the man pages. Add historical 23.0 release notes. Add WIP 23.1 release notes. Changes since rc1: * https://github.com/bitcoin/bitcoin/pull/26474 * https://github.com/bitcoin/bitcoin/pull/26522 ACKs for top commit: hebasto: ACK 87c2ff80e45113b056b3d0af83cf78e3ce95a693, I have reviewed the code and it looks OK, I agree it can be merged. jarolrod: ACK 87c2ff80e45113b056b3d0af83cf78e3ce95a693 Tree-SHA512: f185c33bfe2bf26f9df48f8d1e95ab784fef055bc7465282e2418960d348bd8b35f8fc57808b47250f8536a9def3be2d1dbe8ae309f052a81220925c425108f1
-rw-r--r--configure.ac2
-rw-r--r--doc/man/bitcoin-cli.16
-rw-r--r--doc/man/bitcoin-qt.16
-rw-r--r--doc/man/bitcoin-tx.16
-rw-r--r--doc/man/bitcoin-util.16
-rw-r--r--doc/man/bitcoin-wallet.16
-rw-r--r--doc/man/bitcoind.16
-rw-r--r--doc/release-notes.md218
-rw-r--r--doc/release-notes/release-notes-23.0.md373
9 files changed, 430 insertions, 199 deletions
diff --git a/configure.ac b/configure.ac
index 1d4f26e200..d424c49b57 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@ AC_PREREQ([2.69])
define(_CLIENT_VERSION_MAJOR, 23)
define(_CLIENT_VERSION_MINOR, 1)
define(_CLIENT_VERSION_BUILD, 0)
-define(_CLIENT_VERSION_RC, 1)
+define(_CLIENT_VERSION_RC, 2)
define(_CLIENT_VERSION_IS_RELEASE, true)
define(_COPYRIGHT_YEAR, 2022)
define(_COPYRIGHT_HOLDERS,[The %s developers])
diff --git a/doc/man/bitcoin-cli.1 b/doc/man/bitcoin-cli.1
index af952908ab..bb52951756 100644
--- a/doc/man/bitcoin-cli.1
+++ b/doc/man/bitcoin-cli.1
@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
-.TH BITCOIN-CLI "1" "November 2022" "bitcoin-cli v23.1.0rc1" "User Commands"
+.TH BITCOIN-CLI "1" "November 2022" "bitcoin-cli v23.1.0rc2" "User Commands"
.SH NAME
-bitcoin-cli \- manual page for bitcoin-cli v23.1.0rc1
+bitcoin-cli \- manual page for bitcoin-cli v23.1.0rc2
.SH SYNOPSIS
.B bitcoin-cli
[\fI\,options\/\fR] \fI\,<command> \/\fR[\fI\,params\/\fR] \fI\,Send command to Bitcoin Core\/\fR
@@ -15,7 +15,7 @@ bitcoin-cli \- manual page for bitcoin-cli v23.1.0rc1
.B bitcoin-cli
[\fI\,options\/\fR] \fI\,help <command> Get help for a command\/\fR
.SH DESCRIPTION
-Bitcoin Core RPC client version v23.1.0rc1
+Bitcoin Core RPC client version v23.1.0rc2
.SH OPTIONS
.HP
\-?
diff --git a/doc/man/bitcoin-qt.1 b/doc/man/bitcoin-qt.1
index 0ef72009bb..41fe2104b8 100644
--- a/doc/man/bitcoin-qt.1
+++ b/doc/man/bitcoin-qt.1
@@ -1,12 +1,12 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
-.TH BITCOIN-QT "1" "November 2022" "bitcoin-qt v23.1.0rc1" "User Commands"
+.TH BITCOIN-QT "1" "November 2022" "bitcoin-qt v23.1.0rc2" "User Commands"
.SH NAME
-bitcoin-qt \- manual page for bitcoin-qt v23.1.0rc1
+bitcoin-qt \- manual page for bitcoin-qt v23.1.0rc2
.SH SYNOPSIS
.B bitcoin-qt
[\fI\,command-line options\/\fR]
.SH DESCRIPTION
-Bitcoin Core version v23.1.0rc1
+Bitcoin Core version v23.1.0rc2
.SH OPTIONS
.HP
\-?
diff --git a/doc/man/bitcoin-tx.1 b/doc/man/bitcoin-tx.1
index 1da154313d..1ed7d7f4b6 100644
--- a/doc/man/bitcoin-tx.1
+++ b/doc/man/bitcoin-tx.1
@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
-.TH BITCOIN-TX "1" "November 2022" "bitcoin-tx v23.1.0rc1" "User Commands"
+.TH BITCOIN-TX "1" "November 2022" "bitcoin-tx v23.1.0rc2" "User Commands"
.SH NAME
-bitcoin-tx \- manual page for bitcoin-tx v23.1.0rc1
+bitcoin-tx \- manual page for bitcoin-tx v23.1.0rc2
.SH SYNOPSIS
.B bitcoin-tx
[\fI\,options\/\fR] \fI\,<hex-tx> \/\fR[\fI\,commands\/\fR] \fI\,Update hex-encoded bitcoin transaction\/\fR
@@ -9,7 +9,7 @@ bitcoin-tx \- manual page for bitcoin-tx v23.1.0rc1
.B bitcoin-tx
[\fI\,options\/\fR] \fI\,-create \/\fR[\fI\,commands\/\fR] \fI\,Create hex-encoded bitcoin transaction\/\fR
.SH DESCRIPTION
-Bitcoin Core bitcoin\-tx utility version v23.1.0rc1
+Bitcoin Core bitcoin\-tx utility version v23.1.0rc2
.SH OPTIONS
.HP
\-?
diff --git a/doc/man/bitcoin-util.1 b/doc/man/bitcoin-util.1
index 690b2a7bcc..b366096b1f 100644
--- a/doc/man/bitcoin-util.1
+++ b/doc/man/bitcoin-util.1
@@ -1,12 +1,12 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
-.TH BITCOIN-UTIL "1" "November 2022" "bitcoin-util v23.1.0rc1" "User Commands"
+.TH BITCOIN-UTIL "1" "November 2022" "bitcoin-util v23.1.0rc2" "User Commands"
.SH NAME
-bitcoin-util \- manual page for bitcoin-util v23.1.0rc1
+bitcoin-util \- manual page for bitcoin-util v23.1.0rc2
.SH SYNOPSIS
.B bitcoin-util
[\fI\,options\/\fR] [\fI\,commands\/\fR] \fI\,Do stuff\/\fR
.SH DESCRIPTION
-Bitcoin Core bitcoin\-util utility version v23.1.0rc1
+Bitcoin Core bitcoin\-util utility version v23.1.0rc2
.SH OPTIONS
.HP
\-?
diff --git a/doc/man/bitcoin-wallet.1 b/doc/man/bitcoin-wallet.1
index 4122596976..49fb5d1028 100644
--- a/doc/man/bitcoin-wallet.1
+++ b/doc/man/bitcoin-wallet.1
@@ -1,9 +1,9 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
-.TH BITCOIN-WALLET "1" "November 2022" "bitcoin-wallet v23.1.0rc1" "User Commands"
+.TH BITCOIN-WALLET "1" "November 2022" "bitcoin-wallet v23.1.0rc2" "User Commands"
.SH NAME
-bitcoin-wallet \- manual page for bitcoin-wallet v23.1.0rc1
+bitcoin-wallet \- manual page for bitcoin-wallet v23.1.0rc2
.SH DESCRIPTION
-Bitcoin Core bitcoin\-wallet version v23.1.0rc1
+Bitcoin Core bitcoin\-wallet version v23.1.0rc2
.PP
bitcoin\-wallet is an offline tool for creating and interacting with Bitcoin Core wallet files.
By default bitcoin\-wallet will act on wallets in the default mainnet wallet directory in the datadir.
diff --git a/doc/man/bitcoind.1 b/doc/man/bitcoind.1
index 14fbc603d3..ed24afde86 100644
--- a/doc/man/bitcoind.1
+++ b/doc/man/bitcoind.1
@@ -1,12 +1,12 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
-.TH BITCOIND "1" "November 2022" "bitcoind v23.1.0rc1" "User Commands"
+.TH BITCOIND "1" "November 2022" "bitcoind v23.1.0rc2" "User Commands"
.SH NAME
-bitcoind \- manual page for bitcoind v23.1.0rc1
+bitcoind \- manual page for bitcoind v23.1.0rc2
.SH SYNOPSIS
.B bitcoind
[\fI\,options\/\fR] \fI\,Start Bitcoin Core\/\fR
.SH DESCRIPTION
-Bitcoin Core version v23.1.0rc1
+Bitcoin Core version v23.1.0rc2
.SH OPTIONS
.HP
\-?
diff --git a/doc/release-notes.md b/doc/release-notes.md
index 5d1aa85593..257df52955 100644
--- a/doc/release-notes.md
+++ b/doc/release-notes.md
@@ -1,23 +1,9 @@
-*After branching off for a major version release of Bitcoin Core, use this
-template to create the initial release notes draft.*
-
-*The release notes draft is a temporary file that can be added to by anyone. See
-[/doc/developer-notes.md#release-notes](/doc/developer-notes.md#release-notes)
-for the process.*
-
-*Create the draft, named* "*version* Release Notes Draft"
-*(e.g. "22.0 Release Notes Draft"), as a collaborative wiki in:*
-
-https://github.com/bitcoin-core/bitcoin-devwiki/wiki/
-
-*Before the final release, move the notes back to this git repository.*
-
-*version* Release Notes Draft
+23.1rc2 Release Notes Draft
===============================
-Bitcoin Core version *version* is now available from:
+Bitcoin Core version 23.1rc2 is now available from:
- <https://bitcoincore.org/bin/bitcoin-core-*version*/>
+ <https://bitcoincore.org/bin/bitcoin-core-23.1/>
This release includes new features, various bug fixes and performance
improvements, as well as updated translations.
@@ -35,7 +21,7 @@ How to Upgrade
If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes in some cases), then run the
-installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on Mac)
+installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on macOS)
or `bitcoind`/`bitcoin-qt` (on Linux).
Upgrading directly from a version of Bitcoin Core that has reached its EOL is
@@ -51,182 +37,54 @@ Core should also work on most other Unix-like systems but is not as
frequently tested on them. It is not recommended to use Bitcoin Core on
unsupported systems.
-Notable changes
-===============
-
-P2P and network changes
------------------------
-
-- A bitcoind node will no longer rumour addresses to inbound peers by default.
- They will become eligible for address gossip after sending an ADDR, ADDRV2,
- or GETADDR message. (#21528)
-
-Fee estimation changes
-----------------------
-
-- Fee estimation now takes the feerate of replacement (RBF) transactions into
- account. (#22539)
-
-Rescan startup parameter removed
---------------------------------
-
-The `-rescan` startup parameter has been removed. Wallets which require
-rescanning due to corruption will still be rescanned on startup.
-Otherwise, please use the `rescanblockchain` RPC to trigger a rescan. (#23123)
-
-Updated RPCs
-------------
-
-- The `validateaddress` RPC now returns an `error_locations` array for invalid
- addresses, with the indices of invalid character locations in the address (if
- known). For example, this will attempt to locate up to two Bech32 errors, and
- return their locations if successful. Success and correctness are only guaranteed
- if fewer than two substitution errors have been made.
- The error message returned in the `error` field now also returns more specific
- errors when decoding fails. (#16807)
-
-- The `-deprecatedrpc=addresses` configuration option has been removed. RPCs
- `gettxout`, `getrawtransaction`, `decoderawtransaction`, `decodescript`,
- `gettransaction verbose=true` and REST endpoints `/rest/tx`, `/rest/getutxos`,
- `/rest/block` no longer return the `addresses` and `reqSigs` fields, which
- were previously deprecated in 22.0. (#22650)
-- The `getblock` RPC command now supports verbosity level 3 containing transaction inputs'
- `prevout` information. The existing `/rest/block/` REST endpoint is modified to contain
- this information too. Every `vin` field will contain an additional `prevout` subfield
- describing the spent output. `prevout` contains the following keys:
- - `generated` - true if the spent coins was a coinbase.
- - `height`
- - `value`
- - `scriptPubKey`
-
-- The top-level fee fields `fee`, `modifiedfee`, `ancestorfees` and `descendantfees`
- returned by RPCs `getmempoolentry`,`getrawmempool(verbose=true)`,
- `getmempoolancestors(verbose=true)` and `getmempooldescendants(verbose=true)`
- are deprecated and will be removed in the next major version (use
- `-deprecated=fees` if needed in this version). The same fee fields can be accessed
- through the `fees` object in the result. WARNING: deprecated
- fields `ancestorfees` and `descendantfees` are denominated in sats, whereas all
- fields in the `fees` object are denominated in BTC. (#22689)
-
-- Both `createmultisig` and `addmultisigaddress` now include a `warnings`
- field, which will show a warning if a non-legacy address type is requested
- when using uncompressed public keys. (#23113)
-
-New RPCs
---------
-
-- Information on soft fork status has been moved from `getblockchaininfo`
- to the new `getdeploymentinfo` RPC which allows querying soft fork status at any
- block, rather than just at the chain tip. Inclusion of soft fork
- status in `getblockchaininfo` can currently be restored using the
- configuration `-deprecatedrpc=softforks`, but this will be removed in
- a future release. Note that in either case, the `status` field
- now reflects the status of the current block rather than the next
- block. (#23508)
-
-Build System
-------------
-
-Files
------
-
-* On startup, the list of banned hosts and networks (via `setban` RPC) in
- `banlist.dat` is ignored and only `banlist.json` is considered. Bitcoin Core
- version 22.x is the only version that can read `banlist.dat` and also write
- it to `banlist.json`. If `banlist.json` already exists, version 22.x will not
- try to translate the `banlist.dat` into json. After an upgrade, `listbanned`
- can be used to double check the parsed entries. (#22570)
-
-New settings
-------------
-
-Updated settings
-----------------
-
-- In previous releases, the meaning of the command line option
- `-persistmempool` (without a value provided) incorrectly disabled mempool
- persistence. `-persistmempool` is now treated like other boolean options to
- mean `-persistmempool=1`. Passing `-persistmempool=0`, `-persistmempool=1`
- and `-nopersistmempool` is unaffected. (#23061)
-
-- `-maxuploadtarget` now allows human readable byte units [k|K|m|M|g|G|t|T].
- E.g. `-maxuploadtarget=500g`. No whitespace, +- or fractions allowed.
- Default is `M` if no suffix provided. (#23249)
-
-- If `-proxy=` is given together with `-noonion` then the provided proxy will
- not be set as a proxy for reaching the Tor network. So it will not be
- possible to open manual connections to the Tor network for example with the
- `addnode` RPC. To mimic the old behavior use `-proxy=` together with
- `-onlynet=` listing all relevant networks except `onion`. (#22834)
-
-Tools and Utilities
--------------------
-
-- Update `-getinfo` to return data in a user-friendly format that also reduces vertical space. (#21832)
-
-- CLI `-addrinfo` now returns a single field for the number of `onion` addresses
- known to the node instead of separate `torv2` and `torv3` fields, as support
- for Tor V2 addresses was removed from Bitcoin Core in 22.0. (#22544)
-
-Wallet
-------
-
-- `upgradewallet` will now automatically flush the keypool if upgrading
- from a non-HD wallet to an HD wallet, to immediately start using the
- newly-generated HD keys. (#23093)
-
-- a new RPC `newkeypool` has been added, which will flush (entirely
- clear and refill) the keypool. (#23093)
-
-- `listunspent` now includes `ancestorcount`, `ancestorsize`, and
- `ancestorfees` for each transaction output that is still in the mempool.
- (#12677)
-
-- `lockunspent` now optionally takes a third parameter, `persistent`, which
- causes the lock to be written persistently to the wallet database. This
- allows UTXOs to remain locked even after node restarts or crashes. (#23065)
-
-- `receivedby` RPCs now include coinbase transactions. Previously, the
- following wallet RPCs excluded coinbase transactions: `getreceivedbyaddress`,
- `getreceivedbylabel`, `listreceivedbyaddress`, `listreceivedbylabel`. This
- release changes this behaviour and returns results accounting for received
- coins from coinbase outputs. The previous behaviour can be restored using the
- configuration `-deprecatedrpc=exclude_coinbase`, but may be removed in a
- future release. (#14707)
-
-- A new option in the same `receivedby` RPCs, `include_immature_coinbase`
- (default=`false`), determines whether to account for immature coinbase
- transactions. Immature coinbase transactions are coinbase transactions that
- have 100 or fewer confirmations, and are not spendable. (#14707)
+### P2P
+
+- #25314 p2p: always set nTime for self-advertisements
+
+### RPC and other APIs
+
+- #25220 rpc: fix incorrect warning for address type p2sh-segwit in createmultisig
+- #25237 rpc: Capture UniValue by ref for rpcdoccheck
+- #25983 Prevent data race for pathHandlers
+- #26275 Fix crash on deriveaddresses when index is 2147483647 (2^31-1)
-GUI changes
------------
+### Build system
-- UTXOs which are locked via the GUI are now stored persistently in the
- wallet database, so are not lost on node shutdown or crash. (#23065)
+- #25201 windeploy: Renewed windows code signing certificate
+- #25788 guix: patch NSIS to remove .reloc sections from installer stubs
+- #25861 guix: use --build={arch}-guix-linux-gnu in cross toolchain
+- #25985 Revert "build: Use Homebrew's sqlite package if it is available"
-- The Bech32 checkbox has been replaced with a dropdown for all address types, including the new Bech32m (BIP-350) standard for Taproot enabled wallets.
+### GUI
-Low-level changes
-=================
+- #24668 build, qt: bump Qt5 version to 5.15.3
+- gui#631 Disallow encryption of watchonly wallets
+- gui#680 Fixes MacOS 13 segfault by preventing certain notifications
-RPC
----
+### Tests
-- `getblockchaininfo` now returns a new `time` field, that provides the chain tip time. (#22407)
+- #24454 tests: Fix calculation of external input weights
-Tests
------
+### Miscellaneous
-- For the `regtest` network the activation heights of several softforks were
- set to block height 1. They can be changed by the runtime setting
- `-testactivationheight=name@height`. (#22818)
+- #26321 Adjust .tx/config for new Transifex CLI
Credits
=======
Thanks to everyone who directly contributed to this release:
+Andrew Chow
+brunoerg
+Hennadii Stepanov
+John Moffett
+MacroFake
+Martin Zumsande
+Michael Ford
+muxator
+Pavol Rusnak
+Sebastian Falbesoner
+W. J. van der Laan
As well as to everyone that helped with translations on
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).
diff --git a/doc/release-notes/release-notes-23.0.md b/doc/release-notes/release-notes-23.0.md
new file mode 100644
index 0000000000..b1467a0f71
--- /dev/null
+++ b/doc/release-notes/release-notes-23.0.md
@@ -0,0 +1,373 @@
+23.0 Release Notes
+==================
+
+Bitcoin Core version 23.0 is now available from:
+
+ <https://bitcoincore.org/bin/bitcoin-core-23.0/>
+
+This release includes new features, various bug fixes and performance
+improvements, as well as updated translations.
+
+Please report bugs using the issue tracker at GitHub:
+
+ <https://github.com/bitcoin/bitcoin/issues>
+
+To receive security and update notifications, please subscribe to:
+
+ <https://bitcoincore.org/en/list/announcements/join/>
+
+How to Upgrade
+==============
+
+If you are running an older version, shut it down. Wait until it has completely
+shut down (which might take a few minutes in some cases), then run the
+installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on Mac)
+or `bitcoind`/`bitcoin-qt` (on Linux).
+
+Upgrading directly from a version of Bitcoin Core that has reached its EOL is
+possible, but it might take some time if the data directory needs to be migrated. Old
+wallet versions of Bitcoin Core are generally supported.
+
+Compatibility
+==============
+
+Bitcoin Core is supported and extensively tested on operating systems
+using the Linux kernel, macOS 10.15+, and Windows 7 and newer. Bitcoin
+Core should also work on most other Unix-like systems but is not as
+frequently tested on them. It is not recommended to use Bitcoin Core on
+unsupported systems.
+
+Notable changes
+===============
+
+P2P and network changes
+-----------------------
+
+- A bitcoind node will no longer rumour addresses to inbound peers by default.
+ They will become eligible for address gossip after sending an ADDR, ADDRV2,
+ or GETADDR message. (#21528)
+
+- Before this release, Bitcoin Core had a strong preference to try to connect only to peers that listen on port 8333. As a result of that, Bitcoin nodes listening on non-standard ports would likely not get any Bitcoin Core peers connecting to them. This preference has been removed. (#23542)
+
+- Full support has been added for the CJDNS network. See the new option `-cjdnsreachable` and [doc/cjdns.md](https://github.com/bitcoin/bitcoin/tree/23.x/doc/cjdns.md) (#23077)
+
+Fee estimation changes
+----------------------
+
+- Fee estimation now takes the feerate of replacement (RBF) transactions into
+ account. (#22539)
+
+Rescan startup parameter removed
+--------------------------------
+
+The `-rescan` startup parameter has been removed. Wallets which require
+rescanning due to corruption will still be rescanned on startup.
+Otherwise, please use the `rescanblockchain` RPC to trigger a rescan. (#23123)
+
+Tracepoints and Userspace, Statically Defined Tracing support
+-------------------------------------------------------------
+
+Bitcoin Core release binaries for Linux now include experimental tracepoints which
+act as an interface for process-internal events. These can be used for review,
+debugging, monitoring, and more. The tracepoint API is semi-stable. While the API
+is tested, process internals might change between releases requiring changes to the
+tracepoints. Information about the existing tracepoints can be found under
+[doc/tracing.md](https://github.com/bitcoin/bitcoin/blob/23.x/doc/tracing.md) and
+usage examples are provided in [contrib/tracing/](https://github.com/bitcoin/bitcoin/tree/23.x/contrib/tracing).
+
+Updated RPCs
+------------
+
+- The `validateaddress` RPC now returns an `error_locations` array for invalid
+ addresses, with the indices of invalid character locations in the address (if
+ known). For example, this will attempt to locate up to two Bech32 errors, and
+ return their locations if successful. Success and correctness are only guaranteed
+ if fewer than two substitution errors have been made.
+ The error message returned in the `error` field now also returns more specific
+ errors when decoding fails. (#16807)
+
+- The `-deprecatedrpc=addresses` configuration option has been removed. RPCs
+ `gettxout`, `getrawtransaction`, `decoderawtransaction`, `decodescript`,
+ `gettransaction verbose=true` and REST endpoints `/rest/tx`, `/rest/getutxos`,
+ `/rest/block` no longer return the `addresses` and `reqSigs` fields, which
+ were previously deprecated in 22.0. (#22650)
+- The `getblock` RPC command now supports verbosity level 3 containing transaction inputs'
+ `prevout` information. The existing `/rest/block/` REST endpoint is modified to contain
+ this information too. Every `vin` field will contain an additional `prevout` subfield
+ describing the spent output. `prevout` contains the following keys:
+ - `generated` - true if the spent coins was a coinbase.
+ - `height`
+ - `value`
+ - `scriptPubKey`
+
+- The top-level fee fields `fee`, `modifiedfee`, `ancestorfees` and `descendantfees`
+ returned by RPCs `getmempoolentry`,`getrawmempool(verbose=true)`,
+ `getmempoolancestors(verbose=true)` and `getmempooldescendants(verbose=true)`
+ are deprecated and will be removed in the next major version (use
+ `-deprecated=fees` if needed in this version). The same fee fields can be accessed
+ through the `fees` object in the result. WARNING: deprecated
+ fields `ancestorfees` and `descendantfees` are denominated in sats, whereas all
+ fields in the `fees` object are denominated in BTC. (#22689)
+
+- Both `createmultisig` and `addmultisigaddress` now include a `warnings`
+ field, which will show a warning if a non-legacy address type is requested
+ when using uncompressed public keys. (#23113)
+
+Changes to wallet related RPCs can be found in the Wallet section below.
+
+New RPCs
+--------
+
+- Information on soft fork status has been moved from `getblockchaininfo`
+ to the new `getdeploymentinfo` RPC which allows querying soft fork status at any
+ block, rather than just at the chain tip. Inclusion of soft fork
+ status in `getblockchaininfo` can currently be restored using the
+ configuration `-deprecatedrpc=softforks`, but this will be removed in
+ a future release. Note that in either case, the `status` field
+ now reflects the status of the current block rather than the next
+ block. (#23508)
+
+Files
+-----
+
+* On startup, the list of banned hosts and networks (via `setban` RPC) in
+ `banlist.dat` is ignored and only `banlist.json` is considered. Bitcoin Core
+ version 22.x is the only version that can read `banlist.dat` and also write
+ it to `banlist.json`. If `banlist.json` already exists, version 22.x will not
+ try to translate the `banlist.dat` into json. After an upgrade, `listbanned`
+ can be used to double check the parsed entries. (#22570)
+
+Updated settings
+----------------
+
+- In previous releases, the meaning of the command line option
+ `-persistmempool` (without a value provided) incorrectly disabled mempool
+ persistence. `-persistmempool` is now treated like other boolean options to
+ mean `-persistmempool=1`. Passing `-persistmempool=0`, `-persistmempool=1`
+ and `-nopersistmempool` is unaffected. (#23061)
+
+- `-maxuploadtarget` now allows human readable byte units [k|K|m|M|g|G|t|T].
+ E.g. `-maxuploadtarget=500g`. No whitespace, +- or fractions allowed.
+ Default is `M` if no suffix provided. (#23249)
+
+- If `-proxy=` is given together with `-noonion` then the provided proxy will
+ not be set as a proxy for reaching the Tor network. So it will not be
+ possible to open manual connections to the Tor network for example with the
+ `addnode` RPC. To mimic the old behavior use `-proxy=` together with
+ `-onlynet=` listing all relevant networks except `onion`. (#22834)
+
+Tools and Utilities
+-------------------
+
+- Update `-getinfo` to return data in a user-friendly format that also reduces vertical space. (#21832)
+
+- CLI `-addrinfo` now returns a single field for the number of `onion` addresses
+ known to the node instead of separate `torv2` and `torv3` fields, as support
+ for Tor V2 addresses was removed from Bitcoin Core in 22.0. (#22544)
+
+Wallet
+------
+
+- Descriptor wallets are now the default wallet type. Newly created wallets
+ will use descriptors unless `descriptors=false` is set during `createwallet`, or
+ the `Descriptor wallet` checkbox is unchecked in the GUI.
+
+ Note that wallet RPC commands like `importmulti` and `dumpprivkey` cannot be
+ used with descriptor wallets, so if your client code relies on these commands
+ without specifying `descriptors=false` during wallet creation, you will need
+ to update your code.
+
+- Newly created descriptor wallets will contain an automatically generated `tr()`
+ descriptor which allows for creating single key Taproot receiving addresses.
+
+- `upgradewallet` will now automatically flush the keypool if upgrading
+ from a non-HD wallet to an HD wallet, to immediately start using the
+ newly-generated HD keys. (#23093)
+
+- a new RPC `newkeypool` has been added, which will flush (entirely
+ clear and refill) the keypool. (#23093)
+
+- `listunspent` now includes `ancestorcount`, `ancestorsize`, and
+ `ancestorfees` for each transaction output that is still in the mempool.
+ (#12677)
+
+- `lockunspent` now optionally takes a third parameter, `persistent`, which
+ causes the lock to be written persistently to the wallet database. This
+ allows UTXOs to remain locked even after node restarts or crashes. (#23065)
+
+- `receivedby` RPCs now include coinbase transactions. Previously, the
+ following wallet RPCs excluded coinbase transactions: `getreceivedbyaddress`,
+ `getreceivedbylabel`, `listreceivedbyaddress`, `listreceivedbylabel`. This
+ release changes this behaviour and returns results accounting for received
+ coins from coinbase outputs. The previous behaviour can be restored using the
+ configuration `-deprecatedrpc=exclude_coinbase`, but may be removed in a
+ future release. (#14707)
+
+- A new option in the same `receivedby` RPCs, `include_immature_coinbase`
+ (default=`false`), determines whether to account for immature coinbase
+ transactions. Immature coinbase transactions are coinbase transactions that
+ have 100 or fewer confirmations, and are not spendable. (#14707)
+
+GUI changes
+-----------
+
+- UTXOs which are locked via the GUI are now stored persistently in the
+ wallet database, so are not lost on node shutdown or crash. (#23065)
+
+- The Bech32 checkbox has been replaced with a dropdown for all address types, including the new Bech32m (BIP-350) standard for Taproot enabled wallets.
+
+Low-level changes
+=================
+
+RPC
+---
+
+- `getblockchaininfo` now returns a new `time` field, that provides the chain tip time. (#22407)
+
+Tests
+-----
+
+- For the `regtest` network the activation heights of several softforks were
+ set to block height 1. They can be changed by the runtime setting
+ `-testactivationheight=name@height`. (#22818)
+
+Credits
+=======
+
+Thanks to everyone who directly contributed to this release:
+
+- 0xb10c
+- 0xree
+- Aaron Clauson
+- Adrian-Stefan Mares
+- agroce
+- aitorjs
+- Alex Groce
+- amadeuszpawlik
+- Amiti Uttarwar
+- Andrew Chow
+- Andrew Poelstra
+- Andrew Toth
+- anouar kappitou
+- Anthony Towns
+- Antoine Poinsot
+- Arnab Sen
+- Ben Woosley
+- benthecarman
+- Bitcoin Hodler
+- BitcoinTsunami
+- brianddk
+- Bruno Garcia
+- CallMeMisterOwl
+- Calvin Kim
+- Carl Dong
+- Cory Fields
+- Cuong V. Nguyen
+- Darius Parvin
+- Dhruv Mehta
+- Dimitri Deijs
+- Dimitris Apostolou
+- Dmitry Goncharov
+- Douglas Chimento
+- eugene
+- Fabian Jahr
+- fanquake
+- Florian Baumgartl
+- fyquah
+- Gleb Naumenko
+- glozow
+- Gregory Sanders
+- Heebs
+- Hennadii Stepanov
+- hg333
+- HiLivin
+- Igor Cota
+- Jadi
+- James O'Beirne
+- Jameson Lopp
+- Jarol Rodriguez
+- Jeremy Rand
+- Jeremy Rubin
+- Joan Karadimov
+- John Newbery
+- Jon Atack
+- João Barbosa
+- josibake
+- junderw
+- Karl-Johan Alm
+- katesalazar
+- Kennan Mell
+- Kiminuo
+- Kittywhiskers Van Gogh
+- Klement Tan
+- Kristaps Kaupe
+- Kuro
+- Larry Ruane
+- lsilva01
+- lucash-dev
+- Luke Dashjr
+- MarcoFalke
+- Martin Leitner-Ankerl
+- Martin Zumsande
+- Matt Corallo
+- Matt Whitlock
+- MeshCollider
+- Michael Dietz
+- Murch
+- naiza
+- Nathan Garabedian
+- Nelson Galdeman
+- NikhilBartwal
+- Niklas Gögge
+- node01
+- nthumann
+- Pasta
+- Patrick Kamin
+- Pavel Safronov
+- Pavol Rusnak
+- Perlover
+- Pieter Wuille
+- practicalswift
+- pradumnasaraf
+- pranabp-bit
+- Prateek Sancheti
+- Prayank
+- Rafael Sadowski
+- rajarshimaitra
+- randymcmillan
+- ritickgoenka
+- Rob Fielding
+- Rojar Smith
+- Russell Yanofsky
+- S3RK
+- Saibato
+- Samuel Dobson
+- sanket1729
+- seaona
+- Sebastian Falbesoner
+- sh15h4nk
+- Shashwat
+- Shorya
+- ShubhamPalriwala
+- Shubhankar Gambhir
+- Sjors Provoost
+- sogoagain
+- sstone
+- stratospher
+- Suriyaa Rocky Sundararuban
+- Taeik Lim
+- TheCharlatan
+- Tim Ruffing
+- Tobin Harding
+- Troy Giorshev
+- Tyler Chambers
+- Vasil Dimov
+- W. J. van der Laan
+- w0xlt
+- willcl-ark
+- William Casarin
+- zealsham
+- Zero-1729
+
+As well as to everyone that helped with translations on
+[Transifex](https://www.transifex.com/bitcoin/bitcoin/).