CompatibilityBitcoin 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 changesFrom the above the unsupported system can also be some Unix-like systems right? Or shouldn't a list of unsupported systems be given for clarity?
Updated RPCs- All JSON-RPC methods accept a new named
parameter 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:
bitcoin-cli -named createwallet wallet_name=mywallet load_on_startup=1
Can now be shortened to:
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 SystemWallet- 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)
A row stating whether or not it's wallet is a custodial or non-custodial wallet would have been more expository.