Wallets on Bitcoin Core 24.1 wipe the master key on locking, so it does not stay in memory (#27080), and peers.dat corruption is prevented by serializing just once (#26909). Inv-to-send queues run faster (#27610), and a REST segfault on invalid URIs is gone (#27468).
deriveaddresses no longer crashes at index 2147483647 in Bitcoin Core 23.1 (#26275), and a segfault on MacOS 13 triggered by certain notifications is gone. The GUI now refuses to encrypt watch-only wallets, and Qt5 moves to 5.15.3 (#24668).
A bare -persistmempool flag now means -persistmempool=1 in Bitcoin Core 22.1, where it used to switch mempool persistence off by mistake (#23061). Fee calculation rounds up to avoid landing below the expected feerate (#22949), and a wallet segfault tied to external_spk_managers is fixed (#23333).
Headers sync gains a presync phase in Bitcoin Core 24.0.1: to head off a potential denial-of-service, nodes verify a peer's cumulative work before storing its headers, which can slow first-time sync (#25717). Also new are the sendall RPC and a mempoolfullrbf option that accepts replacements without BIP125 signaling, while wallets now default to opt-in RBF.
CJDNS gets full support in Bitcoin Core 23.0, and the old preference for peers on port 8333 is dropped (#23542). Fee estimation now counts RBF replacements, the -rescan startup parameter is removed, and Linux binaries ship experimental tracepoints.
Misbehaving peers show up as "discouraged" rather than banned in Bitcoin Core 0.20.2 logs: they can still connect but get evicted first, and the state clears on restart. -walletnotify fires again for wallet transactions dropped from the mempool over a conflict with a new block, and PSBTs carry both witness and non-witness utxo for segwit inputs.
Rumoured addresses get rate limited in Bitcoin Core 0.21.2 (#22569), and a command line containing -noincludeconf=0 no longer crashes the parser (#22002). In the GUI, URI error messages stop echoing user input (gui#280).
I2P support arrives in Bitcoin Core 22.0, and Tor v2 addresses are gone now that the Tor network itself has dropped them. NAT-PMP port mapping is added, RPCs demand Bech32m for native witness version 1 addresses under BIP 350, and release binaries come from a Guix-based build.
Block templates from Bitcoin Core 0.21.1 signal readiness for taproot over roughly three months. If 90% of blocks in a 2,016-block retarget period signal, taproot locks in and this version enforces BIPs 341 and 342 from block 709,632. Windows users face an extra install prompt because of a code-signing certificate problem.
Bitcoin Core 0.21.0 adds signet test networks (BIP325) and ships Taproot's consensus rules from BIP341 and BIP342, active on signet but not on mainnet. Nodes also gain Tor v3 hidden services, BIP339 wtxid relay and the option to serve BIP157 compact filters to peers.
Automatic bans give way to a discouragement filter in Bitcoin Core 0.20.1: misbehaving peers may still connect, but they are preferred for eviction. Conflicted wallet transactions trigger -walletnotify again after breaking in v0.19, and PSBTs for segwit inputs now carry both the witness and non-witness UTXO.
BIP61 reject messages and BIP70 payment support are both removed from Bitcoin Core 0.20.0, which also stops using OpenSSL. An experimental -asmap option spreads peer connections across Autonomous Systems, and rpcwhitelist settings can restrict an RPC user to chosen calls.
Tor users can now reach the Bitcoin Core website through an onion address, following frequent requests. The hidden service adds another route around censorship and a trust path that depends on neither certificate authorities nor DNS.
Passing -blockfilterindex=basic twice no longer causes a fatal leveldb error in Bitcoin Core 0.19.1, a maintenance update. It also corrects the origfee value returned by bumpfee and adds bounds checks on indexes and amounts in PSBTs.
Anyone downloading 0.19.0 actually gets 0.19.0.1, because an issue surfaced just after the rc process. New in this Bitcoin Core version: an avoid_reuse wallet flag that can keep already used addresses out of an operation, a getbalances RPC meant to replace older balance calls, and BIP158 block filters through -blockfilterindex.
A malicious SOCKS proxy could overwrite the program stack of a Bitcoin Core node, according to the full disclosure of CVE-2017-18350. The buffer overflow entered with SOCKS5 support in v0.7.0rc1 and was quietly fixed in 0.15.1; only nodes configured to use such a proxy, on systems with a signed char type, were exposed.
Version 0.18.1 of Bitcoin Core corrects the prune height returned by pruneblockchain and makes signrawtransactionwithkey report an error when a redeemScript or witnessScript is missing. On the GUI side, a Mac bug with opening the configuration file is fixed.
Miners calling getblocktemplate without the segwit rule now get an error in Bitcoin Core 0.18.0, since leaving it out lowers their rewards. RPC setup tightens too: rpcallowip no longer makes the node listen on every interface, and a hash character in rpcpassword stops startup.
Bitcoin Core 0.17.1 brings labels back to listtransactions: the account parameter, deprecated and renamed dummy in 0.17.0, becomes label. Fixes cover a deserialization overflow edge case and a PSBT signing bug.
Wallets can now be loaded, created and unloaded at runtime over RPC in Bitcoin Core 0.17.0, instead of only at startup. A new -avoidpartialspends flag spends coins paid to the same address together, at the possible cost of higher fees, and a label API replaces the deprecated account one. CVE-2018-17144 does not affect this version.