Inside Bitcoin
Opening the selected file…
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.21.1 Release Notes2====================4Bitcoin Core version 0.21.1 is now available from:6<https://bitcoincore.org/bin/bitcoin-core-0.21.1/>8This minor release includes 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.44Notable changes45===============47## Taproot Soft Fork49Included in this release are the mainnet and testnet activation50parameters for the taproot soft fork (BIP341) which also adds support51for schnorr signatures (BIP340) and tapscript (BIP342).53If activated, these improvements will allow users of single-signature54scripts, multisignature scripts, and complex contracts to all use55identical-appearing commitments that enhance their privacy and the56fungibility of all bitcoins. Spenders will enjoy lower fees and the57ability to resolve many multisig scripts and complex contracts with the58same efficiency, low fees, and large anonymity set as single-sig users.59Taproot and schnorr also include efficiency improvements for full nodes60such as the ability to batch signature verification. Together, the61improvements lay the groundwork for future potential62upgrades that may improve efficiency, privacy, and fungibility further.64Activation for taproot is being managed using a variation of BIP965versionbits called Speedy Trial (described in BIP341). Taproot's66versionbit is bit 2, and nodes will begin tracking which blocks signal67support for taproot at the beginning of the first retarget period after68taproot’s start date of 24 April 2021. If 90% of blocks within a692,016-block retarget period (about two weeks) signal support for taproot70prior to the first retarget period beginning after the time of 11 August712021, the soft fork will be locked in, and taproot will then be active72as of block 709632 (expected in early or mid November).74Should taproot not be locked in via Speedy Trial activation, it is75expected that a follow-up activation mechanism will be deployed, with76changes to address the reasons the Speedy Trial method failed.78This release includes the ability to pay taproot addresses, although79payments to such addresses are not secure until taproot activates.80It also includes the ability to relay and mine taproot transactions81after activation. Beyond those two basic capabilities, this release82does not include any code that allows anyone to directly use taproot.83The addition of taproot-related features to Bitcoin Core's wallet is84expected in later releases once taproot activation is assured.86All users, businesses, and miners are encouraged to upgrade to this87release (or a subsequent compatible release) unless they object to88activation of taproot. If taproot is locked in, then upgrading before89block 709632 is highly recommended to help enforce taproot's new rules90and to avoid the unlikely case of seeing falsely confirmed transactions.92Miners who want to activate Taproot should preferably use this release93to control their signaling. The `getblocktemplate` RPC results will94automatically be updated to signal once the appropriate start has been95reached and continue signaling until the timeout occurs or taproot96activates. Alternatively, miners may manually start signaling on bit 297at any time; if taproot activates, they will need to ensure they update98their nodes before block 709632 or non-upgraded nodes could cause them to mine on99an invalid chain. See the [versionbits100FAQ](https://bitcoincore.org/en/2016/06/08/version-bits-miners-faq/) for101details.104For more information about taproot, please see the following resources:106- Technical specifications107- [BIP340 Schnorr signatures for secp256k1](https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki)108- [BIP341 Taproot: SegWit version 1 spending rules](https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki)109- [BIP342 Validation of Taproot scripts](https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki)111- Popular articles;112- [Taproot Is Coming: What It Is, and How It Will Benefit Bitcoin](https://bitcoinmagazine.com/technical/taproot-coming-what-it-and-how-it-will-benefit-bitcoin)113- [What do Schnorr Signatures Mean for Bitcoin?](https://academy.binance.com/en/articles/what-do-schnorr-signatures-mean-for-bitcoin)114- [The Schnorr Signature & Taproot Softfork Proposal](https://blog.bitmex.com/the-schnorr-signature-taproot-softfork-proposal/)116- Development history overview117- [Taproot](https://bitcoinops.org/en/topics/taproot/)118- [Schnorr signatures](https://bitcoinops.org/en/topics/schnorr-signatures/)119- [Tapscript](https://bitcoinops.org/en/topics/tapscript/)120- [Soft fork activation](https://bitcoinops.org/en/topics/soft-fork-activation/)122- Other123- [Questions and answers related to taproot](https://bitcoin.stackexchange.com/questions/tagged/taproot)124- [Taproot review](https://github.com/ajtowns/taproot-review)126Updated RPCs127------------129- Due to [BIP 350](https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki)130being implemented, behavior for all RPCs that accept addresses is changed when131a native witness version 1 (or higher) is passed. These now require a Bech32m132encoding instead of a Bech32 one, and Bech32m encoding will be used for such133addresses in RPC output as well. No version 1 addresses should be created134for mainnet until consensus rules are adopted that give them meaning135(e.g. through [BIP 341](https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki)).136Once that happens, Bech32m is expected to be used for them, so this shouldn't137affect any production systems, but may be observed on other networks where such138addresses already have meaning (like signet).1400.21.1 change log141=================143### Consensus144- #21377 Speedy trial support for versionbits (ajtowns)145- #21686 Speedy trial activation parameters for Taproot (achow101)147### P2P protocol and network code148- #20852 allow CSubNet of non-IP networks (vasild)149- #21043 Avoid UBSan warning in ProcessMessage(…) (practicalswift)151### Wallet152- #21166 Introduce DeferredSignatureChecker and have SignatureExtractorClass subclass it (achow101)153- #21083 Avoid requesting fee rates multiple times during coin selection (achow101)155### RPC and other APIs156- #21201 Disallow sendtoaddress and sendmany when private keys disabled (achow101)158### Build system159- #21486 link against -lsocket if required for `*ifaddrs` (fanquake)160- #20983 Fix MSVC build after gui#176 (hebasto)162### Tests and QA163- #21380 Add fuzzing harness for versionbits (ajtowns)164- #20812 fuzz: Bump FuzzedDataProvider.h (MarcoFalke)165- #20740 fuzz: Update FuzzedDataProvider.h from upstream (LLVM) (practicalswift)166- #21446 Update vcpkg checkout commit (sipsorcery)167- #21397 fuzz: Bump FuzzedDataProvider.h (MarcoFalke)168- #21081 Fix the unreachable code at `feature_taproot` (brunoerg)169- #20562 Test that a fully signed tx given to signrawtx is unchanged (achow101)170- #21571 Make sure non-IP peers get discouraged and disconnected (vasild, MarcoFalke)171- #21489 fuzz: cleanups for versionbits fuzzer (ajtowns)173### Miscellaneous174- #20861 BIP 350: Implement Bech32m and use it for v1+ segwit addresses (sipa)176### Documentation177- #21384 add signet to bitcoin.conf documentation (jonatack)178- #21342 Remove outdated comment (hebasto)180Credits181=======183Thanks to everyone who directly contributed to this release:185- Aaron Clauson186- Andrew Chow187- Anthony Towns188- Bruno Garcia189- Fabian Jahr190- fanquake191- Hennadii Stepanov192- Jon Atack193- Luke Dashjr194- MarcoFalke195- Pieter Wuille196- practicalswift197- randymcmillan198- Sjors Provoost199- Vasil Dimov200- W. J. van der Laan202As well as to everyone that helped with translations on203[Transifex](https://www.transifex.com/bitcoin/bitcoin/).
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.