Inside Bitcoin
Opening the selected file…
Inside Bitcoin
Opening the selected file…
The code behind the network, with room to understand it.
Release published 2026-10-28 · Snapshot fetched 2026-11-01. Latest stable release at fetch time; development branches and Git history are excluded. Only the selected code window and visible folders load here.
10.20.0 Release Notes2====================4Bitcoin Core version 0.20.0 is now available from:6<https://bitcoincore.org/bin/bitcoin-core-0.20.0/>8This release includes new features, various bug fixes and performance9improvements, as well as updated translations.11Please report bugs using the issue tracker at GitHub:13<https://github.com/bitcoin/bitcoin/issues>15To receive security and update notifications, please subscribe to:17<https://bitcoincore.org/en/list/announcements/join/>19How to Upgrade20==============22If you are running an older version, shut it down. Wait until it has completely23shut down (which might take a few minutes in some cases), then run the24installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on Mac)25or `bitcoind`/`bitcoin-qt` (on Linux).27Upgrading directly from a version of Bitcoin Core that has reached its EOL is28possible, but it might take some time if the data directory needs to be migrated. Old29wallet versions of Bitcoin Core are generally supported.31Compatibility32==============34Bitcoin Core is supported and extensively tested on operating systems35using the Linux kernel, macOS 10.12+, and Windows 7 and newer. Bitcoin36Core should also work on most other Unix-like systems but is not as37frequently tested on them. It is not recommended to use Bitcoin Core on38unsupported systems.40From Bitcoin Core 0.20.0 onwards, macOS versions earlier than 10.12 are no41longer supported. Additionally, Bitcoin Core does not yet change appearance42when macOS "dark mode" is activated.44Known Bugs45==========47The process for generating the source code release ("tarball") has changed in an48effort to make it more complete, however, there are a few regressions in49this release:51- The generated `configure` script is currently missing, and you will need to52install autotools and run `./autogen.sh` before you can run53`./configure`. This is the same as when checking out from git.55- Instead of running `make` simply, you should instead run56`BITCOIN_GENBUILD_NO_GIT=1 make`.58Notable changes59===============61P2P and network changes62-----------------------64#### Removal of BIP61 reject network messages from Bitcoin Core66The `-enablebip61` command line option to enable BIP61 has been removed.67(#17004)69This feature has been disabled by default since Bitcoin Core version 0.18.0.70Nodes on the network can not generally be trusted to send valid messages71(including reject messages), so this should only ever be used when72connected to a trusted node. Please use the alternatives recommended73below if you rely on this removed feature:75- Testing or debugging of implementations of the Bitcoin P2P network protocol76should be done by inspecting the log messages that are produced by a recent77version of Bitcoin Core. Bitcoin Core logs debug messages78(`-debug=<category>`) to a stream (`-printtoconsole`) or to a file79(`-debuglogfile=<debug.log>`).81- Testing the validity of a block can be achieved by specific RPCs:83- `submitblock`85- `getblocktemplate` with `'mode'` set to `'proposal'` for blocks with86potentially invalid POW88- Testing the validity of a transaction can be achieved by specific RPCs:90- `sendrawtransaction`92- `testmempoolaccept`94- Wallets should not assume a transaction has propagated to the network95just because there are no reject messages. Instead, listen for the96transaction to be announced by other peers on the network. Wallets97should not assume a lack of reject messages means a transaction pays98an appropriate fee. Instead, set fees using fee estimation and use99replace-by-fee to increase a transaction's fee if it hasn't confirmed100within the desired amount of time.102The removal of BIP61 reject message support also has the following minor RPC103and logging implications:105- `testmempoolaccept` and `sendrawtransaction` no longer return the P2P reject106code when a transaction is not accepted to the mempool. They still return the107verbal reject reason.109- Log messages that previously reported the reject code when a transaction was110not accepted to the mempool now no longer report the reject code. The reason111for rejection is still reported.113Updated RPCs114------------116- The RPCs which accept descriptors now accept the new `sortedmulti(...)` descriptor117type which supports multisig scripts where the public keys are sorted118lexicographically in the resulting script. (#17056)120- The `walletprocesspsbt` and `walletcreatefundedpsbt` RPCs now include121BIP32 derivation paths by default for public keys if we know them.122This can be disabled by setting the `bip32derivs` parameter to123`false`. (#17264)125- The `bumpfee` RPC's parameter `totalFee`, which was deprecated in1260.19, has been removed. (#18312)128- The `bumpfee` RPC will return a PSBT when used with wallets that have129private keys disabled. (#16373)131- The `getpeerinfo` RPC now includes a `mapped_as` field to indicate the132mapped Autonomous System used for diversifying peer selection. See the133`-asmap` configuration option described below in _New Settings_. (#16702)135- The `createmultisig` and `addmultisigaddress` RPCs now return an136output script descriptor for the newly created address. (#18032)138Build System139------------141- OpenSSL is no longer used by Bitcoin Core. (#17265)143- BIP70 support has been fully removed from Bitcoin Core. The144`--enable-bip70` option remains, but it will throw an error during configure.145(#17165)147- glibc 2.17 or greater is now required to run the release binaries. This148retains compatibility with RHEL 7, CentOS 7, Debian 8 and Ubuntu 14.04 LTS. (#17538)150- The source code archives that are provided with gitian builds no longer contain151any autotools artifacts. Therefore, to build from such source, a user152should run the `./autogen.sh` script from the root of the unpacked archive.153This implies that `autotools` and other required packages are installed on the154user's system. (#18331)156New settings157------------159- New `rpcwhitelist` and `rpcwhitelistdefault` configuration parameters160allow giving certain RPC users permissions to only some RPC calls.161(#12763)163- A new `-asmap` configuration option has been added to diversify the164node's network connections by mapping IP addresses Autonomous System165Numbers (ASNs) and then limiting the number of connections made to any166single ASN. See [issue #16599](https://github.com/bitcoin/bitcoin/issues/16599),167[PR #16702](https://github.com/bitcoin/bitcoin/pull/16702), and the168`bitcoind help` for more information. This option is experimental and169subject to removal or breaking changes in future releases, so the170legacy /16 prefix mapping of IP addresses remains the default. (#16702)172Updated settings173----------------175- All custom settings configured when Bitcoin Core starts are now176written to the `debug.log` file to assist troubleshooting. (#16115)178- Importing blocks upon startup via the `bootstrap.dat` file no longer179occurs by default. The file must now be specified with180`-loadblock=<file>`. (#17044)182- The `-debug=db` logging category has been renamed to183`-debug=walletdb` to distinguish it from `coindb`. The `-debug=db`184option has been deprecated and will be removed in the next major185release. (#17410)187- The `-walletnotify` configuration parameter will now replace any `%w`188in its argument with the name of the wallet generating the189notification. This is not supported on Windows. (#13339)191Removed settings192----------------194- The `-whitelistforcerelay` configuration parameter has been removed after195it was discovered that it was rendered ineffective in version 0.13 and196hasn't actually been supported for almost four years. (#17985)198GUI changes199-----------201- The "Start Bitcoin Core on system login" option has been removed on macOS.202(#17567)204- In the Peers window, the details for a peer now displays a `Mapped AS`205field to indicate the mapped Autonomous System used for diversifying206peer selection. See the `-asmap` configuration option in _New207Settings_, above. (#18402)209- A "known bug" [announced](https://bitcoincore.org/en/releases/0.18.0/#wallet-gui)210in the release notes of version 0.18 has been fixed. The issue211affected anyone who simultaneously used multiple Bitcoin Core wallets212and the GUI coin control feature. (#18894)214- For watch-only wallets, creating a new transaction in the Send screen215or fee bumping an existing transaction in the Transactions screen will216automatically copy a Partially-Signed Bitcoin Transaction (PSBT) to217the system clipboard. This can then be pasted into an external218program such as [HWI](https://github.com/bitcoin-core/HWI) for219signing. Future versions of Bitcoin Core should support a GUI option220for finalizing and broadcasting PSBTs, but for now the debug console221may be used with the `finalizepsbt` and `sendrawtransaction` RPCs.222(#16944, #17492)224Wallet225------227- The wallet now by default uses bech32 addresses when using RPC, and228creates native segwit change outputs. (#16884)230- The way that output trust was computed has been fixed, which affects231confirmed/unconfirmed balance status and coin selection. (#16766)233- The `gettransaction`, `listtransactions` and `listsinceblock` RPC234responses now also include the height of the block that contains the235wallet transaction, if any. (#17437)237- The `getaddressinfo` RPC has had its `label` field deprecated238(re-enable for this release using the configuration parameter239`-deprecatedrpc=label`). The `labels` field is altered from returning240JSON objects to returning a JSON array of label names (re-enable241previous behavior for this release using the configuration parameter242`-deprecatedrpc=labelspurpose`). Backwards compatibility using the243deprecated configuration parameters is expected to be dropped in the2440.21 release. (#17585, #17578)246Documentation changes247---------------------249- Bitcoin Core's automatically-generated source code documentation is250now available at https://doxygen.bitcoincore.org. (#17596)
Independent explanations by MyBitcoinExplorer. Not affiliated with or endorsed by Bitcoin Core. Guides are educational and do not replace the source or its tests.
Bitcoin Core source © its contributors, distributed under the MIT license. Original notices and bundled third-party licenses are retained in the source tree.