January 22, 2026

Capitalizations Index – B ∞/21M

Bitcoin Core version 0.15.1 released

Bitcoin core version 0. 15. 1 released

Bitcoin Core version 0.15.1 released

Bitcoin core version 0. 15. 1 released

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/

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.

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.

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.

  • Unrequested blocks with less work than the minimum-chain-work are now no longer processed even
    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.

  • Peers which provide a chain with less work than the minimum-chain-work during IBD will now be disconnected.

  • For a given outbound peer, we now check whether their best known block has at least as much work as our tip. If it
    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.

  • Outbound (non-manual) peers that serve us block headers that are already known to be invalid (other than compact
    block announcements, because BIP 152 explicitly permits nodes to relay compact blocks before fully validating them)
    will now be disconnected.

  • If the chain tip has not been advanced for over 30 minutes, we now assume the tip may be stale and will try to connect
    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.

  • The set of all known invalid-themselves blocks (i.e. blocks which we attempted to connect but which were found to be
    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

  • The “currentblocksize” value in getmininginfo has been removed.

  • dumpwallet no longer allows overwriting files. This is a security measure
    as well as prevents dangerous user mistakes.

  • backupwallet will now fail when attempting to backup to source file, rather than
    destroying the wallet.

  • listsinceblock will now throw an error if an unknown blockhash argument
    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.

Mining

  • #111007871a7d Fix confusing blockmax options, dont default to throwing away money (TheBlueMatt)

RPC and other APIs

  • #108592a5d099 gettxout: Slightly improve doc and tests (jtimon)
  • #11267b1a6c94 update cli for estimate*fee argument rename (laanwj)
  • #1148320cdc2b Fix importmulti bug when importing an already imported key (pedrobranco)
  • #9937a43be5b Prevent dumpwallet from overwriting files (laanwj)
  • #11465405e069 Update named args documentation for importprivkey (dusty-wil)
  • #11131b278a43 Write authcookie atomically (laanwj)
  • #115657d4546f Make listsinceblock refuse unknown block hash (ryanofsky)
  • #115938195cb0 Work-around an upstream libevent bug (theuni)

P2P protocol and network code

  • #1139727e861a Improve and document SOCKS code (laanwj)
  • #112520fe2a9a When clearing addrman clear mapInfo and mapAddr (instagibbs)
  • #11527a2bd86a Remove my testnet DNS seed (schildbach)
  • #107560a5477c net processing: swap out signals for an interface class (theuni)
  • #1153155b7abf Check that new headers are not a descendant of an invalid block (more effeciently) (TheBlueMatt)
  • #1156049bf090 Connect to a new outbound peer if our tip is stale (sdaftuar)
  • #11568fc966bb Disconnect outbound peers on invalid chains (sdaftuar)
  • #11578ec8dedf Add missing lock in ProcessHeadersMessage(…) (practicalswift)
  • #114566f27965 Replace relevant services logic with a function suite (TheBlueMatt)
  • #11490bf191a7 Disconnect from outbound peers with bad headers chains (sdaftuar)

Validation

  • #10357da4908c Allow setting nMinimumChainWork on command line (sdaftuar)
  • #114582df65ee Don’t process unrequested, low-work blocks (sdaftuar)

Build system

  • #11440b6c0209 Fix validationinterface build on super old boost/clang (TheBlueMatt)
  • #11530265bb21 Add share/rpcuser to dist. source code archive (MarcoFalke)

GUI

  • #1133419d63e8 Remove custom fee radio group and remove nCustomFeeRadio setting (achow101)
  • #111987310f1f Fix display of package name on ‘open config file’ tooltip (esotericnonsense)
  • #110156642558 Add delay before filtering transactions (lclc)
  • #113386a62c74 Backup former GUI settings on -resetguisettings (laanwj)
  • #113358d13b42 Replace save restoreWindowGeometry with Qt functions (MeshCollider)
  • #112372e31b1d Fixing division by zero in time remaining (MeshCollider)
  • #1124747c02a8 Use IsMine to validate custom change address (MarcoFalke)

Wallet

  • #110179e8aae3 Close DB on error (kallewoof)
  • #112256b4d9f2 Update stored witness in AddToWallet (sdaftuar)
  • #111262cb720a Acquire cs_main lock before cs_wallet during wallet initialization (ryanofsky)
  • #114769c8006d Avoid opening copied wallet databases simultaneously (ryanofsky)
  • #11492de7053f Fix leak in CDB constructor (promag)
  • #11376fd79ed6 Ensure backupwallet fails when attempting to backup to source file (tomasvdw)
  • #11326d570aa4 Fix crash on shutdown with invalid wallet (MeshCollider)

Tests and QA

Miscellaneous

  • #1137775997c3 Disallow uncompressed pubkeys in bitcoin-tx [multisig] output adds (TheBlueMatt)
  • #11437dea3b87 [Docs] Update Windows build instructions for using WSL and Ubuntu 17.04 (fanquake)
  • #113188b61aee Put back inadvertently removed copyright notices (gmaxwell)
  • #11442cf18f42 [Docs] Update OpenBSD Build Instructions for OpenBSD 6.2 (fanquake)
  • #1095750bd3f6 Avoid returning a BIP9Stats object with uninitialized values (practicalswift)
  • #1153901223a0 [verify-commits] Allow revoked keys to expire (TheBlueMatt)

Thanks to everyone who directly contributed to this release:

  • Andreas Schildbach
  • Andrew Chow
  • Chris Moore
  • Cory Fields
  • Cristian Mircea Messel
  • Daniel Edgecumbe
  • Donal OConnor
  • Dusty Williams
  • fanquake
  • Gregory Sanders
  • Jim Posen
  • John Newbery
  • Johnson Lau
  • João Barbosa
  • Jorge Timón
  • Karl-Johan Alm
  • Lucas Betschart
  • MarcoFalke
  • Matt Corallo
  • Paul Berg
  • Pedro Branco
  • Pieter Wuille
  • practicalswift
  • Russell Yanofsky
  • Samuel Dobson
  • Suhas Daftuar
  • Tomas van der Wansem
  • Wladimir J. van der Laan

As well as everyone that helped translating on Transifex.

Published at Sat, 11 Nov 2017 00:00:00 +0000

Previous Article

Cardano Blockchain's First Use Case: Proof of University Diplomas in Greece

Next Article

In Search of a Complete Guide to Initial Coin Offerings

You might be interested in …

Zap April Update 2019 – The Zap Project –

Zap April Update 2019 – The Zap Project – 1 The Zap Contract Builder for Android 1.0.10 is now live! New features: – Local compilation (no internet/server needed) – Solidity 0.5.7 supported The app can […]