Bitcoin Knots version *0.15.0.knots20170914* is now available from:


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:


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, 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.0 or upgrade to version 0.15.0 will cause all fee
estimates to be discarded.

Note that the block database format also changed in version 0.8.0 and there is 
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 
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 
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 Knots is supported on multiple operating systems using the Linux kernel,
macOS 10.8+, and Windows Vista and later. Windows XP is not supported.

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

Notable changes

Performance Improvements

Version 0.15 contains a number of significant performance improvements, which 
Initial Block Download, startup, transaction and block validation much faster:

- The chainstate database (which is used for tracking UTXOs) has been changed
  from a per-transaction model to a per-output model (See [PR 
10195]( Advantages of this 
  are that it:
    - avoids the CPU overhead of deserializing and serializing the unused 
    - has more predictable memory usage;
    - uses simpler code;
    - is adaptable to various future cache flushing strategies.

  As a result, validating the blockchain during Initial Block Download (IBD) 
and reindex
  is ~30-40% faster, uses 10-20% less memory, and flushes to disk far less 
  The only downside is that the on-disk database is 15% larger. During the 
conversion from the previous format
  a few extra gigabytes may be used.
- Earlier versions experienced a spike in memory usage while flushing UTXO 
updates to disk.
  As a result, only half of the available memory was actually used as cache, 
and the other half was
  reserved to accommodate flushing. This is no longer the case (See [PR 
10148](, and the 
entirety of
  the available cache (see `-dbcache`) is now actually used as cache. This 
reduces the flushing
  frequency by a factor 2 or more.
- In previous versions, signature validation for transactions has been cached 
when the
  transaction is accepted to the mempool. Version 0.15 extends this to cache 
the entire script
  validity (See [PR 10192]( 
This means that if a transaction in a block has already been 
accepted to the
  mempool, the scriptSig does not need to be re-evaluated. Empirical tests show 
  this results in new block validation being 40-50% faster.
- LevelDB has been upgraded to version 1.20 (See [PR 
10544]( This version contains 
acceleration for CRC
  on architectures supporting SSE 4.2. As a result, synchronization and block 
validation are now faster.
- SHA256 hashing has been optimized for architectures supporting SSE 4 (See [PR 
SHA256 is around
  50% faster on supported hardware, which results in around 5% faster IBD and 
  validation. In version 0.15, SHA256 hardware optimization is disabled in 
release builds by
  default, but can be enabled by using `--enable-experimental-asm` when 
- Refill of the keypool no longer flushes the wallet between each key which 
resulted in a ~20x speedup in creating a new wallet. Part of 
this speedup was used to increase the default keypool to 1000 keys to make 
recovery more robust. (See [PR 10831]

Fee Estimation Improvements

Fee estimation has been significantly improved in version 0.15, with more 
accurate fee estimates used by the wallet and a wider range of 
options for advanced users of the `estimatesmartfee` and `estimaterawfee` RPCs 
(See [PR 10199]

### Changes to internal logic and wallet behavior

- Internally, estimates are now tracked on 3 different time horizons. This 
allows for longer targets and means estimates adjust more 
quickly to changes in conditions.
- Estimates can now be *conservative* or *economical*. *Conservative* estimates 
use longer time horizons to produce an estimate which is 
less susceptible to rapid changes in fee conditions. *Economical* estimates use 
shorter time horizons and will be more affected by short-
term changes in fee conditions. Economical estimates may be considerably lower 
during periods of low transaction activity (for example over 
weekends), but may result in transactions being unconfirmed if prevailing fees 
increase rapidly.
- By default, the wallet will use conservative fee estimates to increase the 
reliability of transactions being confirmed within the desired 
target. For transactions that are marked as replaceable, the wallet will use an 
economical estimate by default, since the fee can be 
'bumped' if the fee conditions change rapidly (See [PR 
- Estimates can now be made for confirmation targets up to 1008 blocks (one 
- More data on historical fee rates is stored, leading to more precise fee 
- Transactions which leave the mempool due to eviction or other non-confirmed 
reasons are now taken into account by the fee estimation 
logic, leading to more accurate fee estimates.
- The fee estimation logic will make sure enough data has been gathered to 
return a meaningful estimate. If there is insufficient data, a 
fallback default fee is used.

### Changes to fee estimate RPCs

- The `estimatefee` RPC is now deprecated in favor of using only 
`estimatesmartfee` (which is the implementation used by the GUI)
- The `estimatesmartfee` RPC interface has been changed (See [PR 
    - The `nblocks` argument has been renamed to `conf_target` (to be 
consistent with other RPC methods).
    - An `estimate_mode` argument has been added. This argument takes one of 
the following strings: `CONSERVATIVE`, `ECONOMICAL` or `UNSET` 
(which defaults to `CONSERVATIVE`).
    - The RPC return object now contains an `errors` member, which returns 
errors encountered during processing.
    - If Bitcoin Knots has not been running for long enough and has not seen 
enough blocks or transactions to produce an accurate fee 
estimation, an error will be returned (previously a value of -1 was used to 
indicate an error, which could be confused for a feerate).
- A new `estimaterawfee` RPC is added to provide raw fee data. External clients 
can query and use this data in their own fee estimation 

Multi-wallet endpoint support

Bitcoin Knots has supported loading multiple, separate wallets since
v0.13.1.knots20161027. However, due to the RPC API, RPC users could only access
a single wallet at a time - accessing multiple wallets over RPC required the
use of multiple RPC users. 0.15.0 adds support for specifying the wallet by
name using a URI path for the RPC endpoint.

To do this, HTTP RPC requests should be send to the `<RPC IP address>:<RPC 
port>/wallet/<wallet name>/` endpoint, for example 

`bitcoin-cli` commands should be run with a `-rpcwallet` option, for example 
`bitcoin-cli -rpcwallet=wallet1.dat getbalance`.

Additionally, a new `listwallets` RPC method is added to display which wallets 
are currently loaded. The names returned by this method are 
the same as those used in the HTTP endpoint and for the `rpcwallet` argument.

This new wallet endpoint interface should be considered unstable for version 
0.15.0, and there may backwards-incompatible changes in future 

The original RPC user based wallet selection continues to work as well, 
independently from the new endpoint support. `rpcauth` users that 
specify a specific wallet are prohibited from using endpoints to access others. 
However, note that (at least in this version) `listwallets` 
will always list all wallets on the node, even if access to them has been 

Removal of no-fee transactions

In previous versions of Bitcoin Knots, transactions without a fee would be 
allowed to be relayed if the node's memory pool was empty and 
the age and value of UTXOs they spent (coin age priority) was sufficiently high.

For a long time now, this has been effectively useless, due to wide adoption of 
Bitcoin as well as regular spam attacks. Since the code no 
longer has a purpose, support for no-fee transactions has been removed.

Segwit checkpoint

Since Segwit has activated, this release adds a new checkpoint locking to the 
first Segwit block. This guarantees no matter what happens, 
your node will not accept a reorg to attempt theft of Segwit funds. (This isn't 
a real-world risk anyway, but there's no reason not to 
guarantee it with a checkpoint.)

Mempool Persistence Across Restarts

Version 0.13.1.knots20161212 introduced mempool persistence across restarts 
(the mempool is saved to a `mempool.dat` file in the data 
directory prior to shutdown and restores the mempool when the node is 
restarted). Version 0.15 allows this feature to be switched on or off 
using the `-persistmempool` command-line option (See [PR 
9966]( By default, the option is 
set to true, and the mempool is saved on shutdown and reloaded on startup. If 
set to false, the `mempool.dat` file will neither be loaded 
on startup nor saved on shutdown.

The new `savemempool` RPC can be used to trigger an immediate save of the 
mempool state at any time.

New RPC methods

Version 0.15 introduces several new RPC methods:

- `abortrescan` stops current wallet rescan, e.g. when triggered by an 
`importprivkey` call (See [PR 10208]
- `combinerawtransaction` accepts a JSON array of raw transactions and combines 
them into a single raw transaction (See [PR 10571]
- `estimaterawfee` returns raw fee data so that customized logic can be 
implemented to analyze the data and calculate estimates. See [Fee 
Estimation Improvements](#fee-estimation-improvements) for full details on 
changes to the fee estimation logic and interface.
- `getchaintxstats` returns statistics about the total number and rate of 
  in the chain (See [PR 9733](
- `listwallets` lists wallets which are currently loaded. See the 
*Multi-wallet* section
  of these release notes for full details (See [Multi-wallet endpoint 
- `savemempool` causes the memory pool to immediately update `mempool.dat` with 
its current state.
- `uptime` returns the total runtime of the `bitcoind` server since its last 
start (See [PR 10400]
- `verifyscript` allows verification of a specific Bitcoin Script, optionally 
including a full trace of the evaluation.

Additionally, the `bitcoin-cli` tool now supports a `-getinfo` command line 
option to fetch information from multiple `get*info` RPC 
methods. This is intended to replace the deprecated `getinfo` RPC method.

Wallet ZeroMQ publishers

This release includes experimental ZeroMQ publishers for wallet transactions.

See [the ZMQ documentation]( for details.

Low-level RPC changes

- When using Bitcoin Knots in multi-wallet mode, RPC requests for wallet 
methods may specify
  the wallet that they're intended for. See [Multi-wallet endpoint 
support](#multi-wallet-endpoint-support) for full details.

- The `optintorbf` parameter for `createrawtransaction` and 
`fundrawtransaction` has been renamed to `replaceable` to match `bumpfee`.

- The new database model no longer stores information about transaction
  versions of unspent outputs (See [Performance 
improvements](#performance-improvements)). This means that:
  - The `gettxout` RPC no longer has a `version` field in the response.
  - The `gettxoutsetinfo` RPC reports `hash_serialized_2` instead of 
    which does not commit to the transaction versions of unspent outputs, but 
    commit to the height and coinbase information.
  - The `getutxos` REST path no longer reports the `txvers` field in JSON 
    and always reports 0 for transaction versions in the binary format

- The `estimatefee` RPC is deprecated. Clients should switch to using the 
`estimatesmartfee` RPC, which returns better fee estimates. See 
[Fee Estimation Improvements](#fee-estimation-improvements) for full details on 
changes to the fee estimation logic and interface.

- The `gettxoutsetinfo` response now contains `disk_size` and `bogosize` 
instead of
  `bytes_serialized`. The first is a more accurate estimate of actual disk 
usage, but
  is not deterministic. The second is unrelated to disk usage, but is a
  database-independent metric of UTXO set size: it counts every UTXO entry as 
50 + the
  length of its scriptPubKey (See [PR 

- `signrawtransaction` can no longer be used to combine multiple transactions 
into a single transaction. Instead, use the new 
`combinerawtransaction` RPC (See [PR 

- `fundrawtransaction` no longer accepts a `reserveChangeKey` option. This 
option used to allow RPC users to fund a raw transaction using 
an key from the keypool for the change address without removing it from the 
available keys in the keypool. The key could then be re-used 
for a `getnewaddress` call, which could potentially result in confusing or 
dangerous behaviour (See [PR 10784]

- `estimatepriority` and `estimatesmartpriority` have been removed. Estimating 
coin age priority is no longer supported.

- In the `getpeerinfo` RPC, the return object for each peer now returns an 
`addrbind` member, which contains the ip address and port of the 
connection to the peer. This is in addition to the `addrlocal` member which 
contains the ip address and port of the local node as reported 
by the peer (See [PR 10478](

- The `resendwallettransactions` RPC throws an error if the `-walletbroadcast` 
option is set to false (See [PR 10995]

- The second argument in the `submitblock` RPC argument has been renamed from 
`parameters` to `dummy`. This argument never had any effect, 
and the renaming is simply to communicate this fact to the user (See [PR 
  (Clients should, however, use positional arguments for `submitblock` in order 
to be compatible with BIP 22.)

- Mempool entries returned from RPC now include the hash of the entire 
transaction as a `wtxid` key.

Low-level p2p changes

Support for a new kind of inventory item MSG_FILTERED_WITNESS_BLOCK has been 
added. This extends the functionality of BIP37, used 
identically to MSG_FILTERED_BLOCK. But whereas MSG_FILTERED_BLOCK returns 
transactions with no witness data, MSG_FILTERED_WITNESS_BLOCK 
returns the transactions serialized along with witness data. No merkle proof 
for witness inclusion in blocks is provided, but clients can 
still verify the witness is valid (although possibly not the same witness as in 
the blockchain).

BIP37 has well-known privacy issues and will likely be deprecated in favor of 
clientside block filtering in future software releases. 
MSG_FILTERED_WITNESS_BLOCK is provided to enable clients that rely on BIP37 to 
easily add Segregated Witness support immediately until 
better sync mechanisms gain widespread use.

Warning: BIP37 leaks private data and witness data is not authenticated. You 
must use a trusted node to use this mechanism securely.

0.15.0 Change log

### RPC and other APIs
- #9485 `61a640e` ZMQ example using python3 and asyncio (mcelrath)
- #9894 `0496e15` remove 'label' filter for rpc command help (instagibbs)
- #9853 `02bd6e9` Fix error codes from various RPCs (jnewbery)
- #9842 `598ef9c` Fix RPC failure testing (continuation of #9707) (jnewbery)
- #10038 `d34995a` Add mallocinfo mode to `getmemoryinfo` RPC (laanwj)
- #9500 `3568b30` [Qt][RPC] Autocomplete commands for 'help' command in debug 
console (achow101)
- #10056 `e6156a0` [zmq] Call va_end() on va_start()ed args (kallewoof)
- #10086 `7438cea` Trivial: move rpcserialversion into RPC option group (jlopp)
- #10150 `350b224` [rpc] Add logging rpc (jnewbery)
- #10208 `393160c` [wallet] Rescan abortability (kallewoof)
- #10143 `a987def` [net] Allow disconnectnode RPC to be called with node id 
- #10281 `0e8499c` doc: Add RPC interface guidelines (laanwj)
- #9733 `d4732f3` Add getchaintxstats RPC (sipa)
- #10310 `f4b15e2` [doc] Add hint about getmempoolentry to getrawmempool help 
- #8704 `96c850c` [RPC] Transaction details in getblock (achow101)
- #8952 `9390845` Add query options to listunspent RPC call (pedrobranco)
- #10413 `08ac35a` Fix docs (there's no rpc command setpaytxfee) (RHavar)
- #8384 `e317c0d` Add witness data output to TxInError messages (instagibbs)
- #9571 `4677151` RPC: getblockchaininfo returns BIP signaling statistics  
- #10450 `ef2d062` Fix bumpfee rpc "errors" return value (ryanofsky)
- #10475 `39039b1` [RPC] getmempoolinfo mempoolminfee is a BTC/KB feerate 
- #10478 `296928e` rpc: Add listen address to incoming connections in 
`getpeerinfo` (laanwj)
- #10403 `08d0390` Fix importmulti failure to return rescan errors (ryanofsky)
- #9740 `9fec4da` Add friendly output to dumpwallet (aideca)
- #10426 `16f6c98` Replace bytes_serialized with bogosize (sipa)
- #10252 `980deaf` RPC/Mining: Restore API compatibility for 
prioritisetransaction (luke-jr)
- #9672 `46311e7` Opt-into-RBF for RPC & bitcoin-tx (luke-jr)
- #10481 `9c248e3` Decodehextx scripts sanity check  (achow101)
- #9738 `c94b89e` gettxoutproof() should return consistent result (jnewbery)
- #10191 `00350bd` [trivial] Rename unused RPC arguments 'dummy' (jnewbery)
- #10627 `b62b4c8` fixed listunspent rpc convert parameter (tnakagawa)
- #10412 `bef02fb` Improve wallet rescan API (ryanofsky)
- #10400 `1680ee0` [RPC] Add an uptime command that displays the amount of time 
(in seconds) bitcoind has been running (rvelhote)
- #10683 `d81bec7` rpc: Move the `generate` RPC call to rpcwallet (laanwj)
- #10710 `30bc0f6` REST/RPC example update (Mirobit)
- #10747 `9edda0c` [rpc] fix verbose argument for getblock in bitcoin-cli 
- #10589 `104f5f2` More economical fee estimates for RBF and RPC options to 
control (morcos)
- #10543 `b27b004` Change API to estimaterawfee (morcos)
- #10807 `afd2fca` getbalance example covers at least 6 confirms (instagibbs)
- #10707 `75b5643` Better API for estimatesmartfee RPC  (morcos)
- #10784 `9e8d6a3` Do not allow users to get keys from keypool without 
reserving them (TheBlueMatt)
- #10857 `d445a2c` [RPC] Add a deprecation warning to getinfo's output 
- #10571 `adf170d` [RPC]Move transaction combining from signrawtransaction to 
new RPC (achow101)
- #10783 `041dad9` [RPC] Various rpc argument fixes (instagibbs)
- #9622 `6ef3c7e` [rpc] listsinceblock should include lost transactions when 
parameter is a reorg'd block (kallewoof)
- #10799 `8537187` Prevent user from specifying conflicting parameters to 
fundrawtx (TheBlueMatt)
- #10931 `0b11a07` Fix misleading "Method not found" multiwallet errors 
- #10788 `f66c596` [RPC] Fix addwitnessaddress by replacing ismine with 
producesignature (achow101)
- #10999 `627c3c0` Fix amounts formatting in `decoderawtransaction` (laanwj)
- #11002 `4268426` [wallet] return correct error code from 
resendwallettransaction (jnewbery)
- #11029 `96a63a3` [RPC] trivial: gettxout no longer shows version of tx 
- #11083 `6c2b008` Fix combinerawtransaction RPC help result section (jonasnick)
- #11027 `07164bb` [RPC] Only return hex field once in getrawtransaction 
- #10698 `5af6572` Be consistent in calling transactions "replaceable" for 
Opt-In RBF (TheBlueMatt)
- n/a    `a92a946` *RPC: prioritisetransaction: Make both deltas optional 
- #7061 `e893d96` *RPC/Wallet: rescanblockchain: Support inverted height order 
- #10554 `e700ad2` *ZMQ: add publishers for wallet transactions. (somdoron)
- n/a    `0afed04` *Add script tracing capabilities to libbitcoinconsensus and 
a new RPC verifyscript method (luke-jr)
- #10871 `977d461` *Handle getinfo in bitcoin-cli w/ -getinfo (laanwj, 
achow101, jnewbery)
- #10997 `d6f667e` *RPC: Add option -stdinrpcpass to bitcoin-cli to allow RPC 
password to be read from standard input (jharvell)
- #11099 `941c2f6` *[RPC][mempool]: Add savemempool RPC (greenaddress)
- #11203 `e731a14` *rpc: add wtxid to mempool entry output (sdaftuar)
- #7533 `963da74` *AcceptToMemoryPool: Standardise rejection reason format 

### Block and transaction handling
- #9801 `a8c5751` Removed redundant parameter from 
mempool.PrioritiseTransaction (gubatron)
- #9819 `1efc99c` Remove harmless read of unusued priority estimates (morcos)
- #9822 `b7547fa` Remove block file location upgrade code (benma)
- #9602 `30ff3a2` Remove free transactions (but not coin-age priority, in 
Knots) - implementation (morcos)
- #9548 `47510ad` Remove min reasonable fee (morcos)
- #10249 `c73af54` Switch CCoinsMap from boost to std unordered_map (sipa)
- #9966 `2a183de` Control mempool persistence using a command line parameter 
- #10199 `318ea50` Better fee estimates (morcos)
- #10196 `bee3529` Bugfix: PrioritiseTransaction updates the mempool tx counter 
- #10195 `1088b02` Switch chainstate db and cache to per-txout model (sipa)
- #10284 `c2ab38b` Always log debug information for fee calculation in 
CreateTransaction (morcos)
- #10503 `efbcf2b` Use REJECT_DUPLICATE for already known and conflicted txn 
- #10537 `b3eb0d6` Few Minor per-utxo assert-semantics re-adds and tweak 
- #10626 `8c841a3` doc: Remove outdated minrelaytxfee comment (MarcoFalke)
- #10559 `234ffc6` Change semantics of HaveCoinInCache to match HaveCoin 
- #10581 `7878353` Simplify return values of GetCoin/HaveCoin(InCache) (sipa)
- #10684 `a381f6a` Remove no longer used mempool.exists(outpoint) (morcos)
- #10148 `d4e551a` Use non-atomic flushing with block replay (sipa)
- #10685 `30c2130` Clarify CCoinsViewMemPool documentation (TheBlueMatt)
- #10558 `90a002e` Address nits from per-utxo change (morcos)
- #10706 `6859ad2` Improve wallet fee logic and fix GUI bugs (morcos)
- #10526 `754aa02` Force on-the-fly compaction during pertxout upgrade (sipa)
- #10985 `d896d5c` Add undocumented -forcecompactdb to force LevelDB 
compactions (sipa)
- #10292 `e4bbd3d` Improved efficiency in COutPoint constructors (mm-s)
- #10290 `8d6d43e` Add -stopatheight for benchmarking (sipa)
- #7533 `916f12f` *AcceptToMemoryPool: Replace fLimitFree[=false] with 
rejectmsg_gratis in ignore_rejects (luke-jr)

### P2P protocol and network code
- #9726 `7639d38` netbase: Do not print an error on connection timeouts through 
proxy (laanwj)
- #9805 `5b583ef` Add to mainnet DNS seeds (petertodd)
- #9861 `22f609f` Trivial: Debug log ambiguity fix for peer addrs (keystrike)
- #9774 `90cb2a2` Enable host lookups for -proxy and -onion parameters 
- #9558 `7b585cf` Clarify assumptions made about when BlockCheck is called 
- #10135 `e19586a` [p2p] Send the correct error code in reject messages 
- #9665 `eab00d9` Use cached [compact] blocks to respond to getdata messages 
- #10215 `a077a90` Check interruptNet during dnsseed lookups (TheBlueMatt)
- #10234 `faf2dea` [net] listbanned RPC and QT should show correct banned 
subnets (jnewbery)
- #10134 `314ebdf` [qa] Fixes segwit block relay test after inv-direct-fetch 
was disabled (sdaftuar)
- #10351 `3f57c55` removed unused code in INV message (Greg-Griffith)
- #10061 `ae78609` [net] Added SetSocketNoDelay() utility function (tjps)
- #10408 `28c6e8d` Net: Improvements to Tor control port parser (str4d)
- #10460 `5c63d66` Broadcast address every day, not 9 hours (sipa)
- #10471 `400fdd0` Denote functions CNode::GetRecvVersion() and 
CNode::GetRefCount()  as const (pavlosantoniou)
- #10345 `67700b3` [P2P] Timeout for headers sync (sdaftuar)
- #10564 `8d9f45e` Return early in IsBanned (gmaxwell)
- #10587 `de8db47` Net: Fix resource leak in ReadBinaryFile(...) 
- #9549 `b33ca14` [net] Avoid possibility of NULL pointer dereference in 
MarkBlockAsInFlight(...) (practicalswift)
- #10446 `2772dc9` net: avoid extra dns query per seed (theuni)
- #10824 `9dd6a2b` Avoid unnecessary work in SetNetworkActive (promag)
- #10948 `df3a6f4` p2p: Hardcoded seeds update pre-0.15 branch (laanwj)
- #10977 `02f4c4a` [net] Fix use of uninitialized value in getnetworkinfo(const 
JSONRPCRequest&) (practicalswift)
- #10982 `c8b62c7` Disconnect network service bits 6 and 8 until Aug 1, 2018 
- #11012 `0e5cff6` Make sure to clean up mapBlockSource if we've already seen 
the block (theuni)
- n/a    `bd5b64d` *utilioprio: Add Windows support as ioprio_set_file_idle 
- #10731 `69577ae` *Escape rather than remove any printable characters in UAs 
- #10350 `3f388dd` *Handle MSG_FILTERED_WITNESS_BLOCK messages (CodeShark)

### Validation
- #9725 `67023e9` CValidationInterface Cleanups (TheBlueMatt)
- #10178 `2584925` Remove CValidationInterface::UpdatedTransaction (TheBlueMatt)
- #10201 `a6548a4` pass Consensus::Params& to functions in validation.cpp and 
make them static (mariodian)
- #10297 `431a548` Simplify DisconnectBlock arguments/return value (sipa)
- #10464 `f94b7d5` Introduce static DoWarning (simplify UpdateTip) (jtimon)
- #10569 `2e7d8f8` Fix stopatheight (achow101)
- #10192 `2935b46` Cache full script execution results in addition to 
signatures (TheBlueMatt)
- #10179 `21ed30a` Give CValidationInterface Support for calling notifications 
on the CScheduler Thread (TheBlueMatt)
- #10557 `66270a4` Make check to distinguish between orphan txs and old txs 
more efficient (morcos)
- #10775 `7c2400c` nCheckDepth chain height fix (romanornr)
- #10821 `16240f4` Add SSE4 optimized SHA256 (sipa)
- #10854 `04d395e` Avoid using sizes on non-fixed-width types to derive 
protocol constants (gmaxwell)
- #10945 `2a50b11` Update defaultAssumeValid according to 
- #10986 `2361208` Update chain transaction statistics (sipa)
- #11028 `6bdf4b3` Avoid masking of difficulty adjustment errors by checkpoints 
- #9533 `cb598cf` Allow non-power-of-2 signature cache sizes (sipa)
- #9208 `acd9957` Improve DisconnectTip performance (sdaftuar)
- #10618 `f90603a` Remove confusing MAX_BLOCK_BASE_SIZE (gmaxwell)
- #10758 `bd92424` Fix some chainstate-init-order bugs (TheBlueMatt)
- #10550 `b7296bc` Don't return stale data from CCoinsViewCache::Cursor() 
- #10998 `2507fd5` Fix upgrade cancel warnings (TheBlueMatt)
- #9868 `cbdb473` Abstract out the command line options for block assembly 
- n/a    `08c84c7` *Add a new checkpoint at block 481,824 (luke-jr)

### Build system
- #9727 `5f0556d` Remove fallbacks for boost_filesystem < v3 (laanwj)
- #9788 `50a2265` gitian: bump descriptors for master (theuni)
- #9794 `7ca2f54` Minor update to qrencode package builder (mitchellcash)
- #9514 `2cc0df1` release: Windows signing script (theuni)
- #9921 `8b789d8` build: Probe MSG_DONTWAIT in the same way as MSG_NOSIGNAL 
- #10011 `32d1b34` build: Fix typo s/HAVE_DONTWAIT/HAVE_MSG_DONTWAIT (laanwj)
- #9946 `90dd9e6` Fix build errors if spaces in path or parent directory 
- #10136 `81da4c7` build: Disable Wshadow warning (laanwj)
- #10166 `64962ae` Ignore Doxyfile generated from template 
- #10239 `0416ea9` Make Boost use std::atomic internally (sipa)
- #10228 `27faa6c` build: regenerate bitcoin-config.h as necessary (theuni)
- #10273 `8979f45` [scripts] Minor improvements to `macdeployqtplus` script 
- #10325 `a26280b` 0.15.0 Depends Updates (fanquake)
- #10328 `79aeff6` Update contrib/debian to latest Ubuntu PPA upload 
- #7522 `d25449f` Bugfix: Only use git for build info if the repository is 
actually the right one (luke-jr)
- #10489 `e654d61` build: silence gcc7's implicit fallthrough warning (theuni)
- #10549 `ad1a13e` Avoid printing generic and duplicated "checking for QT" 
during ./configure (drizzt)
- #10628 `8465b68` [depends] expat 2.2.1 (fanquake)
- #10806 `db825d2` build: verify that the assembler can handle crc32 functions 
- #10766 `b4d03be` Building Environment: Set ARFLAGS to cr (ReneNyffenegger)
- #10803 `91edda8` Explicitly search for bdb5.3 (pstratem)
- #10855 `81560b0` random: only use getentropy on openbsd (theuni)
- #10508 `1caafa6` Run Qt wallet tests on travis (ryanofsky)
- #10851 `e222618` depends: fix fontconfig with newer glibc (theuni)
- #10971 `88b1e4b` build: fix missing sse42 in depends builds (theuni)
- #11097 `129b03f` gitian: quick hack to fix version string in releases (theuni)
- #10039 `919aaf6` Fix compile errors with Qt 5.3.2 and Boost 1.55.0 (ryanofsky)
- #10168 `7032021` Fix build warning from #error text (jnewbery)
- #10301 `318392c` Check if sys/random.h is required for getentropy 
- n/a    `699287a` *Move Win32 defines to to ensure they are 
globally defined (luke-jr)
- n/a    `ad1b260` *nsis-header.bmp: Generate from SVG (luke-jr)

### GUI
- #9724 `1a9fd5c` Qt/Intro: Add explanation of IBD process (luke-jr)
- #9834 `b00ba62` qt: clean up initialize/shutdown signals (benma)
- #9481 `ce01e62` [Qt] Show more significant warning if we fall back to the 
default fee (jonasschnelli)
- #9974 `b9f930b` Add basic Qt wallet test (ryanofsky)
- #9690 `a387d3a` Change 'Clear' button string to 'Reset' (da2x)
- #9592 `9c7b7cf` [Qt] Add checkbox in the GUI to opt-in to RBF when creating a 
transaction (ryanofsky)
- #10098 `2b477e6` Make qt wallet test compatible with qt4 (ryanofsky)
- #9890 `1fa4ae6` Add a button to open the config file in a text editor 
- #10156 `51833a1` Fix for issues with startup and multiple monitors on windows 
- #10177 `de01da7` Changed "Send" button default status from true to false 
- #10221 `e96486c` Stop treating coinbase outputs differently in GUI: show them 
at 1conf (TheBlueMatt)
- #10231 `987a6c0` [Qt] Reduce a significant cs_main lock freeze (jonasschnelli)
- #10242 `f6f3b58` [qt] Don't call method on null WalletModel object (ryanofsky)
- #10093 `a3e756b` [Qt] Don't add arguments of sensitive command to console 
window (jonasschnelli)
- #10362 `95546c8` [GUI] Add OSX keystroke to RPCConsole info (spencerlievens)
- #9697 `962cd3f` [Qt] simple fee bumper with user verification (jonasschnelli)
- #10390 `e477516` [wallet] remove minimum total fee option (instagibbs)
- #10420 `4314544` Add Qt tests for wallet spends & bumpfee (ryanofsky)
- #10454 `c1c9a95` Fix broken q4 test build (ryanofsky)
- #10449 `64beb13` Overhaul Qt fee bumper (jonasschnelli)
- #10582 `7c72fb9` Pass in smart fee slider value to coin control dialog 
- #10673 `4c72cc3` [qt] Avoid potential null pointer dereference in 
TransactionView::exportClicked() (practicalswift)
- #10769 `8fdd23a` [Qt] replace fee slider with a Dropdown, extend conf. 
targets (jonasschnelli)
- #10870 `412b466` [Qt] Use wallet 0 in rpc console if running with multiple 
wallets (jonasschnelli)
- #10988 `a9dd111` qt: Increase BLOCK_CHAIN_SIZE constants (laanwj)
- #10644 `e292140` Slightly overhaul NSI pixmaps (jonasschnelli)
- #10660 `0c3542e` Allow to cancel the txdb upgrade via splashscreen keypress 
'q' (jonasschnelli)
- #11169 `ad55de9` *Make tabs toolbar no longer have a context menu (achow101)
- #11198 `14ccd4d` *Fix display of package name on 'open config file' tooltip 
- #11206 `819e3dd` *Move "Hide tray icon" accelerator to checkbox text where it 
belongs (polyetilen)
- #11208 `80b0f37` *Fixing offscreen GUI issue (MeshCollider)

### Wallet
- #9359 `f7ec7cf` Add test for CWalletTx::GetImmatureCredit() returning stale 
values (ryanofsky)
- #9576 `56ab672` [wallet] Remove redundant initialization (practicalswift)
- #9333 `fa625b0` Document CWalletTx::mapValue entries and remove erase of 
nonexistent "version" entry (ryanofsky)
- #9906 `72fb515` Disallow copy constructor CReserveKeys (instagibbs)
- #9369 `3178b2c` Factor out CWallet::nTimeSmart computation into a method 
- #9830 `afcd7c0` Add safe flag to listunspent result (NicolasDorier)
- #9993 `c49355c` Initialize nRelockTime (pstratem)
- #9818 `3d857f3` Save watch only key timestamps when reimporting keys 
- #9294 `f34cdcb` Use internal HD chain for change outputs (hd split) 
- #10164 `e183ea2` Wallet: reduce excess logic InMempool() (kewde)
- #10186 `c9ff4f8` Remove SYNC_TRANSACTION_NOT_IN_BLOCK magic number (jnewbery)
- #10226 `64c45aa` wallet: Use boost to more portably ensure -wallet specifies 
only a filename (luke-jr)
- #9827 `c91ca0a` Improve ScanForWalletTransactions return value (ryanofsky)
- #9951 `fa1ac28` Wallet database handling abstractions/simplifications (laanwj)
- #10265 `c29a0d4` [wallet] [moveonly] Check non-null pindex before potentially 
referencing (kallewoof)
- #10283 `a550f6e` Cleanup: reduce to one GetMinimumFee call signature (morcos)
- #10294 `e2b99b1` [Wallet] unset change position when there is no change 
- #10115 `d3dce0e` Avoid reading the old hd master key during wallet encryption 
- #10341 `18c9deb` rpc/wallet: Workaround older UniValue which returns a 
std::string temporary for get_str (luke-jr)
- #10308 `94e5227` [wallet] Securely erase potentially sensitive keys/values 
- #10257 `ea1fd43` [test] Add test for getmemoryinfo (jimmysong)
- #10295 `ce8176d` [qt] Move some WalletModel functions into CWallet (ryanofsky)
- #10506 `7cc2c67` Fix bumpfee test after #10449 (ryanofsky)
- #10500 `098b01d` Avoid CWalletTx copies in GetAddressBalances and 
GetAddressGroupings (ryanofsky)
- #10455 `0747d33` Simplify feebumper minimum fee code slightly (ryanofsky)
- #10522 `2805d60` [wallet] Remove unused variables (practicalswift)
- #8694 `177433a` Basic multiwallet support (luke-jr)
- #10598 `7a74f88` Supress struct/class mismatch warnings introduced in #10284 
- #9343 `209eef6` Don't create change at dust limit (morcos)
- #10744 `ed88e31` Use method name via __func__ macro (darksh1ne)
- #10712 `e8b9523` Add change output if necessary to reduce excess fee (morcos)
- #10816 `1c011ff` Properly forbid -salvagewallet and -zapwallettxes for multi 
wallet (morcos)
- #10235 `5cfdda2` Track keypool entries as internal vs external in memory 
- #10330 `bf0a08b` [wallet] fix zapwallettxes interaction with persistent 
mempool (jnewbery)
- #10831 `0b01935` Batch flushing operations to the walletdb during top up and 
increase keypool size (gmaxwell)
- #10795 `7b6e8bc` No longer ever reuse keypool indexes (TheBlueMatt)
- #10849 `bde4f93` Multiwallet: simplest endpoint support (jonasschnelli)
- #10817 `9022aa3` Redefine Dust and add a discard_rate (morcos)
- #10883 `bf3b742` Rename -usewallet to -rpcwallet (morcos)
- #10604 `420238d` [wallet] [tests] Add listwallets RPC, include wallet name in 
`getwalletinfo` and add multiwallet test (jnewbery)
- #10885 `70888a3` Reject invalid wallets (promag)
- #10949 `af56397` Clarify help message for -discardfee (morcos)
- #10942 `2e857bb` Eliminate fee overpaying edge case when subtracting fee from 
recipients (morcos)
- #10995 `fa64636` Fix resendwallettransactions assert failure if 
-walletbroadcast=0 (TheBlueMatt)
- #11022 `653a46d` Basic keypool topup (jnewbery)
- #11081 `9fe1f6b` Add length check for CExtKey deserialization (jonasschnelli, 
- #11044 `4ef8374` [wallet] Keypool topup cleanups (jnewbery)
- #11145 `e51bb71` Fix rounding bug in calculation of minimum change (morcos)
- #9605 `779f2f9` Use CScheduler for wallet flushing, remove 
ThreadFlushWalletDB (TheBlueMatt)
- #10108 `4e3efd4` ApproximateBestSubset should take inputs by reference, not 
value (RHavar)

### Mining

- n/a   `2421dd2` *coin_age_priority: Ensure nPackagesSelected and 
nDescendantsUpdated get updated for priority-mined transactions (luke-

### Tests and QA
- #9744 `8efd1c8` Remove unused module from rpc-tests (34ro)
- #9657 `7ff4a53` Improve (jnewbery)
- #9766 `7146d96` Add --exclude option to (jnewbery)
- #9577 `d6064a8` Fix docstrings in qa tests (jnewbery)
- #9823 `a13a417` qa: Set correct path for binaries in rpc tests (MarcoFalke)
- #9847 `6206252` Extra test vector for BIP32 (sipa)
- #9350 `88c2ae3` [Trivial] Adding label for amount inside of 
tx_valid/tx_invalid.json (Christewart)
- #9888 `36afd4d` travis: Verify commits only for one target (MarcoFalke)
- #9904 `58861ad` test: Fail if InitBlockIndex fails (laanwj)
- #9828 `67c5cc1` Avoid -Wshadow warnings in wallet_tests (ryanofsky)
- #9832 `48c3429` [qa] assert_start_raises_init_error (NicolasDorier)
- #9739 `9d5fcbf` Fix BIP68 activation test (jnewbery)
- #9547 `d32581c` bench: Assert that division by zero is unreachable 
- #9843 `c78adbf` Fix segwit getblocktemplate test (jnewbery)
- #9929 `d5ce14e` tests: Delete unused function _rpchost_to_args (laanwj)
- #9555 `19be26a` [test] Avoid reading a potentially uninitialized variable in 
tx_invalid-test (transaction_tests.cpp) (practicalswift)
- #9945 `ac23a7c` Improve logging in if there is a formatting 
mismatch (jnewbery)
- #9768 `8910b47` [qa] Add logging to (jnewbery)
- #9972 `21833f9` Fix extended rpc tests broken by #9768 (jnewbery)
- #9977 `857d1e1` QA: should always use >0 fee tx 
- #9970 `3cc13ea` Improve readability of, (sdaftuar)
- #9497 `2c781fb` CCheckQueue Unit Tests (JeremyRubin)
- #10024 `9225de2` [trivial] Use instead of print() in remaining 
functional test cases (jnewbery)
- #9956 `3192e52` Reorganise qa directory (jnewbery)
- #10017 `02d64bd` - aggregates log files from multiple 
bitcoinds during functional tests (jnewbery)
- #10047 `dfef6b6` [tests] Remove unused variables and imports (practicalswift)
- #9701 `a230b05` Make bumpfee tests less fragile (ryanofsky)
- #10053 `ca20923` [test] Allow functional test cases to be skipped (jnewbery)
- #10052 `a0b1e57` [test] Run extended tests once daily in Travis (jnewbery)
- #10069 `1118493` [QA] Fix typo in fundrawtransaction test (NicolasDorier)
- #10083 `c044f03` [QA] Renaming rawTx into rawtx (NicolasDorier)
- #10073 `b1a4f27` Actually run (jnewbery)
- #9780 `c412fd8` Suppress noisy output from qa tests in Travis (jnewbery)
- #10096 `79af9fb` Check that all test scripts in test/functional are being run 
- #10076 `5b029aa` [qa] combine_logs: Use ordered list for logfiles (MarcoFalke)
- #10107 `f2734c2` Remove unused variable. Remove accidental trailing 
semicolons in Python code (practicalswift)
- #10109 `8ac8041` Remove SingleNodeConnCB (jnewbery)
- #10114 `edc62c9` [tests] sync_with_ping should assert that ping hasn't timed 
out (jnewbery)
- #10128 `427d2fd` Speed Up CuckooCache tests (JeremyRubin)
- #10072 `12af74b` Remove sources of unreliablility in extended functional 
tests (jnewbery)
- #10077 `ebfd653` [qa] Add setnetworkactive smoke test (MarcoFalke)
- #10152 `080d7c7` [trivial] remove unused line in Travis config (jnewbery)
- #10159 `df1ca9e` [tests] color test results and sort alphabetically (jnewbery)
- #10124 `88799ea` [test] Suppress test logging spam (jnewbery)
- #10142 `ed09dd3` Run bitcoin_test-qt under minimal QPA platform (ryanofsky)
- #9949 `a27dbc5` [bench] Avoid function call arguments which are pointers to 
uninitialized values (practicalswift)
- #10187 `b44adf9` tests: Fix test_runner return value in case of skipped test 
- #10197 `d86bb07` [tests] Functional test warnings (jnewbery)
- #10219 `9111df9` Tests: Order Python Tests Differently (jimmysong)
- #10229 `f3db4c6` Tests: Add test for getdifficulty (jimmysong)
- #10224 `2723bcd` [test] Add test for getaddednodeinfo (jimmysong)
- #10023 `c530c15` [tests] remove (functionality covered 
by other test) (jnewbery)
- #10097 `1b25b6d` Move zmq test skipping logic into individual test case 
- #10272 `54e2d87` [Tests] Prevent warning: variable 'x' is uninitialized 
- #10225 `e0a7e19` [test] Add aborttrescan tests (kallewoof)
- #10278 `8254a8a` [test] Add Unit Test for GetListenPort (jimmysong)
- #10280 `47535d7` [test] Unit test amount.h/amount.cpp (jimmysong)
- #10256 `80c3a73` [test] Add test for gettxout to (jimmysong)
- #10264 `492d22f` [test] Add tests for getconnectioncount, getnettotals and 
ping (jimmysong)
- #10169 `8f3e384` [tests] Remove func test code duplication (jnewbery)
- #10198 `dc8fc0c` [tests] Remove is_network_split from functional test 
framework (jnewbery)
- #10255 `3c5e6c9` [test] Add test for listaddressgroupings (jimmysong)
- #10137 `75171f0` Remove unused import. Remove accidental trailing semicolons 
- #10307 `83073de` [tests] allow zmq test to be run in out-of-tree builds 
- #10344 `e927483` [tests] Fix intermittency (jnewbery)
- #10318 `170bc2c` [tests] fix wait_for_inv() (jnewbery)
- #10171 `fff72de` [tests] Add node methods to test framework (jnewbery)
- #10352 `23d78c4` test: Add elapsed time to RPC tracing (laanwj)
- #10342 `6a796b2` [tests] Improve mempool_persist test (jnewbery)
- #10287 `776ba23` [tests] Update Unit Test for addrman.h/addrman.cpp 
- #10365 `7ee5236` [tests] increase timeouts in sendheaders test (jnewbery)
- #10361 `f6241b3` qa: disablewallet: Check that wallet is really disabled 
- #10371 `4b766fc` [tests] Clean up addrman_tests.cpp (jimmysong)
- #10253 `87abe20` [test] Add test for getnetworkhashps (jimmysong)
- #10376 `8bd16ee` [tests] fix disconnect_ban intermittency (jnewbery)
- #10374 `5411997` qa: Warn when specified test is not found (MarcoFalke)
- #10405 `0542978` tests: Correct testcase in script_tests.json for large 
number OP_EQUAL (laanwj)
- #10429 `6b99daf` tests: fix spurious addrman test failure (theuni)
- #10433 `8e57256` [tests] improve tmpdir structure (jnewbery)
- #10415 `217b416` [tests] Speed up fuzzing by ~200x when using afl-fuzz 
- #10445 `b4b057a` Add test for empty chain and reorg consistency for 
gettxoutsetinfo (gmaxwell)
- #10423 `1aefc94` [tests] skipped tests should clean up after themselves 
- #10359 `329fc1d` [tests] functional tests should call BitcoinTestFramework 
start/stop node methods (jnewbery)
- #10514 `e103b3f` Bugfix: missing == 0 after randrange (sipa)
- #10515 `c871f32` [test] Add test for getchaintxstats (jimmysong)
- #10509 `bea5b00` Remove xvfb configuration from travis (ryanofsky)
- #10535 `30853e1` [qa] fundrawtx: Fix shutdown race (MarcoFalke)
- #9909 `300f8e7` tests: Add FindEarliestAtLeast test for edge cases (ryanofsky)
- #10331 `75e898c` Share config between util and functional tests (jnewbery)
- #10321 `e801084` Use FastRandomContext for all tests (sipa)
- #10524 `6c2d81f` [tests] Remove printf(...) (practicalswift)
- #10547 `71ab6e5` [tests] Use FastRandomContext instead of 
boost::random::{mt19937,uniform_int_distribution} (practicalswift)
- #10551 `6702617` [Tests] Wallet encryption functional tests (achow101)
- #10555 `643fa0b` [tests] various improvements to (jnewbery)
- #10533 `d083bd9` [tests] Use cookie auth instead of rpcuser and rpcpassword 
- #10632 `c68a9a6` qa: Add stopatheight test (MarcoFalke)
- #10636 `4bc853b` [qa] util: Check return code after closing bitcoind proc 
- #10662 `e0a7801` Initialize randomness in benchmarks (achow101)
- #10612 `7c87a9c` The young person's guide to the test_framework (jnewbery)
- #10659 `acb1153` [qa] blockchain: Pass on closed connection during generate 
call (MarcoFalke)
- #10690 `416af3e` [qa] Bugfix: allow overriding extra_args in 
ComparisonTestFramework (sdaftuar)
- #10556 `65cc7aa` Move stop/start functions from into 
BitcoinTestFramework (jnewbery)
- #10704 `dd07f47` [tests] nits in (jnewbery)
- #10743 `be82498` [test] don't run on Travis (jnewbery)
- #10761 `d3b5870` [tests] fix (jnewbery)
- #10759 `1d4805c` Fix multi_rpc test for hosts that dont default to utf8 
- #10190 `e4f226a` [tests] mining functional tests (including regression test 
for submitblock) (jnewbery)
- #10739 `1fc783f` test: Move variable `state` down where it is used 
- #9980 `fee0d80` Fix mem access violation merkleblock (Christewart)
- #10893 `0c173a1` [QA] Avoid running twice (jonasschnelli)
- #10927 `9d5e8f9` test: Make sure wallet.backup is created in temp path 
- #10899 `f29d5db` [test] Qt: Use _putenv_s instead of setenv on Windows builds 
- #10912 `5c8eb79` [tests] Fix incorrect memory_cleanse(…) call in 
crypto_tests.cpp (practicalswift)
- #11001 `fa8a063` [tests] Test disconnecting unsupported service bits logic 
- #10695 `929fd72` [qa] Rewrite BIP65/BIP66 functional tests (sdaftuar)
- #10963 `ecd2135` [bench] Restore format state of cout after printing with 
std::fixed/setprecision (practicalswift)
- #11025 `e5d26e4` qa: Fix inv race in example_test (MarcoFalke)
- #10765 `2c811e0` Tests: address placement should be deterministic by default 
- #11000 `ac016e1` test: Add resendwallettransactions functional tests (promag)
- #11032 `aeb3175` [qa] Fix block message processing error in 
- #10105 `0b9fb68` [tests] fixup - make all Travis test runs quiet, non just 
cron job runs (jnewbery)
- #10222 `6ce7337` [tests] test_runner - check unicode (jnewbery)
- #10327 `35da2ae` [tests] remove (jnewbery)
- #11023 `bf74d37` [tests] Add option to attach a python debugger if functional 
test fails (jnewbery)
- #10565 `8c2098a` [coverage] Remove subtrees and benchmarks from coverage 
report (achow101)
- #7061 `21630f8` *Add RPC based rescan test (jonasschnelli)
- #9152 `d109d58` *QA: Functional test for sweepprivkeys (luke-jr)

### Miscellaneous
- #9871 `be8ba2c` Add a tree sha512 hash to merge commits (sipa)
- #9821 `d19d45a` util: Specific GetOSRandom for Linux/FreeBSD/OpenBSD (laanwj)
- #9903 `ba80a68` Docs: add details to -rpcclienttimeout doc (ian-kelling)
- #9910 `53c300f` Docs: correct and elaborate -rpcbind doc (ian-kelling)
- #9905 `01b7cda` [contrib] gh-merge: Move second sha512 check to the end 
- #9880 `4df8213` Verify Tree-SHA512s in merge commits, enforce sigs are not 
SHA1 (TheBlueMatt)
- #9932 `00c13ea` Fix verify-commits on travis and always check top commit's 
tree (TheBlueMatt)
- #9952 `6996e06` Add historical release notes for 0.14.0 (laanwj)
- #9940 `fa99663` Fix verify-commits on OSX, update for new bad Tree-SHA512, 
point travis to different keyservers (TheBlueMatt)
- #9963 `8040ae6` util: Properly handle errors during log message formatting 
- #9984 `cce056d` devtools: Make github-merge compute SHA512 from git, instead 
of worktree (laanwj)
- #9995 `8bcf934` [doc] clarify blockchain size and pruning (askmike)
- #9734 `0c17afc` Add updating of chainTxData to release process (sipa)
- #10063 `530fcbd` add missing spaces so that markdown recognizes headline 
- #10085 `db1ae54` Docs: remove 'noconnect' option (jlopp)
- #10090 `8e4f7e7` Update bitcoin.conf with example for pruning (coinables)
- #9424 `1a5aaab` Change LogAcceptCategory to use uint32_t rather than sets of 
strings (gmaxwell)
- #10036 `fbf36ca` Fix init README format to render correctly on github (jlopp)
- #10058 `a2cd0b0` No need to use OpenSSL malloc/free (tjps)
- #10123 `471ed00` Allow debug logs to be excluded from specified component 
- #10104 `fadf078` linearize script: Option to use RPC cookie (achow101)
- #10162 `a3a2160` [trivial] Log calls to getblocktemplate (jnewbery)
- #10155 `928695b` build: Deduplicate version numbers (laanwj)
- #10211 `a86255b` [doc] Contributor fixes & new "finding reviewers" section 
- #10250 `1428f30` Fix some empty vector references (sipa)
- #10270 `95f5e44` Remove Clang workaround for Boost 1.46 (fanquake)
- #10263 `cb007e4` Trivial: fix fee estimate write error log message (CryptAxe)
- #9670 `bd9ec0e` contrib: github-merge improvements (laanwj)
- #10260 `1d75597` [doc] Minor corrections to osx dependencies (fanquake)
- #10189 `750c5a5` devtools/net: add a verifier for scriptable changes. Use it 
to make CNode::id private (theuni)
- #10322 `bc64b5a` Use hardware timestamps in RNG seeding (sipa)
- #10381 `7f2b9e0` Shadowing warnings are not enabled by default, update doc 
accordingly (paveljanik)
- #10380 `b6ee855` [doc] Removing comments about dirty entries on txmempool 
- #10383 `d0c37ee` [logging] log system time and mock time (jnewbery)
- #10404 `b45a52a` doc: Add logging to FinalizeNode() (sdaftuar)
- #10388 `526e839` Output line to debug.log when IsInitialBlockDownload latches 
to false (morcos)
- #10372 `15254e9` Add perf counter data to GetStrongRandBytes state in 
scheduler (TheBlueMatt)
- #10461 `55b72f3` Update style guide (sipa)
- #10486 `10e8c0a` devtools: Retry after signing fails in github-merge (laanwj)
- #10447 `f259263` Make bitcoind invalid argument error message specific 
- #10495 `6a38b79` contrib: Update location of seeds.txt (laanwj)
- #10469 `b6b150b` Fixing typo in rpcdump.cpp help message (keystrike)
- #10451 `27b9931` contrib/init/bitcoind.openrcconf: Don't disable wallet by 
default (luke-jr)
- #10323 `00d3692` Update to latest libsecp256k1 master (sipa)
- #10422 `cec9e1e` Fix timestamp in fee estimate debug message (morcos)
- #10566 `5d034ee` [docs] Use the "domain name setup" image (previously unused) 
in the gitian docs (practicalswift)
- #10534 `a514ac3` Clarify prevector::erase and avoid swap-to-clear (sipa)
- #10575 `22ec768` Header include guideline (sipa)
- #10480 `fbf5d3b` Improve (sipa)
- #10502 `1ad3d4e` scripted-diff: Remove BOOST_FOREACH, Q_FOREACH and PAIRTYPE 
- #10377 `b63be2c` Use rdrand as entropy source on supported platforms (sipa)
- #9895 `228c319` Turn TryCreateDirectory() into TryCreateDirectories() (benma)
- #10602 `d76e84a` Make clang-format use C++11 features (e.g. A<A<int>> instead 
of A<A<int> >) (practicalswift)
- #10623 `c38f540` doc: Add 0.14.2 release notes (MarcoFalke)
- #10276 `b750b33` contrib/verifybinaries: allow filtering by platform (knocte)
- #10248 `01c4b14` Rewrite addrdb with less duplication using CHashVerifier 
- #10577 `232508f` Add an explanation of quickly hashing onto a non-power of 
two range (gmaxwell)
- #10608 `eee398f` Add a comment explaining the use of MAX_BLOCK_BASE_SIZE 
- #10728 `7397af9` fix typo in help text for removeprunedfunds (AkioNak)
- #10193 `6dbcc74` scripted-diff: Remove #include <boost/foreach.hpp> (jtimon)
- #10676 `379aed0` document script-based return fields for validateaddress 
- #10651 `cef4b5c` Verify binaries from and 
- #10786 `ca4c545` Add PR description to merge commit in (sipa)
- #10812 `c5904e8` [utils] Allow bitcoin-cli's -rpcconnect option to be used 
with square brackets (jnewbery)
- #10842 `3895e25` Fix incorrect Doxygen tag (@ince → @since). Doxygen 
parameter name matching (practicalswift)
- #10681 `df0793f` add gdb attach process to test README (instagibbs)
- #10789 `1124328` Punctuation/grammer fixes in rpcwallet.cpp (stevendlander)
- #10655 `78f307b` Properly document target_confirmations in listsinceblock 
- #10917 `5c003cb` developer-notes: add reference to snake_case and PascalCase 
- #11003 `4b5a7ce` Docs: Capitalize bullet points in CONTRIBUTING guide 
- #10968 `98aa3f6` Add instructions for parallel gitian builds (coblee)
- #11076 `1c4b9b3` 0.15 release-notes nits: fix redundancy, remove accidental 
parenthesis & fix range style (practicalswift)
- #11090 `8f0121c` Update contributor names in (Derek701)
- #11056 `cbdd338` disable jni in builds (instagibbs)
- #11080 `2b59cfb` doc: Update build-openbsd for 6.1 (laanwj)
- #11119 `0a6af47` [doc] build-windows: Mention that only trusty works 
- #11108 `e8ad101` Changing -txindex requires -reindex, not -reindex-chainstate 
- #9792 `342b9bc` FastRandomContext improvements and switch to ChaCha20 (sipa)
- #9505 `67ed40e` Prevector Quick Destruct (JeremyRubin)
- #10820 `ef37f20` Use cpuid intrinsics instead of asm code (sipa)
- #9999 `a328904` [LevelDB] Plug leveldb logs to bitcoin logs (NicolasDorier)
- #9693 `c5e9e42` Prevent integer overflow in ReadVarInt (gmaxwell)
- #10129 `351d0ad` scheduler: fix sub-second precision with boost < 1.50 
- #10153 `fade788` logging: Fix off-by-one for shrinkdebugfile default 
- #10305 `c45da32` Fix potential NPD introduced in b297426c (TheBlueMatt)
- #10338 `daf3e7d` Maintain state across GetStrongRandBytes calls (sipa)
- #10544 `a4fe077` Update to LevelDB 1.20 (sipa)
- #10614 `cafe24f` random: fix crash on some 64bit platforms (theuni)
- #10714 `2a09a38` Avoid printing incorrect block indexing time due to 
uninitialized variable (practicalswift)
- #10837 `8bc6d1f` Fix resource leak on error in GetDevURandom (corebob)
- #10832 `89bb036` init: Factor out AppInitLockDataDirectory and fix startup 
core dump issue (laanwj)
- #10914 `b995a37` Add missing lock in CScheduler::AreThreadsServicingQueue() 
- #10958 `659c096` Update to latest Bitcoin patches for LevelDB (sipa)
- #10919 `c1c671f` Fix more init bugs (TheBlueMatt)
- #7107 `9190a76` *ArgsManager: ForceSetArg with int64_t (luke-jr)
- #9849 `6091bf1` *CValidationInterface: ValidationInterfaceUnregistering, 
called when being unregistered (luke-jr)
- n/a    `c36f8ba` *Bump minimum Windows version to Vista
- #10729 `2eea64b` *script/interpreter: Wrap EvalScript in a ScriptExecution 
class (luke-jr)
- #10730 `7acd5fc` *Move script flag to/from-string logic from tests to 
script/interpreter (luke-jr)


Thanks to everyone who directly contributed to this release:

- ロハン ダル
- Ahmad Kazi
- aideca
- Akio Nakamura
- Aleksandras Ragovskis
- Alex Morcos
- Allan Doensen
- Andres G. Aragoneses
- Andrew Chow
- Angel Leon
- Awemany
- Bob McElrath
- Brian McMichael
- BtcDrak
- Charlie Lee
- Chris Gavin
- Chris Stewart
- Cory Fields
- CryptAxe
- Dag Robole
- Daniel Aleksandersen
- Daniel Cousens
- Daniel Edgecumbe
- darksh1ne
- Dimitris Tsapakidis
- Doron Somech
- Eric Lombrozo
- Eric Shaw
- Evan Klitzke
- fanquake
- Felix Weis
- flack
- Guido Vranken
- Greg Griffith
- Gregory Maxwell
- Gregory Sanders
- Ian Kelling
- Jack Grigg
- James Evans
- James Hilliard
- Jameson Lopp
- Jeremy Rubin
- Jimmy Song
- João Barbosa
- Joe Harvell
- Johnathan Corgan
- John Newbery
- Jonas Schnelli
- Jorge Timón
- Karl-Johan Alm
- kewde
- KibbledJiveElkZoo
- Kirit Thadaka
- kobake
- Kyle Honeycutt
- Lawrence Nahum
- Luke Dashjr
- Marco Falke
- Marcos Mayorga
- Marijn Stollenga
- Mario Dian
- Mark Friedenbach
- Marko Bencun
- Masahiko Hyuga
- Matt Corallo
- Matthew Zipkin
- Matthias Grundmann
- MeshCollider
- Michael Goldstein
- Michael Rotarius
- Mikerah
- Mike van Rossum
- Mitchell Cash
- Nicolas Dorier
- Patrick Strateman
- Pavel Janík
- Pavlos Antoniou
- Pavol Rusnak
- Pedro Branco
- Peter Todd
- Pieter Wuille
- practicalswift
- René Nyffenegger
- Ricardo Velhote
- romanornr
- Russell Yanofsky
- Rusty Russell
- Ryan Havar
- shaolinfry
- Shigeya Suzuki
- Simone Madeo
- Spencer Lievens
- Steven D. Lander
- Suhas Daftuar
- Takashi Mitsuta
- Thomas Snider
- Timothy Redaelli
- tintinweb
- tnaka
- Warren Togami
- Wladimir J. van der Laan

As well as everyone that helped translating on 

Attachment: signature.asc
Description: This is a digitally signed message part.

bitcoin-dev mailing list

Reply via email to