*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. "0.20.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 =============================== Bitcoin Core version *version* is now available from: 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: To receive security and update notifications, please subscribe to: 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.12+, 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. From Bitcoin Core 0.20.0 onwards, macOS versions earlier than 10.12 are no longer supported. Additionally, Bitcoin Core does not yet change appearance when macOS "dark mode" is activated. Notable changes =============== P2P and network changes ----------------------- - The mempool now tracks whether transactions submitted via the wallet or RPCs have been successfully broadcast. Every 10-15 minutes, the node will try to announce unbroadcast transactions until a peer requests it via a `getdata` message or the transaction is removed from the mempool for other reasons. The node will not track the broadcast status of transactions submitted to the node using P2P relay. This version reduces the initial broadcast guarantees for wallet transactions submitted via P2P to a node running the wallet. (#18038) Updated RPCs ------------ - `getmempoolinfo` now returns an additional `unbroadcastcount` field. The mempool tracks locally submitted transactions until their initial broadcast is acknowledged by a peer. This field returns the count of transactions waiting for acknowledgement. - Mempool RPCs such as `getmempoolentry` and `getrawmempool` with `verbose=true` now return an additional `unbroadcast` field. This indicates whether initial broadcast of the transaction has been acknowledged by a peer. `getmempoolancestors` and `getmempooldescendants` are also updated. Changes to Wallet or GUI related RPCs can be found in the GUI or Wallet section below. New RPCs -------- Build System ------------ Updated settings ---------------- Changes to Wallet or GUI related settings can be found in the GUI or Wallet section below. New settings ------------ Wallet ------ - To improve wallet privacy, the frequency of wallet rebroadcast attempts is reduced from approximately once every 15 minutes to once every 12-36 hours. To maintain a similar level of guarantee for initial broadcast of wallet transactions, the mempool tracks these transactions as a part of the newly introduced unbroadcast set. See the "P2P and network changes" section for more information on the unbroadcast set. (#18038) - The wallet can create a transaction without change even when the keypool is empty. Previously it failed. (#17219) #### Wallet RPC changes - The `upgradewallet` RPC replaces the `-upgradewallet` command line option. (#15761) - The `settxfee` RPC will fail if the fee was set higher than the `-maxtxfee` command line setting. The wallet will already fail to create transactions with fees higher than `-maxtxfee`. (#18467) GUI changes ----------- Low-level changes ================= Tests ----- Credits ======= Thanks to everyone who directly contributed to this release: As well as to everyone that helped with translations on [Transifex](https://www.transifex.com/bitcoin/bitcoin/).