mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-03-13 19:37:04 +01:00
Merge bitcoin/bitcoin#26543: [23.x] Bump version to 23.1rc2 & add release notes
87c2ff80e4
doc: add release notes for 23.1rc2 (fanquake)5b2c99e24c
doc: Update manual pages for 23.1rc2 (fanquake)a02ae0745b
build: Bump version to 23.1rc2 (fanquake)a1fcd565ff
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: ACK87c2ff80e4
, I have reviewed the code and it looks OK, I agree it can be merged. jarolrod: ACK87c2ff80e4
Tree-SHA512: f185c33bfe2bf26f9df48f8d1e95ab784fef055bc7465282e2418960d348bd8b35f8fc57808b47250f8536a9def3be2d1dbe8ae309f052a81220925c425108f1
This commit is contained in:
commit
ea9aa3f02f
9 changed files with 427 additions and 196 deletions
|
@ -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])
|
||||
|
|
|
@ -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
|
||||
\-?
|
||||
|
|
|
@ -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
|
||||
\-?
|
||||
|
|
|
@ -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
|
||||
\-?
|
||||
|
|
|
@ -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
|
||||
\-?
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
\-?
|
||||
|
|
|
@ -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
|
||||
|
||||
P2P and network changes
|
||||
-----------------------
|
||||
- #25314 p2p: always set nTime for self-advertisements
|
||||
|
||||
- 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)
|
||||
### RPC and other APIs
|
||||
|
||||
Fee estimation changes
|
||||
----------------------
|
||||
- #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)
|
||||
|
||||
- Fee estimation now takes the feerate of replacement (RBF) transactions into
|
||||
account. (#22539)
|
||||
### Build system
|
||||
|
||||
Rescan startup parameter removed
|
||||
--------------------------------
|
||||
- #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 `-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)
|
||||
### GUI
|
||||
|
||||
Updated RPCs
|
||||
------------
|
||||
- #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
|
||||
|
||||
- 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)
|
||||
### Tests
|
||||
|
||||
- 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`
|
||||
- #24454 tests: Fix calculation of external input weights
|
||||
|
||||
- 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)
|
||||
### Miscellaneous
|
||||
|
||||
- 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)
|
||||
|
||||
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)
|
||||
- #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/).
|
||||
|
|
373
doc/release-notes/release-notes-23.0.md
Normal file
373
doc/release-notes/release-notes-23.0.md
Normal file
|
@ -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/).
|
Loading…
Add table
Reference in a new issue