Bitcoin Core version 0.13.0 is now available from:
https://bitcoin.org/bin/bitcoin-core-0.13.0/
This is a new major version release, including new features, 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/
Microsoft ended support for Windows XP on April 8th, 2014, an OS initially released in 2001. This means that not even critical security updates will be released anymore. Without security updates, using a bitcoin wallet on a XP machine is irresponsible at least.
In addition to that, with 0.12.x there have been varied reports of Bitcoin Core randomly crashing on Windows XP. It is not clear what the source of these crashes is, but it is likely that upstream libraries such as Qt are no longer being tested on XP.
We do not have time nor resources to provide support for an OS that is end-of-life. From 0.13.0 on, Windows XP is no longer supported. Users are suggested to upgrade to a newer verion of Windows, or install an alternative OS that is supported.
No attempt is made to prevent installing or running the software on Windows XP, you can still do so at your own risk, but do not expect it to work: do not report issues about Windows XP to the issue tracker.
As a result of growth of the UTXO set, performance with the prior default database cache of 100 MiB has suffered. For this reason the default was changed to 300 MiB in this release.
For nodes on low-memory systems, the database cache can be changed back to 100 MiB (or to another value) by either:
dbcache=100
in bitcoin.confOptions → Size of database cache
Note that the database cache setting has the most performance impact during initial sync of a node, and when catching up after downtime.
The RPC command line client gained a new argument, -stdin
to read extra arguments from standard input, one per line until EOF/Ctrl-D.
For example:
$ src/bitcoin-cli -stdin walletpassphrase
mysecretcode
120
..... press Ctrl-D here to end input
$
It is recommended to use this for sensitive information such as wallet passphrases, as command-line arguments can usually be read from the process table by any user on the system.
Various code modernizations have been done. The Bitcoin Core code base has started using C++11. This means that a C++11-capable compiler is now needed for building. Effectively this means GCC 4.7 or higher, or Clang 3.3 or higher.
When cross-compiling for a target that doesn’t have C++11 libraries, configure with
./configure --enable-glibc-back-compat ... LDFLAGS=-static-libstdc++
.
For running the functional tests in qa/rpc-tests
, Python3.4 or higher is now
required.
Due to popular request, Linux ARM builds have been added to the uploaded executables.
The following extra files can be found in the download directory or torrent:
bitcoin-${VERSION}-arm-linux-gnueabihf.tar.gz
: Linux binaries targeting
the 32-bit ARMv7-A architecture.bitcoin-${VERSION}-aarch64-linux-gnu.tar.gz
: Linux binaries targeting
the 64-bit ARMv8-A architecture.ARM builds are still experimental. If you have problems on a certain device or Linux distribution combination please report them on the bug tracker, it may be possible to resolve them. Note that the device you use must be (backward) compatible with the architecture targeted by the binary that you use. For example, a Raspberry Pi 2 Model B or Raspberry Pi 3 Model B (in its 32-bit execution state) device, can run the 32-bit ARMv7-A targeted binary. However, no model of Raspberry Pi 1 device can run either binary because they are all ARMv6 architecture devices that are not compatible with ARMv7-A or ARMv8-A.
Note that Android is not considered ARM Linux in this context. The executables are not expected to work out of the box on Android.
Support for block relay using the Compact Blocks protocol has been implemented in PR 8068.
The primary goal is reducing the bandwidth spikes at relay time, though in many cases it also reduces propagation delay. It is automatically enabled between compatible peers. BIP 152
As a side-effect, ordinary non-mining nodes will download and upload blocks faster if those blocks were produced by miners using similar transaction filtering policies. This means that a miner who produces a block with many transactions discouraged by your node will be relayed slower than one with only transactions already in your memory pool. The overall effect of such relay differences on the network may result in blocks which include widely- discouraged transactions losing a stale block race, and therefore miners may wish to configure their node to take common relay policies into consideration.
Newly created wallets will use hierarchical deterministic key generation according to BIP32 (keypath m/0’/0’/k’). Existing wallets will still use traditional key generation.
Backups of HD wallets, regardless of when they have been created, can therefore be used to re-generate all possible private keys, even the ones which haven’t already been generated during the time of the backup. Attention: Encrypting the wallet will create a new seed which requires a new backup!
Wallet dumps (created using the dumpwallet
RPC) will contain the deterministic
seed. This is expected to allow future versions to import the seed and all
associated funds, but this is not yet implemented.
HD key generation for new wallets can be disabled by -usehd=0
. Keep in
mind that this flag only has affect on newly created wallets.
You can’t disable HD key generation once you have created a HD wallet.
There is no distinction between internal (change) and external keys.
HD wallets are incompatible with older versions of Bitcoin Core.
The code preparations for Segregated Witness (“segwit”), as described in BIP 141, BIP 143, BIP 144, and BIP 145 are finished and included in this release. However, BIP 141 does not yet specify activation parameters on mainnet, and so this release does not support segwit use on mainnet. Testnet use is supported, and after BIP 141 is updated with proposed parameters, a future release of Bitcoin Core is expected that implements those parameters for mainnet.
Furthermore, because segwit activation is not yet specified for mainnet, version 0.13.0 will behave similarly as other pre-segwit releases even after a future activation of BIP 141 on the network. Upgrading from 0.13.0 will be required in order to utilize segwit-related features on mainnet (such as signal BIP 141 activation, mine segwit blocks, fully validate segwit blocks, relay segwit blocks to other segwit nodes, and use segwit transactions in the wallet, etc).
The mining transaction selection algorithm has been replaced with an algorithm that selects transactions based on their feerate inclusive of unconfirmed ancestor transactions. This means that a low-fee transaction can become more likely to be selected if a high-fee transaction that spends its outputs is relayed.
With this change, the -blockminsize
command line option has been removed.
The command line option -blockmaxsize
remains an option to specify the
maximum number of serialized bytes in a generated block. In addition, the new
command line option -blockmaxweight
has been added, which specifies the
maximum “block weight” of a generated block, as defined by [BIP 141 (Segregated
Witness)] (https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki).
In preparation for Segregated Witness, the mining algorithm has been modified to optimize transaction selection for a given block weight, rather than a given number of serialized bytes in a block. In this release, transaction selection is unaffected by this distinction (as BIP 141 activation is not supported on mainnet in this release, see above), but in future releases and after BIP 141 activation, these calculations would be expected to differ.
For optimal runtime performance, miners using this release should specify
-blockmaxweight
on the command line, and not specify -blockmaxsize
.
Additionally (or only) specifying -blockmaxsize
, or relying on default
settings for both, may result in performance degradation, as the logic to
support -blockmaxsize
performs additional computation to ensure that
constraint is met. (Note that for mainnet, in this release, the equivalent
parameter for -blockmaxweight
would be four times the desired
-blockmaxsize
. See [BIP 141]
(https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki) for additional
details.)
In the future, the -blockmaxsize
option may be removed, as block creation is
no longer optimized for this metric. Feedback is requested on whether to
deprecate or keep this command line option in future releases.
In earlier versions, reindexing did validation while reading through the block files on disk. These two have now been split up, so that all blocks are known before validation starts. This was necessary to make certain optimizations that are available during normal synchronizations also available during reindexing.
The two phases are distinct in the Bitcoin-Qt GUI. During the first one, “Reindexing blocks on disk” is shown. During the second (slower) one, “Processing blocks on disk” is shown.
It is possible to only redo validation now, without rebuilding the block index,
using the command line option -reindex-chainstate
(in addition to
-reindex
which does both). This new option is useful when the blocks on disk
are assumed to be fine, but the chainstate is still corrupted. It is also
useful for benchmarks.
As CPU mining has been useless for a long time, the internal miner has been removed in this release, and replaced with a simpler implementation for the test framework.
The overall result of this is that setgenerate
RPC call has been removed, as
well as the -gen
and -genproclimit
command-line options.
For testing, the generate
call can still be used to mine a block, and a new
RPC call generatetoaddress
has been added to mine to a specific address. This
works with wallet disabled.
The former implementation of the bytespersigop filter accidentally broke bare
multisig (which is meant to be controlled by the permitbaremultisig
option),
since the consensus protocol always counts these older transaction forms as 20
sigops for backwards compatibility. Simply fixing this bug by counting more
accurately would have reintroduced a vulnerability. It has therefore been
replaced with a new implementation that rather than filter such transactions,
instead treats them (for fee purposes only) as if they were in fact the size
of a transaction actually using all 20 sigops.
The optional new p2p message “feefilter” is implemented and the protocol version is bumped to 70013. Upon receiving a feefilter message from a peer, a node will not send invs for any transactions which do not meet the filter feerate. BIP 133
The P2P alert system has been removed in PR #7692 and the alert
P2P message
is no longer supported.
The transaction relay mechanism used to relay one quarter of all transactions instantly, while queueing up the rest and sending them out in batch. As this resulted in chains of dependent transactions being reordered, it systematically hurt transaction relay. The relay code was redesigned in PRs #7840 and #8082, and now always batches transactions announcements while also sorting them according to dependency order. This significantly reduces orphan transactions. To compensate for the removal of instant relay, the frequency of batch sending was doubled for outgoing peers.
Since PR #7840 the BIP35 mempool
command is also subject to batch processing.
Also the mempool
message is no longer handled for non-whitelisted peers when
NODE_BLOOM
is disabled through -peerbloomfilters=0
.
The maximum size of orphan transactions that are kept in memory until their ancestors arrive has been raised in PR #8179 from 5000 to 99999 bytes. They are now also removed from memory when they are included in a block, conflict with a block, and time out after 20 minutes.
We respond at most once to a getaddr request during the lifetime of a connection since PR #7856.
Connections to peers who have recently been the first one to give us a valid new block or transaction are protected from disconnections since PR #8084.
RPC calls have been added to output detailed statistics for individual mempool
entries, as well as to calculate the in-mempool ancestors or descendants of a
transaction: see getmempoolentry
, getmempoolancestors
, getmempooldescendants
.
gettxoutsetinfo
UTXO hash (hash_serialized
) has changed. There was a divergence between
32-bit and 64-bit platforms, and the txids were missing in the hashed data. This has been
fixed, but this means that the output will be different than from previous versions.
Full UTF-8 support in the RPC API. Non-ASCII characters in, for example, wallet labels have always been malformed because they weren’t taken into account properly in JSON RPC processing. This is no longer the case. This also affects the GUI debug console.
Asm script outputs replacements for OP_NOP2 and OP_NOP3
OP_NOP2 has been renamed to OP_CHECKLOCKTIMEVERIFY by BIP 65
OP_NOP3 has been renamed to OP_CHECKSEQUENCEVERIFY by BIP 112
The following outputs are affected by this change:
getrawtransaction
(in verbose mode)decoderawtransaction
decodescript
/rest/tx/
(JSON format)/rest/block/
(JSON format when including extended tx details)bitcoin-tx -json
The sorting of the output of the getrawmempool
output has changed.
New RPC commands: generatetoaddress
, importprunedfunds
, removeprunedfunds
, signmessagewithprivkey
,
getmempoolancestors
, getmempooldescendants
, getmempoolentry
,
createwitnessaddress
, addwitnessaddress
.
Removed RPC commands: setgenerate
, getgenerate
.
New options were added to fundrawtransaction
: includeWatching
, changeAddress
, changePosition
and feeRate
.
Detailed release notes follow. This overview includes changes that affect behavior, not code moves, refactors and string updates. For convenience in locating the code changes and accompanying discussion, both the pull request and git merge commit are mentioned.
9ee02cf
Remove cs_main lock from createrawtransaction
(laanwj)2cd004b
Fix typo, wrong information in gettxout help text (paveljanik)82429d0
Indicate which transactions are signaling opt-in RBF (sdaftuar)b49a623
Changed getnetworkhps value to double to avoid overflow (instagibbs)8b958ab
Input-from-stdin mode for bitcoin-cli (laanwj)c9a1265
Use cached block hash in blockToJSON() (rat4)9af69fa
Correct importaddress help reference to importpubkey (CypherGrue)16555b6
Register calls where they are defined (laanwj)e662a76
Fix generatetoaddress failing to parse address (mruddy)916b15a
Add versionHex in getblock and getblockheader JSON results (mruddy)72c54e3
Getblockchaininfo: make bip9_softforks an object, not an array (rustyrussell)d97101e
Do not print minping time in getpeerinfo when no ping received yet (paveljanik)be14ca5
Add multiple options to fundrawtransaction (promag)9e47fce
Add cursor to iterate over utxo set, use this in gettxoutsetinfo
(laanwj)88616d2
Divergence between 32- and 64-bit when hashing >4GB affects gettxoutsetinfo
(laanwj)4205ad7
Speed up getchaintips
(mrbandrews)a1eb344
Append a message sequence number to every ZMQ notification (jonasschnelli)46880ed
List solvability in listunspent output and improve help (sipa)5725807
Push back getaddednodeinfo
dead value (instagibbs)0630353
Create signmessagewithprivkey
rpc (achow101)c028c7b
Expose information on whether transaction relay is enabled in getnetworkinfo
(laanwj)8c1e49b
Add feerate option to fundrawtransaction
(jonasschnelli)9b6a48c
Reduce unnecessary hashing in signrawtransaction
(jonasnick)79004d4
Add support for transaction sequence number (jonasschnelli)75ec320
fundrawtransaction
feeRate: Use BTC/kB (MarcoFalke)7ce9ac5
Expose ancestor/descendant information over RPC (sdaftuar)62fcf27
Fix createrawtx sequence number unsigned int parsing (jonasschnelli)9c3d0fa
Add full UTF-8 support to RPC (laanwj)304eff3
Don’t use floating point in rpcwallet (MarcoFalke)5a06ebb
Hide softfork in getblockchaininfo
if timeout is 0 (jl2012)1922e5a
Remove unnecessary LOCK(cs_main) in getrawmempool (dcousens)6a07208
Save last db read (morcos)0192806
Limitfreerelay edge case bugfix (ptschip)11d74f6
Replace maxFeeRate of 10000*minRelayTxFee with maxTxFee in mempool (MarcoFalke)9f33dba
Add tags to mempool’s mapTx indices (sdaftuar)26a2a72
Re-remove ERROR logging for mempool rejects (laanwj)14d6324
Keep reorgs fast for SequenceLocks checks (morcos)01f4267
Mempool: Add tracking of ancestor packages (sdaftuar)fc9e334
Txdb: Fix assert crash in new UTXO set cursor (laanwj)f9c2ac7
Minor changes to dbwrapper to simplify support for other databases (laanwj)e26b620
Fix OOM when deserializing UTXO entries with invalid length (sipa)5e374f7
Use SipHash-2-4 for various non-cryptographic hashes (sipa)d720980
VerifyDB: don’t check blocks that have been pruned (sdaftuar)862fd24
Do not use mempool for GETDATA for tx accepted after the last mempool req (gmaxwell)a82f033
Replace mapNextTx with slimmer setSpends (kazcw)1f86d64
Stop trimming when mapTx is empty (sipa)396f9d6
Bump -dbcache
default to 300MiB (laanwj)eb33179
Eliminate unnecessary call to CheckBlock (sdaftuar)006cdf6
Optimize and Cleanup CScript::FindAndDelete (pstratem)239d419
Optimize reindex (sipa)3081fb9
Put hex-encoded version in UpdateTip (sipa)d612837
Testnet-only segregated witness (sipa)3730393
Improve handling of unconnecting headers (sdaftuar)fca1a41
Rename “block cost” to “block weight” (sdaftuar)f84ee3d
Make witness v0 outputs non-standard (jl2012)3f65ba2
Treat high-sigop transactions as larger rather than rejecting them (sipa)dc0305d
Log bytes recv/sent per command (jonasschnelli)3b43cad
Do not download transactions during initial blockchain sync (ptschip)898fedf
peers.dat, banlist.dat recreated when missing (kirkalx)3da5d1b
Fix memleak in TorController (laanwj, jonasschnelli)9f14e5a
Remove vfReachable and modify IsReachable to only use vfLimited (pstratem)9426632
De-neuter NODE_BLOOM (pstratem)29b2be6
Remove P2P alert system (btcdrak)c946a15
Implement “feefilter” P2P message (morcos)352fd57
Add -maxtimeadjustment
command line option (mruddy)232592a
Add IPv6 Link-Local Address Support (mruddy)e6a4d48
Improve AlreadyHave (morcos)64e71b3
Only send one GetAddr response per connection (gmaxwell)7daa3ad
Split DNS resolving functionality out of net structures (theuni)7617682
Fix headers announcements edge case (sdaftuar)d9594bf
Fix IsInitialBlockDownload for testnet (jmacwhyte)03cf6e8
fix race that could fail to persist a ban (kazcw)3b9a0bf
Several performance and privacy improvements to inv/mempool handling (sipa)65aecda
Don’t run ThreadMessageHandler at lowered priority (kazcw)5c3f8dd
Fix de-serialization bug where AddrMan is left corrupted (EthanHeilman)ed749bd
CAddrMan::Deserialize handle corrupt serializations better (pstratem)83121cc
Prerequisites for p2p encapsulation changes (theuni)18436d8
Fix Socks5() connect failures to be less noisy and less unnecessarily scary (wtogami)01d8359
Defer inserting into maprelay until just before relaying (gmaxwell)6a22373
Only use AddInventoryKnown for transactions (sdaftuar)2156fa2
Disable the mempool P2P command when bloom filters disabled (petertodd)67c91f8
Addrman offline attempts (gmaxwell)761cddb
Tor: Change auth order to only use password auth if -torpassword (laanwj)cd0c513
Add support for dnsseeds with option to filter by servicebits (jonasschnelli)4286f43
Use SipHash for node eviction (sipa)1445835
Drop vAddrToSend after sending big addr message (kazcw)be9711e
Enforce expected outbound services (sipa)0a64777
Do not set extra flags for unfiltered DNS seed results (sipa)e4bb4a8
Add recently accepted blocks and txn to AttemptToEvictConnection (gmaxwell)3f89a53
Rework addnode behaviour (sipa)94ab58b
Evict orphans which are included or precluded by accepted blocks (gmaxwell)e9d76a1
Compact Blocks (TheBlueMatt)0833894
Update petertodd’s testnet seed (petertodd)5cd35d3
Mark my dnsseed as supporting filtering (sipa)042c323
Remove bad chain alert partition check (btcdrak)1bc9c80
Do not send witnesses in cmpctblock (sipa)ca40ef6
Fix mempool DoS vulnerability from malleated transactions (sdaftuar)16ccb74
Account for sendheaders
verack
messages (laanwj)425278d
Bugfix: use global ::fRelayTxes instead of CNode in version send (sipa)b7e2011
Prevent fingerprinting, disk-DoS with compact blocks (sdaftuar)41f1a3e
C++11 build/runtime fixes (theuni)fd9356b
c++11: add scoped enum fallbacks to CPPFLAGS rather than defining them locally (theuni)a6771fc
Use Debian 8.3 in gitian build guide (fanquake)152a821
Build against system UniValue when available (luke-jr)621940e
LibreSSL doesn’t define OPENSSL_VERSION, use LIBRESSL_VERSION_TEXT instead (paveljanik)9b9bfce
autogen.sh: warn about needing autoconf if autoreconf is not found (knocte)19324cf
Crystal clean make clean (paveljanik)18b3f1b
Add missing sudo entry in gitian VM setup (btcdrak)639ec58
[depends] Delete unused patches (MarcoFalke)c15eb28
Add curl to Gitian setup instructions (btcdrak)909b72b
[Depends] Bump miniupnpc and config.guess+sub (fanquake)5131005
build: python 3 compatibility (laanwj)28ad4d9
Fix quoting of copyright holders in configure.ac (domob1812)a67bc5e
[build-aux] Update Boost & check macros to latest serials (fanquake)4dc1b3a
Use relative paths instead of absolute paths in protoc calls (paveljanik)bbd210d
depends: some base fixes/changes (theuni)73fc922
Build System: Use PACKAGE_TARNAME in NSIS script (JeremyRand)187186b
test: move accounting_tests and rpc_wallet_tests to wallet/test (laanwj)351abf9
leveldb: integrate leveldb into our buildsystem (theuni)a407807
Re-instate TARGET_OS=linux in configure.ac. Removed by 351abf9e035 (randy-waterhouse)c3e3cfb
Switch Travis to Trusty (theuni)08b37c5
build: quiet annoying warnings without adding new ones (theuni)06162f1
build: Enable C++11 in build, require C++11 compiler (laanwj)559fbae
build: No need to check for leveldb atomics (theuni)f9b4582
[depends] Add -stdlib=libc++ to darwin CXX flags (fanquake)6a034ed
[depends] Bump Freetype, ccache, ZeroMQ, miniupnpc, expat (fanquake)19ea173
Ship debug tarballs/zips with debug symbols (theuni)f0299d8
Add –disable-bench to config flags for windows (laanwj)fd9881a
[gitian] Default reference_datetime to commit author date (MarcoFalke)9201ce8
Get rid of CLIENT_DATE
(laanwj)fde0ac4
Finish up out-of-tree changes (theuni)65a9d7d
Add armhf/aarch64 gitian builds (theuni)cca1c8c
[gitian] set correct PATH for wrappers (MarcoFalke)5201614
Sync ax_pthread with upstream draft4 (fanquake)12a541e
[Qt] Bump to Qt5.6.1 (jonasschnelli)da50997
windows: Add testnet link to installer (laanwj)0cca2fe
[travis] Update SDK_URL (MarcoFalke)6ae20df
Require boost for bench (theuni)2e51590
Don’t require sudo for Linux (theuni)67caef6
Fix pkg-config issues for 0.13 (theuni)1fe7f40
Fix OSX non-deterministic dmg (theuni)cfd1280
Gbuild: Set memory explicitly (default is too low) (MarcoFalke)00b4b8d
Add InMempool() info to transaction details (jonasschnelli)5f3c670
[RPC-Tests] add simple way to run rpc test over QT clients (jonasschnelli)a1c185b
Fix misleading translation (MarcoFalke)be9a9a3
qt5: Use the fixed font the system recommends (MarcoFalke)08ab906
Add note to coin control dialog QT5 workaround (fanquake)e289807
Replace some instances of formatWithUnit with formatHtmlWithUnit (fanquake)3b57e9c
Fix RPCTimerInterface ordering issue (jonasschnelli)c079d79
Transaction View: LastMonth calculation fixed (crowning-)e1060c5
coincontrol workaround is still needed in qt5.4 (fixed in qt5.5) (MarcoFalke)ae2db67
Rename “amount” to “requested amount” in receive coins table (jonasschnelli)cdcbc59
Add option to increase/decrease font size in the console window (jonasschnelli)9645218
Disable tab navigation for peers tables (Kefkius)354b03d
build: Remove spurious dollar sign. Fixes #7189 (dooglus)7f001bd
Remove openssl info from init/log and from Qt debug window (jonasschnelli)87d6562
Add ‘copy full transaction details’ option (ericshawlinux)3798e5d
Add autocomplete to bitcoin-qt’s console window (GamerSg)b24266c
Fix history deletion bug after font size change (achow101)41d2dfa
Remove reflection from about
icon (laanwj)f034bce
Remove 0-fee from send dialog (MarcoFalke)b88e0b0
Use CCoinControl selection in CWallet::FundTransaction (promag)0b98dd7
Debug window: replace “Build date” with “Datadir” (jonasschnelli)60db51d
remove trailing output-index from transaction-id (jonasschnelli)6383268
Clear the input line after activating autocomplete (paveljanik)f604bf6
Fix out-of-tree GUI builds (laanwj)574ddc6
Make it possible to show details for multiple transactions (laanwj)b33824b
Delay user confirmation of send (Tyler-Hardin)7c8558d
Add option to disable the system tray icon (Tyler-Hardin)169d379
Fix Cmd-Q / Menu Quit shutdown on OSX (jonasschnelli)6929711
Don’t allow to open the debug window during splashscreen & verification state (jonasschnelli)77b49ac
Sort transactions by date (Tyler-Hardin)eb2f6f7
askpassphrasedialog: Clear pass fields on accept (rat4)ee1533e
Fix RPC console auto completer (UdjinM6)fb0ac48
Add bitcoin address label to request payment QR code (makevoid)760a6c7
Fix a bug where the SplashScreen will not be hidden during startup (jonasschnelli)af2421c
BUG: bitcoin-qt crash (fsb4000)ff03c50
Do not ask a UI question from bitcoind (sipa)91abb77
Network-specific example address (laanwj)a914968
UI support for abandoned transactions (jonasschnelli)f7a403b
Add a link to the Bitcoin-Core repository and website to the About Dialog (MarcoFalke)6a87eb0
Remove client name from debug window (laanwj)45eba4b
Add dbcache migration path (jonasschnelli)fc08994
Reduce inefficiency of GetAccountAddress() (dooglus)78e81b0
Warn on unexpected EOF while salvaging wallet (laanwj)3368895
Don’t resend wallet txs that aren’t in our own mempool (morcos)86a1ec5
Move wallet help string creation to CWallet (jonasschnelli)5b3b5a7
Move “load wallet phase” to CWallet (jonasschnelli)0735c0c
Move hardcoded file name out of log messages (MarcoFalke)4900641
Prevent multiple calls to CWallet::AvailableCoins (promag)e5c3511
Fix lockunspent help message (promag)b35a591
Add import/removeprunedfunds rpc call (instagibbs)48c5adf
add bip32 pub key serialization (jonasschnelli)bafd075
Fix for incorrect locking in GetPubKey() (keystore.cpp) (yurizhykin)41138f9
init: Move berkeleydb version reporting to wallet (laanwj)373b50d
Fix insanity of CWalletDB::WriteTx and CWalletTx::WriteToDisk (pstratem)f6b7df3
Improve Wallet encapsulation (pstratem)950be19
Always require OS randomness when generating secret keys (sipa)b89ef13
Replace OpenSSL AES with ctaes-based version (sipa)f972b04
Prevent multiple calls to ExtractDestination (pedrobranco)243ac0c
Improve CWallet API with new AccountMove function (pstratem)52c3f34
Improve CWallet API with new GetAccountPubkey function (pstratem)b67a472
Add simplest BIP32/deterministic key generation implementation (jonasschnelli)a6ddb19
Stop treating importaddress’ed scripts as change (sipa)aef3811
wallet: Revert input selection post-pruning (laanwj)bc94b87
Keep HD seed during salvagewallet (jonasschnelli)238300b
Add HD keypath to CKeyMetadata, report metadata in validateaddress (jonasschnelli)3b38a6a
Ensure <0.13 clients can’t open HD wallets (jonasschnelli)ebea651
Move SetMinVersion for FEATURE_HD to SetHDMasterKey (pstratem)73adfe3
Correct hdmasterkeyid/masterkeyid name confusion (jonasschnelli)18b8ee1
Add HD xpriv to dumpwallet (jonasschnelli)c3c82c4
Create a new HD seed after encrypting the wallet (jonasschnelli)d3dfc6d
Test walletpassphrase timeout (MarcoFalke)47c5ed1
Make max tip age an option instead of chainparam (laanwj)21376af
Trivial: [qa] wallet: Print maintenance (MarcoFalke)668906f
[travis] Fail when documentation is outdated (MarcoFalke)93b0576
[qa] Change default block priority size to 0 (MarcoFalke)02676c5
Use createrawtx locktime parm in txn_clone (dgenr8)326ffed
Adds unittests for CAddrMan and CAddrinfo, removes source of non-determinism (EthanHeilman)d007511
tests: Remove May15 test (laanwj)18cb2d5
Add bip68-sequence.py to extended rpc tests (btcdrak)ce5fc02
test: test leading spaces for ParseHex (laanwj)1b68de3
[travis] Only run check-doc.py once (MarcoFalke)7f96671
[travis] Exit early when check-doc.py fails (MarcoFalke)56d2c4e
Move GetTempPath() to testutil (musalbas)f1ca891
test: script_error checking in script_invalid tests (laanwj)3d0dfdb
Extend tests (MarcoFalke)622fe6c
Tests: make prioritise_transaction.py more robust (sdaftuar)efde86b
Tests: fix missing import in mempool_packages (sdaftuar)29e1131
Add tests verifychain, lockunspent, getbalance, listsinceblock (MarcoFalke)3b4324b
rpc-test: Normalize assert() (MarcoFalke)26794d4
wallet: Wait for reindex to catch up (MarcoFalke)a65b36c
Don’t run pruning.py twice (MarcoFalke)7c80e72
Fix comments in tests (btcdrak)e9723cb
tests: Make proxy_test work on travis servers without IPv6 (laanwj)70ac71b
Remove misleading “errorString syntax” (MarcoFalke)401c65c
maxblocksinflight: Actually enable test (MarcoFalke)3bc71e1
httpbasics: Actually test second connection (MarcoFalke)ab8586e
tests: add varints_bitpatterns test (laanwj)491171f
Clean up lockorder data of destroyed mutexes (sipa)6ef5e00
py2: Unfiddle strings into bytes explicitly (MarcoFalke)53adc83
[test] bctest.py: Revert faa41ee (MarcoFalke)cabba24
[travis] Print the commit which was evaluated (MarcoFalke)b1bf511
tests: Check Content-Type header returned from RPC server (laanwj)fa9d86f
pull-tester: Don’t mute zmq ImportError (MarcoFalke)0e6fd5e
Add listunspent() test for spendable/unspendable UTXO (jpdffonseca)59ad568
Tests: Fix deserialization of reject messages (sdaftuar)0ea3941
Fixing comment in script_test.json test case (Christewart)0ad1041
Fixed miner test values, gave constants for less error-prone values (instagibbs)88b77c7
Smartfees: Properly use ordered dict (MarcoFalke)77b637f
Switch to py3 (MarcoFalke)409a8a1
Revert fatal-ness of missing python-zmq (laanwj)3e90fe6
Autofind rpc tests –srcdir (jonasschnelli)5767e80
Fix multithread CScheduler and reenable test (paveljanik)423ca30
pull-tester: Run rpc test in parallel (MarcoFalke)69b3a6d
Bench: Add crypto hash benchmarks (laanwj)5b736dd
Fix bip9-softforks blockstore issue (MarcoFalke)1f01443
Add op csv tests to script_tests.json (Christewart)e2bf830
Various minor fixes (MarcoFalke)1b87e5b
Travis: ‘make check’ in parallel and verbose (theuni)8844ef1
Remove hardcoded “4 nodes” from test_framework (MarcoFalke)37f9a1f
Test_framework: Set wait-timeout for bitcoind procs (MarcoFalke)6700cc9
Test framework: only cleanup on successful test runs (sdaftuar)06bd4f6
Test_framework: Append portseed to tmpdir (MarcoFalke)6ff2c8d
Add timeout to sync_blocks() and sync_mempools() (sdaftuar)61b8684
Benchmark SipHash (sipa)52b803e
Bench: Added base58 encoding/decoding benchmarks (yurizhykin)0026e0e
Avoid integer division in the benchmark inner-most loop (gmaxwell)a2df115
Adding P2SH(p2pkh) script test case (Christewart)ec45cc5
Extend #7956 with one more test (TheBlueMatt)ae5575b
Fix interrupted HTTP RPC connection workaround for Python 3.5+ (sipa)0f24eaf
[Bitcoin-Tx] fix missing test fixtures, fix 32bit atoi issue (jonasschnelli)0b5279f
Src/test: Do not shadow local variables (paveljanik)44c1b1c
Continuing port of java comparison tool (mrbandrews)36b7400
fundrawtransaction: Fix race, assert amounts (MarcoFalke)ed2cd59
Mininode: fail on send_message instead of silent return (MarcoFalke)a072d1a
Don’t use floating point in wallet tests (MarcoFalke)65c2058
Test_framework: Use different rpc_auth_pair for each node (MarcoFalke)0d41d70
Assert ‘changePosition out of bounds’ (MarcoFalke)961893f
Enable mempool consistency checks in unit tests (sipa)84370d5
test_framework: python3.4 authproxy compat (laanwj)d8e862a
test_framework: detect failure of bitcoind startup (laanwj)115735d
Increase sync_blocks() timeouts in pruning.py (MarcoFalke)af9b7a9
Solve trivial merge conflict in p2p-segwit.py (MarcoFalke)3e4cf8f
Travis: use slim generic image, and some fixups (theuni)5c7df70
Test_framework: Properly print exception (MarcoFalke)7771aa5
Remove non-determinism which is breaking net_tests #8069 (EthanHeilman)bb2646a
Add wallet-hd test (MarcoFalke)cd0910b
Fix p2p-feefilter.py for changed tx relay behavior (sdaftuar)11c7699
Remove internal miner (Leviathn)c87f51e
Make the generate RPC call function for non-regtest (sipa)e2ebd25
Add generatetoaddress RPC to mine to an address (achow101)66ed450
Versionbits: GBT support (luke-jr)66db2d6
Select transactions using feerate-with-ancestors (sdaftuar)f5660d3
Mining-related fixups for 0.13.0 (sdaftuar)536b75e
Add support for negative fee rates, fixes prioritizetransaction
(MarcoFalke)86edc20
Scale legacy sigop count in CreateNewBlock (sdaftuar)8b0eee6
Bugfix: Use pre-BIP141 sigops until segwit activates (GBT) (luke-jr)69e2a40
Add example for building with constrained resources (jarret)c2c69ed
Add OSX ZMQ requirement to QA readme (fanquake)377d131
Clarify documentation for running a tor node (nathaniel-mahieu)4b12266
Add example for listing ./configure flags (nathaniel-mahieu)3eae681
Add arch linux build example (mruddy)ff69aaf
Fedora build requirements (wtogami)fbedc09
Fedora build requirements, add gcc-c++ and fix typo (wtogami)fbd8478
Fixed invalid example paths in gitian-building.md (JeremyRand)63fbdbc
Mention Windows XP end of support in release notes (laanwj)5077d2c
Update bips.md for CSV softfork (fanquake)e0b3e19
Add note about using the Qt official binary installer (paveljanik)e30a5b0
Change Precise to Trusty in gitian-building.md (JeremyRand)8bb5d3d
Update gitian build guide to debian 8.4.0 (fanquake)b778e59
Replace precise with trusty (MarcoFalke)fc23fee
Update bitcoin-core GitHub links (MarcoFalke)e3a8207
Add basic git squash workflow (fanquake)214ec0b
Update port in tor.md (MarcoFalke)37c9830
Use Debian 8.5 in the gitian-build guide (fanquake)3685e0c
Clarify help for getblockchaininfo
(paveljanik)ea0f5a2
Note that reviewers should mention the id of the commits they reviewed (pstratem)c851d8d
[init] Add missing help for args (MarcoFalke)f9fd4c2
Improve CheckInputs() comment about sig verification (petertodd)1e06bab
Minor improvements to the release process (PRabahy)4cdbd42
Improve block validity/ConnectBlock() comments (petertodd)db2e1c0
Fix and cleanup listreceivedbyX documentation (instagibbs)b6e00af
Clarify description of blockindex (pinheadmz)f06af57
Improving wording related to Boost library requirements [updated] (jonathancross)0fa88ef
Add dependency info to test docs (elliotolds)3ba07bd
RPM spec file project (AliceWonderMiscreations)229a17c
Removed call to TryCreateDirectory
from GetDefaultDataDir
in src/util.cpp
(alexreg)ec870e1
Prevector: fix 2 bugs in currently unreached code paths (kazcw)90653bc
CBase58Data::SetString: cleanse the full vector (kazcw)c4e8390
Update release process (laanwj)a9c8b74
Log invalid block hash to make debugging easier (paveljanik)8206835
More comments on the design of AttemptToEvictConnection (gmaxwell)47a7cfb
UpdateTip: log only one line at most per block (laanwj)e7e25ea
Add benchmarking notes (fanquake)58f0c92
Update implemented BIPs list (fanquake)58725ba
Simplify OS X build notes (fanquake)d46b8b5
comment nit: miners don’t vote (instagibbs)22e0b35
Log/report in 10% steps during VerifyDB (jonasschnelli)d366185
util: Add ParseUInt32 and ParseUInt64 (laanwj)f7b1bfc
Add git and github tips and tricks to developer notes (sipa)67db011
developer notes: updates for C++11 (kazcw)8ccdac1
[Doc] Update OS X build notes for 10.11 SDK (fanquake)9f1807a
Mention Linux ARM executables in release process and notes (laanwj)ff46dd4
Rename OP_NOP3 to OP_CHECKSEQUENCEVERIFY (btcdrak)26316ff
bash-completion: Adapt for 0.12 and 0.13 (roques)3dc3149
Missing patches from 0.12 (MarcoFalke)54a550b
Switch to a more efficient rolling Bloom filter (sipa)de9e5ea
Combine common error strings for different options so translations can be shared and reused (luke-jr)b8f485c
[contrib] Add clang-format-diff.py (MarcoFalke)e6f97ef
devtools: replace github-merge with python version (laanwj)0893705
devtools: show pull and commit information in github-merge (laanwj)6a5932b
devtools: github-merge get toplevel dir without extra whitespace (achow101)20a408c
devtools: Fix utf-8 support in messages for github-merge (laanwj)409f843
Delete outdated test-patches reference (Lewuathe)386f438
remove unused NOBLKS_VERSION_{START,END} constants (rat4)aa0d2b2
devtools: make github-merge.py use py3 (laanwj)55db5f0
devtools: Auto-set branch to merge to in github-merge (laanwj)f17032f
Improve rolling bloom filter performance and benchmark (sipa)2efe38b
signal handling: fReopenDebugLog and fRequestShutdown should be type sig_atomic_t (catilac)f6598df
Fixes for verify-commits script (petertodd)8360d5b
libconsensus: Expose a flag for BIP112 (jtimon)Thanks to everyone who directly contributed to this release:
As well as everyone that helped translating on Transifex.