aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2023-10-04 13:09:48 +0100
committerfanquake <fanquake@gmail.com>2023-10-04 13:10:16 +0100
commit167d3e2f16ca8d3ed8d31e71490ecf0ca220ac34 (patch)
treef7aef020b71d98d445c589afa64e5444887a291d
parent9f8d501cb88e25cbc80f80485d3da981bb26fa62 (diff)
parent10f3f813b251d16c86d0b41bbdd7b7ab4a22e00d (diff)
Merge bitcoin/bitcoin#28559: [25.1] Final changes for 25.1rc1v25.1rc1
10f3f813b251d16c86d0b41bbdd7b7ab4a22e00d doc: add release notes for 25.1rc1 (fanquake) 71aed7aa31507220ca8b53a8d3c1b62a73a80c45 doc: update manual pages for 25.1rc1 (fanquake) 02f059c8199efbcbec47ff289f71ac30a5d7313d build: Bump version to 25.1rc1 (fanquake) dc1fcec0260db8fa95d74d46d2e1b302e0a66782 doc: add 25.0 release notes (fanquake) Pull request description: Final changes to tag a `25.1rc1`. Bumps version numbers, man pages, adds release notes etc. ACKs for top commit: dergoegge: ACK 10f3f813b251d16c86d0b41bbdd7b7ab4a22e00d hebasto: ACK 10f3f813b251d16c86d0b41bbdd7b7ab4a22e00d, I have reviewed the code and it looks OK. willcl-ark: ACK 10f3f813b251d16c86d0b41bbdd7b7ab4a22e00d stickies-v: ACK 10f3f813b251d16c86d0b41bbdd7b7ab4a22e00d Tree-SHA512: 3e1c527dac06afb4c8e1e481055211f69aa0ed769ac242ed610d23d470bbc0c062227034d01876ba4a5fa836e953fb001e8b0d6bc026069d372d34b8a031fb25
-rw-r--r--configure.ac4
-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.md308
-rw-r--r--doc/release-notes/release-notes-25.0.md340
9 files changed, 398 insertions, 290 deletions
diff --git a/configure.ac b/configure.ac
index 518f99e309..457366ed6f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,8 +1,8 @@
AC_PREREQ([2.69])
define(_CLIENT_VERSION_MAJOR, 25)
-define(_CLIENT_VERSION_MINOR, 0)
+define(_CLIENT_VERSION_MINOR, 1)
define(_CLIENT_VERSION_BUILD, 0)
-define(_CLIENT_VERSION_RC, 0)
+define(_CLIENT_VERSION_RC, 1)
define(_CLIENT_VERSION_IS_RELEASE, true)
define(_COPYRIGHT_YEAR, 2023)
define(_COPYRIGHT_HOLDERS,[The %s developers])
diff --git a/doc/man/bitcoin-cli.1 b/doc/man/bitcoin-cli.1
index 6da5db7614..7841790eee 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.3.
-.TH BITCOIN-CLI "1" "May 2023" "bitcoin-cli v25.0.0" "User Commands"
+.TH BITCOIN-CLI "1" "October 2023" "bitcoin-cli v25.1.0rc1" "User Commands"
.SH NAME
-bitcoin-cli \- manual page for bitcoin-cli v25.0.0
+bitcoin-cli \- manual page for bitcoin-cli v25.1.0rc1
.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 v25.0.0
.B bitcoin-cli
[\fI\,options\/\fR] \fI\,help <command> Get help for a command\/\fR
.SH DESCRIPTION
-Bitcoin Core RPC client version v25.0.0
+Bitcoin Core RPC client version v25.1.0rc1
.SH OPTIONS
.HP
\-?
diff --git a/doc/man/bitcoin-qt.1 b/doc/man/bitcoin-qt.1
index 6b3182763e..13a6d98827 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.3.
-.TH BITCOIN-QT "1" "May 2023" "bitcoin-qt v25.0.0" "User Commands"
+.TH BITCOIN-QT "1" "October 2023" "bitcoin-qt v25.1.0rc1" "User Commands"
.SH NAME
-bitcoin-qt \- manual page for bitcoin-qt v25.0.0
+bitcoin-qt \- manual page for bitcoin-qt v25.1.0rc1
.SH SYNOPSIS
.B bitcoin-qt
[\fI\,command-line options\/\fR]
.SH DESCRIPTION
-Bitcoin Core version v25.0.0
+Bitcoin Core version v25.1.0rc1
.SH OPTIONS
.HP
\-?
diff --git a/doc/man/bitcoin-tx.1 b/doc/man/bitcoin-tx.1
index 23d80e57ca..8c034fbe04 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.3.
-.TH BITCOIN-TX "1" "May 2023" "bitcoin-tx v25.0.0" "User Commands"
+.TH BITCOIN-TX "1" "October 2023" "bitcoin-tx v25.1.0rc1" "User Commands"
.SH NAME
-bitcoin-tx \- manual page for bitcoin-tx v25.0.0
+bitcoin-tx \- manual page for bitcoin-tx v25.1.0rc1
.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 v25.0.0
.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 v25.0.0
+Bitcoin Core bitcoin\-tx utility version v25.1.0rc1
.SH OPTIONS
.HP
\-?
diff --git a/doc/man/bitcoin-util.1 b/doc/man/bitcoin-util.1
index afdb57843b..00a3b537e5 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.3.
-.TH BITCOIN-UTIL "1" "May 2023" "bitcoin-util v25.0.0" "User Commands"
+.TH BITCOIN-UTIL "1" "October 2023" "bitcoin-util v25.1.0rc1" "User Commands"
.SH NAME
-bitcoin-util \- manual page for bitcoin-util v25.0.0
+bitcoin-util \- manual page for bitcoin-util v25.1.0rc1
.SH SYNOPSIS
.B bitcoin-util
[\fI\,options\/\fR] [\fI\,commands\/\fR] \fI\,Do stuff\/\fR
.SH DESCRIPTION
-Bitcoin Core bitcoin\-util utility version v25.0.0
+Bitcoin Core bitcoin\-util utility version v25.1.0rc1
.SH OPTIONS
.HP
\-?
diff --git a/doc/man/bitcoin-wallet.1 b/doc/man/bitcoin-wallet.1
index 02485a5d09..bca9c20ab3 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.3.
-.TH BITCOIN-WALLET "1" "May 2023" "bitcoin-wallet v25.0.0" "User Commands"
+.TH BITCOIN-WALLET "1" "October 2023" "bitcoin-wallet v25.1.0rc1" "User Commands"
.SH NAME
-bitcoin-wallet \- manual page for bitcoin-wallet v25.0.0
+bitcoin-wallet \- manual page for bitcoin-wallet v25.1.0rc1
.SH DESCRIPTION
-Bitcoin Core bitcoin\-wallet version v25.0.0
+Bitcoin Core bitcoin\-wallet version v25.1.0rc1
.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 5d9998ba6f..8a97064773 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.3.
-.TH BITCOIND "1" "May 2023" "bitcoind v25.0.0" "User Commands"
+.TH BITCOIND "1" "October 2023" "bitcoind v25.1.0rc1" "User Commands"
.SH NAME
-bitcoind \- manual page for bitcoind v25.0.0
+bitcoind \- manual page for bitcoind v25.1.0rc1
.SH SYNOPSIS
.B bitcoind
[\fI\,options\/\fR] \fI\,Start Bitcoin Core\/\fR
.SH DESCRIPTION
-Bitcoin Core version v25.0.0
+Bitcoin Core version v25.1.0rc1
.SH OPTIONS
.HP
\-?
diff --git a/doc/release-notes.md b/doc/release-notes.md
index ee37c6a7c6..b27bfd0272 100644
--- a/doc/release-notes.md
+++ b/doc/release-notes.md
@@ -1,9 +1,9 @@
-25.0 Release Notes
+25.1rc1 Release Notes
==================
-Bitcoin Core version 25.0 is now available from:
+Bitcoin Core version 25.1rc1 is now available from:
- <https://bitcoincore.org/bin/bitcoin-core-25.0/>
+ <https://bitcoincore.org/bin/bitcoin-core-25.1/test.rc1>
This release includes new features, various bug fixes and performance
improvements, as well as updated translations.
@@ -40,301 +40,69 @@ unsupported systems.
Notable changes
===============
-P2P and network changes
------------------------
+### P2P
-- Transactions of non-witness size 65 and above are now allowed by mempool
- and relay policy. This is to better reflect the actual afforded protections
- against CVE-2017-12842 and open up additional use-cases of smaller transaction sizes. (#26265)
+- #27626 Parallel compact block downloads, take 3
+- #27743 p2p: Unconditionally return when compact block status == READ_STATUS_FAILED
-New RPCs
---------
+### Fees
-- The scanblocks RPC returns the relevant blockhashes from a set of descriptors by
- scanning all blockfilters in the given range. It can be used in combination with
- the getblockheader and rescanblockchain RPCs to achieve fast wallet rescans. Note
- that this functionality can only be used if a compact block filter index
- (-blockfilterindex=1) has been constructed by the node. (#23549)
+- #27622 Fee estimation: avoid serving stale fee estimate
-Updated RPCs
-------------
+### RPC
-- All JSON-RPC methods accept a new [named
- parameter](JSON-RPC-interface.md#parameter-passing) called `args` that can
- contain positional parameter values. This is a convenience to allow some
- parameter values to be passed by name without having to name every value. The
- python test framework and `bitcoin-cli` tool both take advantage of this, so
- for example:
+- #27727 rpc: Fix invalid bech32 address handling
-```sh
-bitcoin-cli -named createwallet wallet_name=mywallet load_on_startup=1
-```
+### Rest
-Can now be shortened to:
+- #27853 rest: fix crash error when calling /deploymentinfo
+- #28551 http: bugfix: allow server shutdown in case of remote client disconnection
-```sh
-bitcoin-cli -named createwallet mywallet load_on_startup=1
-```
+### Wallet
-- The `verifychain` RPC will now return `false` if the checks didn't fail,
- but couldn't be completed at the desired depth and level. This could be due
- to missing data while pruning, due to an insufficient dbcache or due to
- the node being shutdown before the call could finish. (#25574)
+- #28038 wallet: address book migration bug fixes
+- #28067 descriptors: do not return top-level only funcs as sub descriptors
+- #28125 wallet: bugfix, disallow migration of invalid scripts
+- #28542 wallet: Check for uninitialized last processed and conflicting heights in MarkConflicted
-- `sendrawtransaction` has a new, optional argument, `maxburnamount` with a default value of `0`.
- Any transaction containing an unspendable output with a value greater than `maxburnamount` will
- not be submitted. At present, the outputs deemed unspendable are those with scripts that begin
- with an `OP_RETURN` code (known as 'datacarriers'), scripts that exceed the maximum script size,
- and scripts that contain invalid opcodes.
+### Build
-- The `testmempoolaccept` RPC now returns 2 additional results within the "fees" result:
- "effective-feerate" is the feerate including fees and sizes of transactions validated together if
- package validation was used, and also includes any modified fees from prioritisetransaction. The
- "effective-includes" result lists the wtxids of transactions whose modified fees and sizes were used
- in the effective-feerate (#26646).
+- #27724 build: disable boost multi index safe mode in debug mode
+- #28097 depends: xcb-proto 1.15.2
+- #28543 build, macos: Fix qt package build with new Xcode 15 linker
+- #28571 depends: fix unusable memory_resource in macos qt build
-- `decodescript` may now infer a Miniscript descriptor under P2WSH context if it is not lacking
- information. (#27037)
+### Gui
-- `finalizepsbt` is now able to finalize a transaction with inputs spending Miniscript-compatible
- P2WSH scripts. (#24149)
+- gui#751 macOS, do not process actions during shutdown
-Changes to wallet related RPCs can be found in the Wallet section below.
+### Miscellaneous
-Build System
-------------
+- #28452 Do not use std::vector = {} to release memory
-- The `--enable-upnp-default` and `--enable-natpmp-default` options
- have been removed. If you want to use port mapping, you can
- configure it using a .conf file, or by passing the relevant
- options at runtime. (#26896)
+### CI
-Updated settings
-----------------
-
-- If the `-checkblocks` or `-checklevel` options are explicitly provided by the
-user, but the verification checks cannot be completed due to an insufficient
-dbcache, Bitcoin Core will now return an error at startup. (#25574)
-
-- Ports specified in `-port` and `-rpcport` options are now validated at startup.
- Values that previously worked and were considered valid can now result in errors. (#22087)
-
-- Setting `-blocksonly` will now reduce the maximum mempool memory
- to 5MB (users may still use `-maxmempool` to override). Previously,
- the default 300MB would be used, leading to unexpected memory usage
- for users running with `-blocksonly` expecting it to eliminate
- mempool memory usage.
-
- As unused mempool memory is shared with dbcache, this also reduces
- the dbcache size for users running with `-blocksonly`, potentially
- impacting performance.
-- Setting `-maxconnections=0` will now disable `-dnsseed`
- and `-listen` (users may still set them to override).
-
-Changes to GUI or wallet related settings can be found in the GUI or Wallet section below.
-
-New settings
-------------
-
-- The `shutdownnotify` option is used to specify a command to execute synchronously
-before Bitcoin Core has begun its shutdown sequence. (#23395)
-
-
-Wallet
-------
-
-- The `minconf` option, which allows a user to specify the minimum number
-of confirmations a UTXO being spent has, and the `maxconf` option,
-which allows specifying the maximum number of confirmations, have been
-added to the following RPCs in #25375:
- - `fundrawtransaction`
- - `send`
- - `walletcreatefundedpsbt`
- - `sendall`
-
-- Added a new `next_index` field in the response in `listdescriptors` to
- have the same format as `importdescriptors` (#26194)
-
-- RPC `listunspent` now has a new argument `include_immature_coinbase`
- to include coinbase UTXOs that don't meet the minimum spendability
- depth requirement (which before were silently skipped). (#25730)
-
-- Rescans for descriptor wallets are now significantly faster if compact
- block filters (BIP158) are available. Since those are not constructed
- by default, the configuration option "-blockfilterindex=1" has to be
- provided to take advantage of the optimization. This improves the
- performance of the RPC calls `rescanblockchain`, `importdescriptors`
- and `restorewallet`. (#25957)
-
-- RPC `unloadwallet` now fails if a rescan is in progress. (#26618)
-
-- Wallet passphrases may now contain null characters.
- Prior to this change, only characters up to the first
- null character were recognized and accepted. (#27068)
-
-- Address Purposes strings are now restricted to the currently known values of "send",
- "receive", and "refund". Wallets that have unrecognized purpose strings will have
- loading warnings, and the `listlabels` RPC will raise an error if an unrecognized purpose
- is requested. (#27217)
-
-- In the `createwallet`, `loadwallet`, `unloadwallet`, and `restorewallet` RPCs, the
- "warning" string field is deprecated in favor of a "warnings" field that
- returns a JSON array of strings to better handle multiple warning messages and
- for consistency with other wallet RPCs. The "warning" field will be fully
- removed from these RPCs in v26. It can be temporarily re-enabled during the
- deprecation period by launching bitcoind with the configuration option
- `-deprecatedrpc=walletwarningfield`. (#27279)
-
-- Descriptor wallets can now spend coins sent to P2WSH Miniscript descriptors. (#24149)
-
-GUI changes
------------
-
-- The "Mask values" is a persistent option now. (gui#701)
-- The "Mask values" option affects the "Transaction" view now, in addition to the
- "Overview" one. (gui#708)
-
-REST
-----
-
-- A new `/rest/deploymentinfo` endpoint has been added for fetching various
- state info regarding deployments of consensus changes. (#25412)
-
-Binary verification
-----
-
-- The binary verification script has been updated. In previous releases it
- would verify that the binaries had been signed with a single "release key".
- In this release and moving forward it will verify that the binaries are
- signed by a _threshold of trusted keys_. For more details and
- examples, see:
- https://github.com/bitcoin/bitcoin/blob/master/contrib/verify-binaries/README.md
- (#27358)
-
-Low-level changes
-=================
-
-RPC
----
-
-- The JSON-RPC server now rejects requests where a parameter is specified multiple
- times with the same name, instead of silently overwriting earlier parameter values
- with later ones. (#26628)
-- RPC `listsinceblock` now accepts an optional `label` argument
- to fetch incoming transactions having the specified label. (#25934)
-- Previously `setban`, `addpeeraddress`, `walletcreatefundedpsbt`, methods
- allowed non-boolean and non-null values to be passed as boolean parameters.
- Any string, number, array, or object value that was passed would be treated
- as false. After this change, passing any value except `true`, `false`, or
- `null` now triggers a JSON value is not of expected type error. (#26213)
+- #27777 ci: Prune dangling images on RESTART_CI_DOCKER_BEFORE_RUN
+- #27834 ci: Nuke Android APK task, Use credits for tsan
+- #27844 ci: Use podman stop over podman kill
+- #27886 ci: Switch to amd64 container in "ARM" task
Credits
=======
Thanks to everyone who directly contributed to this release:
-- 0xb10c
-- 721217.xyz
-- @RandyMcMillan
-- amadeuszpawlik
-- Amiti Uttarwar
+- Abubakar Sadiq Ismail
- Andrew Chow
-- Andrew Toth
-- Anthony Towns
-- Antoine Poinsot
-- Aurèle Oulès
-- Ben Woosley
-- Bitcoin Hodler
-- brunoerg
-- Bushstar
-- Carl Dong
-- Chris Geihsler
-- Cory Fields
-- David Gumberg
-- dergoegge
-- Dhruv Mehta
-- Dimitris Tsapakidis
-- dougEfish
-- Douglas Chimento
-- ekzyis
-- Elichai Turkel
-- Ethan Heilman
-- Fabian Jahr
-- FractalEncrypt
-- furszy
-- Gleb Naumenko
-- glozow
-- Greg Sanders
+- Bruno Garcia
+- Gregory Sanders
- Hennadii Stepanov
-- hernanmarino
-- ishaanam
-- ismaelsadeeq
-- James O'Beirne
-- jdjkelly@gmail.com
-- Jeff Ruane
-- Jeffrey Czyz
-- Jeremy Rubin
-- Jesse Barton
-- João Barbosa
-- JoaoAJMatos
-- John Moffett
-- Jon Atack
-- Jonas Schnelli
-- jonatack
-- Joshua Kelly
-- josibake
-- Juan Pablo Civile
-- kdmukai
-- klementtan
-- Kolby ML
-- kouloumos
-- Kristaps Kaupe
-- laanwj
-- Larry Ruane
-- Leonardo Araujo
-- Leonardo Lazzaro
-- Luke Dashjr
- MacroFake
-- MarcoFalke
-- Martin Leitner-Ankerl
-- Martin Zumsande
-- Matt Whitlock
-- Matthew Zipkin
+- Matias Furszyfer
- Michael Ford
-- Miles Liu
-- mruddy
-- Murray Nesbitt
-- muxator
-- omahs
-- pablomartin4btc
-- Pasta
- Pieter Wuille
-- Pttn
-- Randall Naar
-- Riahiamirreza
-- roconnor-blockstream
-- Russell O'Connor
-- Ryan Ofsky
-- S3RK
-- Sebastian Falbesoner
-- Seibart Nedor
-- sinetek
-- Sjors Provoost
-- Skuli Dulfari
-- SomberNight
-- Stacie Waleyko
- stickies-v
-- stratospher
-- Suhas Daftuar
-- Suriyaa Sundararuban
-- TheCharlatan
-- Vasil Dimov
-- Vasil Stoyanov
-- virtu
-- w0xlt
-- willcl-ark
-- yancy
-- Yusuf Sahin HAMZA
+- Will Clark
As well as to everyone that helped with translations on
-[Transifex](https://www.transifex.com/bitcoin/bitcoin/). \ No newline at end of file
+[Transifex](https://www.transifex.com/bitcoin/bitcoin/).
diff --git a/doc/release-notes/release-notes-25.0.md b/doc/release-notes/release-notes-25.0.md
new file mode 100644
index 0000000000..919cb3b2f3
--- /dev/null
+++ b/doc/release-notes/release-notes-25.0.md
@@ -0,0 +1,340 @@
+25.0 Release Notes
+==================
+
+Bitcoin Core version 25.0 is now available from:
+
+ <https://bitcoincore.org/bin/bitcoin-core-25.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 macOS)
+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
+-----------------------
+
+- Transactions of non-witness size 65 bytes and above are now allowed by mempool
+ and relay policy. This is to better reflect the actual afforded protections
+ against CVE-2017-12842 and open up additional use-cases of smaller transaction sizes. (#26265)
+
+New RPCs
+--------
+
+- The scanblocks RPC returns the relevant blockhashes from a set of descriptors by
+ scanning all blockfilters in the given range. It can be used in combination with
+ the getblockheader and rescanblockchain RPCs to achieve fast wallet rescans. Note
+ that this functionality can only be used if a compact block filter index
+ (-blockfilterindex=1) has been constructed by the node. (#23549)
+
+Updated RPCs
+------------
+
+- All JSON-RPC methods accept a new [named
+ parameter](https://github.com/bitcoin/bitcoin/blob/master/doc/JSON-RPC-interface.md#parameter-passing) called `args` that can
+ contain positional parameter values. This is a convenience to allow some
+ parameter values to be passed by name without having to name every value. The
+ python test framework and `bitcoin-cli` tool both take advantage of this, so
+ for example:
+
+```sh
+bitcoin-cli -named createwallet wallet_name=mywallet load_on_startup=1
+```
+
+Can now be shortened to:
+
+```sh
+bitcoin-cli -named createwallet mywallet load_on_startup=1
+```
+
+- The `verifychain` RPC will now return `false` if the checks didn't fail,
+ but couldn't be completed at the desired depth and level. This could be due
+ to missing data while pruning, due to an insufficient dbcache or due to
+ the node being shutdown before the call could finish. (#25574)
+
+- `sendrawtransaction` has a new, optional argument, `maxburnamount` with a default value of `0`.
+ Any transaction containing an unspendable output with a value greater than `maxburnamount` will
+ not be submitted. At present, the outputs deemed unspendable are those with scripts that begin
+ with an `OP_RETURN` code (known as 'datacarriers'), scripts that exceed the maximum script size,
+ and scripts that contain invalid opcodes.
+
+- The `testmempoolaccept` RPC now returns 2 additional results within the "fees" result:
+ "effective-feerate" is the feerate including fees and sizes of transactions validated together if
+ package validation was used, and also includes any modified fees from prioritisetransaction. The
+ "effective-includes" result lists the wtxids of transactions whose modified fees and sizes were used
+ in the effective-feerate (#26646).
+
+- `decodescript` may now infer a Miniscript descriptor under P2WSH context if it is not lacking
+ information. (#27037)
+
+- `finalizepsbt` is now able to finalize a transaction with inputs spending Miniscript-compatible
+ P2WSH scripts. (#24149)
+
+Changes to wallet related RPCs can be found in the Wallet section below.
+
+Build System
+------------
+
+- The `--enable-upnp-default` and `--enable-natpmp-default` options
+ have been removed. If you want to use port mapping, you can
+ configure it using a .conf file, or by passing the relevant
+ options at runtime. (#26896)
+
+Updated settings
+----------------
+
+- If the `-checkblocks` or `-checklevel` options are explicitly provided by the
+user, but the verification checks cannot be completed due to an insufficient
+dbcache, Bitcoin Core will now return an error at startup. (#25574)
+
+- Ports specified in `-port` and `-rpcport` options are now validated at startup.
+ Values that previously worked and were considered valid can now result in errors. (#22087)
+
+- Setting `-blocksonly` will now reduce the maximum mempool memory
+ to 5MB (users may still use `-maxmempool` to override). Previously,
+ the default 300MB would be used, leading to unexpected memory usage
+ for users running with `-blocksonly` expecting it to eliminate
+ mempool memory usage.
+
+ As unused mempool memory is shared with dbcache, this also reduces
+ the dbcache size for users running with `-blocksonly`, potentially
+ impacting performance.
+- Setting `-maxconnections=0` will now disable `-dnsseed`
+ and `-listen` (users may still set them to override).
+
+Changes to GUI or wallet related settings can be found in the GUI or Wallet section below.
+
+New settings
+------------
+
+- The `shutdownnotify` option is used to specify a command to execute synchronously
+before Bitcoin Core has begun its shutdown sequence. (#23395)
+
+
+Wallet
+------
+
+- The `minconf` option, which allows a user to specify the minimum number
+of confirmations a UTXO being spent has, and the `maxconf` option,
+which allows specifying the maximum number of confirmations, have been
+added to the following RPCs in #25375:
+ - `fundrawtransaction`
+ - `send`
+ - `walletcreatefundedpsbt`
+ - `sendall`
+
+- Added a new `next_index` field in the response in `listdescriptors` to
+ have the same format as `importdescriptors` (#26194)
+
+- RPC `listunspent` now has a new argument `include_immature_coinbase`
+ to include coinbase UTXOs that don't meet the minimum spendability
+ depth requirement (which before were silently skipped). (#25730)
+
+- Rescans for descriptor wallets are now significantly faster if compact
+ block filters (BIP158) are available. Since those are not constructed
+ by default, the configuration option "-blockfilterindex=1" has to be
+ provided to take advantage of the optimization. This improves the
+ performance of the RPC calls `rescanblockchain`, `importdescriptors`
+ and `restorewallet`. (#25957)
+
+- RPC `unloadwallet` now fails if a rescan is in progress. (#26618)
+
+- Wallet passphrases may now contain null characters.
+ Prior to this change, only characters up to the first
+ null character were recognized and accepted. (#27068)
+
+- Address Purposes strings are now restricted to the currently known values of "send",
+ "receive", and "refund". Wallets that have unrecognized purpose strings will have
+ loading warnings, and the `listlabels` RPC will raise an error if an unrecognized purpose
+ is requested. (#27217)
+
+- In the `createwallet`, `loadwallet`, `unloadwallet`, and `restorewallet` RPCs, the
+ "warning" string field is deprecated in favor of a "warnings" field that
+ returns a JSON array of strings to better handle multiple warning messages and
+ for consistency with other wallet RPCs. The "warning" field will be fully
+ removed from these RPCs in v26. It can be temporarily re-enabled during the
+ deprecation period by launching bitcoind with the configuration option
+ `-deprecatedrpc=walletwarningfield`. (#27279)
+
+- Descriptor wallets can now spend coins sent to P2WSH Miniscript descriptors. (#24149)
+
+GUI changes
+-----------
+
+- The "Mask values" is a persistent option now. (gui#701)
+- The "Mask values" option affects the "Transaction" view now, in addition to the
+ "Overview" one. (gui#708)
+
+REST
+----
+
+- A new `/rest/deploymentinfo` endpoint has been added for fetching various
+ state info regarding deployments of consensus changes. (#25412)
+
+Binary verification
+----
+
+- The binary verification script has been updated. In previous releases it
+ would verify that the binaries had been signed with a single "release key".
+ In this release and moving forward it will verify that the binaries are
+ signed by a _threshold of trusted keys_. For more details and
+ examples, see:
+ https://github.com/bitcoin/bitcoin/blob/master/contrib/verify-binaries/README.md
+ (#27358)
+
+Low-level changes
+=================
+
+RPC
+---
+
+- The JSON-RPC server now rejects requests where a parameter is specified multiple
+ times with the same name, instead of silently overwriting earlier parameter values
+ with later ones. (#26628)
+- RPC `listsinceblock` now accepts an optional `label` argument
+ to fetch incoming transactions having the specified label. (#25934)
+- Previously `setban`, `addpeeraddress`, `walletcreatefundedpsbt`, methods
+ allowed non-boolean and non-null values to be passed as boolean parameters.
+ Any string, number, array, or object value that was passed would be treated
+ as false. After this change, passing any value except `true`, `false`, or
+ `null` now triggers a JSON value is not of expected type error. (#26213)
+
+Credits
+=======
+
+Thanks to everyone who directly contributed to this release:
+
+- 0xb10c
+- 721217.xyz
+- @RandyMcMillan
+- amadeuszpawlik
+- Amiti Uttarwar
+- Andrew Chow
+- Andrew Toth
+- Anthony Towns
+- Antoine Poinsot
+- Aurèle Oulès
+- Ben Woosley
+- Bitcoin Hodler
+- brunoerg
+- Bushstar
+- Carl Dong
+- Chris Geihsler
+- Cory Fields
+- David Gumberg
+- dergoegge
+- Dhruv Mehta
+- Dimitris Tsapakidis
+- dougEfish
+- Douglas Chimento
+- ekzyis
+- Elichai Turkel
+- Ethan Heilman
+- Fabian Jahr
+- FractalEncrypt
+- furszy
+- Gleb Naumenko
+- glozow
+- Greg Sanders
+- Hennadii Stepanov
+- hernanmarino
+- ishaanam
+- ismaelsadeeq
+- James O'Beirne
+- jdjkelly@gmail.com
+- Jeff Ruane
+- Jeffrey Czyz
+- Jeremy Rubin
+- Jesse Barton
+- João Barbosa
+- JoaoAJMatos
+- John Moffett
+- Jon Atack
+- Jonas Schnelli
+- jonatack
+- Joshua Kelly
+- josibake
+- Juan Pablo Civile
+- kdmukai
+- klementtan
+- Kolby ML
+- kouloumos
+- Kristaps Kaupe
+- laanwj
+- Larry Ruane
+- Leonardo Araujo
+- Leonardo Lazzaro
+- Luke Dashjr
+- MacroFake
+- MarcoFalke
+- Martin Leitner-Ankerl
+- Martin Zumsande
+- Matt Whitlock
+- Matthew Zipkin
+- Michael Ford
+- Miles Liu
+- mruddy
+- Murray Nesbitt
+- muxator
+- omahs
+- pablomartin4btc
+- Pasta
+- Pieter Wuille
+- Pttn
+- Randall Naar
+- Riahiamirreza
+- roconnor-blockstream
+- Russell O'Connor
+- Ryan Ofsky
+- S3RK
+- Sebastian Falbesoner
+- Seibart Nedor
+- sinetek
+- Sjors Provoost
+- Skuli Dulfari
+- SomberNight
+- Stacie Waleyko
+- stickies-v
+- stratospher
+- Suhas Daftuar
+- Suriyaa Sundararuban
+- TheCharlatan
+- Vasil Dimov
+- Vasil Stoyanov
+- virtu
+- w0xlt
+- willcl-ark
+- yancy
+- Yusuf Sahin HAMZA
+
+As well as to everyone that helped with translations on
+[Transifex](https://www.transifex.com/bitcoin/bitcoin/). \ No newline at end of file