release-notes-0.15.1.md raw

Bitcoin Core version 0.15.1 is now available from:

<https://bitcoincore.org/bin/bitcoin-core-0.15.1/>

or

<https://bitcoin.org/bin/bitcoin-core-0.15.1/>

This is a new minor version release, including various bugfixes 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 for older versions), then run the installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).

The first time you run version 0.15.0 or higher, your chainstate database will be converted to a new format, which will take anywhere from a few minutes to half an hour, depending on the speed of your machine.

The file format of fee_estimates.dat changed in version 0.15.0. Hence, a downgrade from version 0.15 or upgrade to version 0.15 will cause all fee estimates to be discarded.

Note that the block database format also changed in version 0.8.0 and there is no automatic upgrade code from before version 0.8 to version 0.15.0. Upgrading directly from 0.7.x and earlier without redownloading the blockchain is not supported. However, as usual, old wallet versions are still supported.

Downgrading warning


The chainstate database for this release is not compatible with previous releases, so if you run 0.15 and then decide to switch back to any older version, you will need to run the old release with the -reindex-chainstate option to rebuild the chainstate data structures in the old format.

If your node has pruning enabled, this will entail re-downloading and processing the entire blockchain.

Compatibility ==============

Bitcoin Core is extensively tested on multiple operating systems using the Linux kernel, macOS 10.8+, and Windows Vista and later. Windows XP is not supported.

Bitcoin Core should also work on most other Unix-like systems but is not frequently tested on them.

Notable changes ===============

Network fork safety enhancements


A number of changes to the way Bitcoin Core deals with peer connections and invalid blocks have been made, as a safety precaution against blockchain forks and misbehaving peers.

if they have more work than the tip (a potential issue during IBD where the tip may have low-work). This prevents peers wasting the resources of a node.

doesn't, and if we still haven't heard about a block with sufficient work after a 20 minute timeout, then we send a single getheaders message, and wait 2 more minutes. If after two minutes their best known block has insufficient work, we disconnect that peer. We protect 4 of our outbound peers from being disconnected by this logic to prevent excessive network topology changes as a result of this algorithm, while still ensuring that we have a reasonable number of nodes not known to be on bogus chains.

block announcements, because BIP 152 explicitly permits nodes to relay compact blocks before fully validating them) will now be disconnected.

to an additional outbound peer. A periodic check ensures that if this extra peer connection is in use, we will disconnect the peer that least recently announced a new block.

invalid) are now tracked and used to check if new headers build on an invalid chain. This ensures that everything that descends from an invalid block is marked as such.

Miner block size limiting deprecated


Though blockmaxweight has been preferred for limiting the size of blocks returned by getblocktemplate since 0.13.0, blockmaxsize remained as an option for those who wished to limit their block size directly. Using this option resulted in a few UI issues as well as non-optimal fee selection and ever-so-slightly worse performance, and has thus now been deprecated. Further, the blockmaxsize option is now used only to calculate an implied blockmaxweight, instead of limiting block size directly. Any miners who wish to limit their blocks by size, instead of by weight, will have to do so manually by removing transactions from their block template directly.

GUI settings backed up on reset


The GUI settings will now be written to guisettings.ini.bak in the data directory before wiping them when the -resetguisettings argument is used. This can be used to retroactively troubleshoot issues due to the GUI settings.

Duplicate wallets disallowed


Previously, it was possible to open the same wallet twice by manually copying the wallet file, causing issues when both were opened simultaneously. It is no longer possible to open copies of the same wallet.

Debug -minimumchainwork argument added


A hidden debug argument -minimumchainwork has been added to allow a custom minimum work value to be used when validating a chain.

Low-level RPC changes


as well as prevents dangerous user mistakes.

destroying the wallet.

value is passed, instead of returning a list of all wallet transactions since the genesis block. The behaviour is unchanged when an empty string is provided.

0.15.1 Change log =================

Mining

RPC and other APIs

P2P protocol and network code

Validation

Build system

GUI

Wallet

Tests and QA

Miscellaneous

Credits =======

Thanks to everyone who directly contributed to this release:

As well as everyone that helped translating on Transifex.