An aggregation of all the release notes that are currently in /doc. In preparation for Bitcoin Core 24.0 Release Candidate testing guide.
- With I2P connections, a new, transient address is used for each outbound
connection if
-i2pacceptincoming=0
. (#25355)
-
The
-deprecatedrpc=softforks
configuration option has been removed. The RPCgetblockchaininfo
no longer returns thesoftforks
field, which was previously deprecated in 23.0. (#23508) Information on soft fork status is now only available via thegetdeploymentinfo
RPC. -
The
deprecatedrpc=exclude_coinbase
configuration option has been removed. Thereceivedby
RPCs (listreceivedbyaddress
,listreceivedbylabel
,getreceivedbyaddress
andgetreceivedbylabel
) now always return results accounting for received coins from coinbase outputs, without an option to change that behaviour. Excluding coinbases was previously deprecated in 23.0. (#25171) -
The
deprecatedrpc=fees
configuration option has been removed. The top-level fee fieldsfee
,modifiedfee
,ancestorfees
anddescendantfees
are no longer returned by RPCsgetmempoolentry
,getrawmempool(verbose=true)
,getmempoolancestors(verbose=true)
andgetmempooldescendants(verbose=true)
. The same fee fields can be accessed through thefees
object in the result. The top-level fee fields were previously deprecated in 23.0. (#25204) -
The
replaceable
option for thecreaterawtransaction
andcreatepsbt
RPCs will now default totrue
. Transactions created with these RPCs will default to having opt-in RBF enabled. -
The
listsinceblock
,listtransactions
andgettransaction
output now contain a newparent_descs
field for every "receive" entry. -
A new optional
include_change
parameter was added to thelistsinceblock
command. -
The
listtransactions
,gettransaction
, andlistsinceblock
RPC methods now include a wtxid field (hash of serialized transaction, including witness data) for each transaction.
Changes to wallet related RPCs can be found in the Wallet section below.
-
The
sendall
RPC spends specific UTXOs to one or more recipients without creating change. By default, thesendall
RPC will spend every UTXO in the wallet.sendall
is useful to empty wallets or to create a changeless payment from select UTXOs. When creating a payment from a specific amount for which the recipient incurs the transaction fee, continue to use thesubtractfeefromamount
option via thesend
,sendtoaddress
, orsendmany
RPCs. (#24118) -
A new
gettxspendingprevout
RPC has been added, which scans the mempool to find transactions spending any of the given outpoints. (#24408)
-
The
/headers/
and/blockfilterheaders/
endpoints have been updated to use a query parameter instead of path parameter to specify the result count. The count parameter is now optional, and defaults to 5 for both endpoints. The old endpoints are still functional, and have no documented behaviour change.For
/headers
, useGET /rest/headers/<BLOCK-HASH>.<bin|hex|json>?count=<COUNT=5>
instead ofGET /rest/headers/<COUNT>/<BLOCK-HASH>.<bin|hex|json>
(deprecated)For
/blockfilterheaders/
, useGET /rest/blockfilterheaders/<FILTERTYPE>/<BLOCK-HASH>.<bin|hex|json>?count=<COUNT=5>
instead ofGET /rest/blockfilterheaders/<FILTERTYPE>/<COUNT>/<BLOCK-HASH>.<bin|hex|json>
(deprecated)(#24098)
Changes to GUI or wallet related settings can be found in the GUI or Wallet section below.
- A new
mempoolfullrbf
option has been added, which enables the mempool to accept transaction replacement without enforcing BIP125 replaceability signaling. (#25353)
-
The
wsh()
output descriptor was extended with Miniscript support. You can import Miniscript descriptors for P2WSH in a watchonly wallet to track coins, but you can't spend from them using the Bitcoin Core wallet yet. You can find more about Miniscript on the reference website. -
To help prevent fingerprinting transactions created by the Bitcoin Core wallet, change output amounts are now randomized. (#24494)
-
RPC
getreceivedbylabel
now returns an error, "Label not found in wallet" (-4), if the label is not in the address book. (#25122) -
The
-walletrbf
startup option will now default totrue
. The wallet will now default to opt-in RBF on transactions that it creates.
An experimental RPC migratewallet
has been added to migrate Legacy (non-descriptor) wallets to
Descriptor wallets. More information about the migration process is available in the
documentation.
-
A new menu item to restore a wallet from a backup file has been added
-
Configuration changes made in the bitcoin GUI (such as the pruning setting, proxy settings, UPNP preferences) are now saved to
<datadir>/settings.json
file rather than to the Qt settings backend (windows registry or unix desktop config files), so these settings will now apply to bitcoind, instead of being ignored.Also, the interaction between GUI settings and
bitcoin.conf
settings is simplified. Settings frombitcoin.conf
are now displayed normally in the GUI settings dialog, instead of in a separate warning message ("Options set in this dialog are overridden by the configuration file: -setting=value"). And these settings can now be edited becausesettings.json
values take precedence overbitcoin.conf
values.
-
The
deriveaddresses
,getdescriptorinfo
,importdescriptors
andscantxoutset
commands now accept Miniscript expression within awsh()
descriptor. -
The
getaddressinfo
,decodescript
,listdescriptors
andlistunspent
commands may now output a Miniscript descriptor inside awsh()
where awsh(raw())
descriptor was previously returned.