release-notes-0.13.0.md
1 Bitcoin Core version 0.13.0 is now available from: 2 3 <https://bitcoin.org/bin/bitcoin-core-0.13.0/> 4 5 This is a new major version release, including new features, various bugfixes 6 and performance improvements, as well as updated translations. 7 8 Please report bugs using the issue tracker at github: 9 10 <https://github.com/bitcoin/bitcoin/issues> 11 12 To receive security and update notifications, please subscribe to: 13 14 <https://bitcoincore.org/en/list/announcements/join/> 15 16 Compatibility 17 ============== 18 19 Microsoft ended support for Windows XP on [April 8th, 2014](https://www.microsoft.com/en-us/WindowsForBusiness/end-of-xp-support), 20 an OS initially released in 2001. This means that not even critical security 21 updates will be released anymore. Without security updates, using a bitcoin 22 wallet on a XP machine is irresponsible at least. 23 24 In addition to that, with 0.12.x there have been varied reports of Bitcoin Core 25 randomly crashing on Windows XP. It is [not clear](https://github.com/bitcoin/bitcoin/issues/7681#issuecomment-217439891) 26 what the source of these crashes is, but it is likely that upstream 27 libraries such as Qt are no longer being tested on XP. 28 29 We do not have time nor resources to provide support for an OS that is 30 end-of-life. From 0.13.0 on, Windows XP is no longer supported. Users are 31 suggested to upgrade to a newer verion of Windows, or install an alternative OS 32 that is supported. 33 34 No attempt is made to prevent installing or running the software on Windows XP, 35 you can still do so at your own risk, but do not expect it to work: do not 36 report issues about Windows XP to the issue tracker. 37 38 Notable changes 39 =============== 40 41 Database cache memory increased 42 -------------------------------- 43 44 As a result of growth of the UTXO set, performance with the prior default 45 database cache of 100 MiB has suffered. 46 For this reason the default was changed to 300 MiB in this release. 47 48 For nodes on low-memory systems, the database cache can be changed back to 49 100 MiB (or to another value) by either: 50 51 - Adding `dbcache=100` in bitcoin.conf 52 - Changing it in the GUI under `Options → Size of database cache` 53 54 Note that the database cache setting has the most performance impact 55 during initial sync of a node, and when catching up after downtime. 56 57 58 bitcoin-cli: arguments privacy 59 ------------------------------ 60 61 The RPC command line client gained a new argument, `-stdin` 62 to read extra arguments from standard input, one per line until EOF/Ctrl-D. 63 For example: 64 65 $ src/bitcoin-cli -stdin walletpassphrase 66 mysecretcode 67 120 68 ..... press Ctrl-D here to end input 69 $ 70 71 It is recommended to use this for sensitive information such as wallet 72 passphrases, as command-line arguments can usually be read from the process 73 table by any user on the system. 74 75 76 C++11 and Python 3 77 ------------------ 78 79 Various code modernizations have been done. The Bitcoin Core code base has 80 started using C++11. This means that a C++11-capable compiler is now needed for 81 building. Effectively this means GCC 4.7 or higher, or Clang 3.3 or higher. 82 83 When cross-compiling for a target that doesn't have C++11 libraries, configure with 84 `./configure --enable-glibc-back-compat ... LDFLAGS=-static-libstdc++`. 85 86 For running the functional tests in `qa/rpc-tests`, Python3.4 or higher is now 87 required. 88 89 90 Linux ARM builds 91 ---------------- 92 93 Due to popular request, Linux ARM builds have been added to the uploaded 94 executables. 95 96 The following extra files can be found in the download directory or torrent: 97 98 - `bitcoin-${VERSION}-arm-linux-gnueabihf.tar.gz`: Linux binaries targeting 99 the 32-bit ARMv7-A architecture. 100 - `bitcoin-${VERSION}-aarch64-linux-gnu.tar.gz`: Linux binaries targeting 101 the 64-bit ARMv8-A architecture. 102 103 ARM builds are still experimental. If you have problems on a certain device or 104 Linux distribution combination please report them on the bug tracker, it may be 105 possible to resolve them. Note that the device you use must be (backward) 106 compatible with the architecture targeted by the binary that you use. 107 For example, a Raspberry Pi 2 Model B or Raspberry Pi 3 Model B (in its 32-bit 108 execution state) device, can run the 32-bit ARMv7-A targeted binary. However, 109 no model of Raspberry Pi 1 device can run either binary because they are all 110 ARMv6 architecture devices that are not compatible with ARMv7-A or ARMv8-A. 111 112 Note that Android is not considered ARM Linux in this context. The executables 113 are not expected to work out of the box on Android. 114 115 116 Compact Block support (BIP 152) 117 ------------------------------- 118 119 Support for block relay using the Compact Blocks protocol has been implemented 120 in PR 8068. 121 122 The primary goal is reducing the bandwidth spikes at relay time, though in many 123 cases it also reduces propagation delay. It is automatically enabled between 124 compatible peers. 125 [BIP 152](https://github.com/bitcoin/bips/blob/master/bip-0152.mediawiki) 126 127 As a side-effect, ordinary non-mining nodes will download and upload blocks 128 faster if those blocks were produced by miners using similar transaction 129 filtering policies. This means that a miner who produces a block with many 130 transactions discouraged by your node will be relayed slower than one with 131 only transactions already in your memory pool. The overall effect of such 132 relay differences on the network may result in blocks which include widely- 133 discouraged transactions losing a stale block race, and therefore miners may 134 wish to configure their node to take common relay policies into consideration. 135 136 137 Hierarchical Deterministic Key Generation 138 ----------------------------------------- 139 Newly created wallets will use hierarchical deterministic key generation 140 according to BIP32 (keypath m/0'/0'/k'). 141 Existing wallets will still use traditional key generation. 142 143 Backups of HD wallets, regardless of when they have been created, can 144 therefore be used to re-generate all possible private keys, even the 145 ones which haven't already been generated during the time of the backup. 146 **Attention:** Encrypting the wallet will create a new seed which requires 147 a new backup! 148 149 Wallet dumps (created using the `dumpwallet` RPC) will contain the deterministic 150 seed. This is expected to allow future versions to import the seed and all 151 associated funds, but this is not yet implemented. 152 153 HD key generation for new wallets can be disabled by `-usehd=0`. Keep in 154 mind that this flag only has affect on newly created wallets. 155 You can't disable HD key generation once you have created a HD wallet. 156 157 There is no distinction between internal (change) and external keys. 158 159 HD wallets are incompatible with older versions of Bitcoin Core. 160 161 [Pull request](https://github.com/bitcoin/bitcoin/pull/8035/files), [BIP 32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) 162 163 164 Segregated Witness 165 ------------------ 166 167 The code preparations for Segregated Witness ("segwit"), as described in [BIP 168 141](https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki), [BIP 169 143](https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki), [BIP 170 144](https://github.com/bitcoin/bips/blob/master/bip-0144.mediawiki), and [BIP 171 145](https://github.com/bitcoin/bips/blob/master/bip-0145.mediawiki) are 172 finished and included in this release. However, BIP 141 does not yet specify 173 activation parameters on mainnet, and so this release does not support segwit 174 use on mainnet. Testnet use is supported, and after BIP 141 is updated with 175 proposed parameters, a future release of Bitcoin Core is expected that 176 implements those parameters for mainnet. 177 178 Furthermore, because segwit activation is not yet specified for mainnet, 179 version 0.13.0 will behave similarly as other pre-segwit releases even after a 180 future activation of BIP 141 on the network. Upgrading from 0.13.0 will be 181 required in order to utilize segwit-related features on mainnet (such as signal 182 BIP 141 activation, mine segwit blocks, fully validate segwit blocks, relay 183 segwit blocks to other segwit nodes, and use segwit transactions in the 184 wallet, etc). 185 186 187 Mining transaction selection ("Child Pays For Parent") 188 ------------------------------------------------------ 189 190 The mining transaction selection algorithm has been replaced with an algorithm 191 that selects transactions based on their feerate inclusive of unconfirmed 192 ancestor transactions. This means that a low-fee transaction can become more 193 likely to be selected if a high-fee transaction that spends its outputs is 194 relayed. 195 196 With this change, the `-blockminsize` command line option has been removed. 197 198 The command line option `-blockmaxsize` remains an option to specify the 199 maximum number of serialized bytes in a generated block. In addition, the new 200 command line option `-blockmaxweight` has been added, which specifies the 201 maximum "block weight" of a generated block, as defined by [BIP 141 (Segregated 202 Witness)] (https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki). 203 204 In preparation for Segregated Witness, the mining algorithm has been modified 205 to optimize transaction selection for a given block weight, rather than a given 206 number of serialized bytes in a block. In this release, transaction selection 207 is unaffected by this distinction (as BIP 141 activation is not supported on 208 mainnet in this release, see above), but in future releases and after BIP 141 209 activation, these calculations would be expected to differ. 210 211 For optimal runtime performance, miners using this release should specify 212 `-blockmaxweight` on the command line, and not specify `-blockmaxsize`. 213 Additionally (or only) specifying `-blockmaxsize`, or relying on default 214 settings for both, may result in performance degradation, as the logic to 215 support `-blockmaxsize` performs additional computation to ensure that 216 constraint is met. (Note that for mainnet, in this release, the equivalent 217 parameter for `-blockmaxweight` would be four times the desired 218 `-blockmaxsize`. See [BIP 141] 219 (https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki) for additional 220 details.) 221 222 In the future, the `-blockmaxsize` option may be removed, as block creation is 223 no longer optimized for this metric. Feedback is requested on whether to 224 deprecate or keep this command line option in future releases. 225 226 227 Reindexing changes 228 ------------------ 229 230 In earlier versions, reindexing did validation while reading through the block 231 files on disk. These two have now been split up, so that all blocks are known 232 before validation starts. This was necessary to make certain optimizations that 233 are available during normal synchronizations also available during reindexing. 234 235 The two phases are distinct in the Bitcoin-Qt GUI. During the first one, 236 "Reindexing blocks on disk" is shown. During the second (slower) one, 237 "Processing blocks on disk" is shown. 238 239 It is possible to only redo validation now, without rebuilding the block index, 240 using the command line option `-reindex-chainstate` (in addition to 241 `-reindex` which does both). This new option is useful when the blocks on disk 242 are assumed to be fine, but the chainstate is still corrupted. It is also 243 useful for benchmarks. 244 245 246 Removal of internal miner 247 -------------------------- 248 249 As CPU mining has been useless for a long time, the internal miner has been 250 removed in this release, and replaced with a simpler implementation for the 251 test framework. 252 253 The overall result of this is that `setgenerate` RPC call has been removed, as 254 well as the `-gen` and `-genproclimit` command-line options. 255 256 For testing, the `generate` call can still be used to mine a block, and a new 257 RPC call `generatetoaddress` has been added to mine to a specific address. This 258 works with wallet disabled. 259 260 261 New bytespersigop implementation 262 -------------------------------- 263 264 The former implementation of the bytespersigop filter accidentally broke bare 265 multisig (which is meant to be controlled by the `permitbaremultisig` option), 266 since the consensus protocol always counts these older transaction forms as 20 267 sigops for backwards compatibility. Simply fixing this bug by counting more 268 accurately would have reintroduced a vulnerability. It has therefore been 269 replaced with a new implementation that rather than filter such transactions, 270 instead treats them (for fee purposes only) as if they were in fact the size 271 of a transaction actually using all 20 sigops. 272 273 274 Low-level P2P changes 275 ---------------------- 276 277 - The optional new p2p message "feefilter" is implemented and the protocol 278 version is bumped to 70013. Upon receiving a feefilter message from a peer, 279 a node will not send invs for any transactions which do not meet the filter 280 feerate. [BIP 133](https://github.com/bitcoin/bips/blob/master/bip-0133.mediawiki) 281 282 - The P2P alert system has been removed in PR #7692 and the `alert` P2P message 283 is no longer supported. 284 285 - The transaction relay mechanism used to relay one quarter of all transactions 286 instantly, while queueing up the rest and sending them out in batch. As 287 this resulted in chains of dependent transactions being reordered, it 288 systematically hurt transaction relay. The relay code was redesigned in PRs 289 \#7840 and #8082, and now always batches transactions announcements while also 290 sorting them according to dependency order. This significantly reduces orphan 291 transactions. To compensate for the removal of instant relay, the frequency of 292 batch sending was doubled for outgoing peers. 293 294 - Since PR #7840 the BIP35 `mempool` command is also subject to batch processing. 295 Also the `mempool` message is no longer handled for non-whitelisted peers when 296 `NODE_BLOOM` is disabled through `-peerbloomfilters=0`. 297 298 - The maximum size of orphan transactions that are kept in memory until their 299 ancestors arrive has been raised in PR #8179 from 5000 to 99999 bytes. They 300 are now also removed from memory when they are included in a block, conflict 301 with a block, and time out after 20 minutes. 302 303 - We respond at most once to a getaddr request during the lifetime of a 304 connection since PR #7856. 305 306 - Connections to peers who have recently been the first one to give us a valid 307 new block or transaction are protected from disconnections since PR #8084. 308 309 310 Low-level RPC changes 311 ---------------------- 312 313 - RPC calls have been added to output detailed statistics for individual mempool 314 entries, as well as to calculate the in-mempool ancestors or descendants of a 315 transaction: see `getmempoolentry`, `getmempoolancestors`, `getmempooldescendants`. 316 317 - `gettxoutsetinfo` UTXO hash (`hash_serialized`) has changed. There was a divergence between 318 32-bit and 64-bit platforms, and the txids were missing in the hashed data. This has been 319 fixed, but this means that the output will be different than from previous versions. 320 321 - Full UTF-8 support in the RPC API. Non-ASCII characters in, for example, 322 wallet labels have always been malformed because they weren't taken into account 323 properly in JSON RPC processing. This is no longer the case. This also affects 324 the GUI debug console. 325 326 - Asm script outputs replacements for OP_NOP2 and OP_NOP3 327 328 - OP_NOP2 has been renamed to OP_CHECKLOCKTIMEVERIFY by [BIP 329 65](https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki) 330 331 - OP_NOP3 has been renamed to OP_CHECKSEQUENCEVERIFY by [BIP 332 112](https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki) 333 334 - The following outputs are affected by this change: 335 336 - RPC `getrawtransaction` (in verbose mode) 337 - RPC `decoderawtransaction` 338 - RPC `decodescript` 339 - REST `/rest/tx/` (JSON format) 340 - REST `/rest/block/` (JSON format when including extended tx details) 341 - `bitcoin-tx -json` 342 343 - The sorting of the output of the `getrawmempool` output has changed. 344 345 - New RPC commands: `generatetoaddress`, `importprunedfunds`, `removeprunedfunds`, `signmessagewithprivkey`, 346 `getmempoolancestors`, `getmempooldescendants`, `getmempoolentry`, 347 `createwitnessaddress`, `addwitnessaddress`. 348 349 - Removed RPC commands: `setgenerate`, `getgenerate`. 350 351 - New options were added to `fundrawtransaction`: `includeWatching`, `changeAddress`, `changePosition` and `feeRate`. 352 353 354 Low-level ZMQ changes 355 ---------------------- 356 357 - Each ZMQ notification now contains an up-counting sequence number that allows 358 listeners to detect lost notifications. 359 The sequence number is always the last element in a multi-part ZMQ notification and 360 therefore backward compatible. Each message type has its own counter. 361 PR [#7762](https://github.com/bitcoin/bitcoin/pull/7762). 362 363 364 0.13.0 Change log 365 ================= 366 367 Detailed release notes follow. This overview includes changes that affect 368 behavior, not code moves, refactors and string updates. For convenience in locating 369 the code changes and accompanying discussion, both the pull request and 370 git merge commit are mentioned. 371 372 ### RPC and other APIs 373 374 - #7156 `9ee02cf` Remove cs_main lock from `createrawtransaction` (laanwj) 375 - #7326 `2cd004b` Fix typo, wrong information in gettxout help text (paveljanik) 376 - #7222 `82429d0` Indicate which transactions are signaling opt-in RBF (sdaftuar) 377 - #7480 `b49a623` Changed getnetworkhps value to double to avoid overflow (instagibbs) 378 - #7550 `8b958ab` Input-from-stdin mode for bitcoin-cli (laanwj) 379 - #7670 `c9a1265` Use cached block hash in blockToJSON() (rat4) 380 - #7726 `9af69fa` Correct importaddress help reference to importpubkey (CypherGrue) 381 - #7766 `16555b6` Register calls where they are defined (laanwj) 382 - #7797 `e662a76` Fix generatetoaddress failing to parse address (mruddy) 383 - #7774 `916b15a` Add versionHex in getblock and getblockheader JSON results (mruddy) 384 - #7863 `72c54e3` Getblockchaininfo: make bip9_softforks an object, not an array (rustyrussell) 385 - #7842 `d97101e` Do not print minping time in getpeerinfo when no ping received yet (paveljanik) 386 - #7518 `be14ca5` Add multiple options to fundrawtransaction (promag) 387 - #7756 `9e47fce` Add cursor to iterate over utxo set, use this in `gettxoutsetinfo` (laanwj) 388 - #7848 `88616d2` Divergence between 32- and 64-bit when hashing >4GB affects `gettxoutsetinfo` (laanwj) 389 - #7827 `4205ad7` Speed up `getchaintips` (mrbandrews) 390 - #7762 `a1eb344` Append a message sequence number to every ZMQ notification (jonasschnelli) 391 - #7688 `46880ed` List solvability in listunspent output and improve help (sipa) 392 - #7926 `5725807` Push back `getaddednodeinfo` dead value (instagibbs) 393 - #7953 `0630353` Create `signmessagewithprivkey` rpc (achow101) 394 - #8049 `c028c7b` Expose information on whether transaction relay is enabled in `getnetworkinfo` (laanwj) 395 - #7967 `8c1e49b` Add feerate option to `fundrawtransaction` (jonasschnelli) 396 - #8118 `9b6a48c` Reduce unnecessary hashing in `signrawtransaction` (jonasnick) 397 - #7957 `79004d4` Add support for transaction sequence number (jonasschnelli) 398 - #8153 `75ec320` `fundrawtransaction` feeRate: Use BTC/kB (MarcoFalke) 399 - #7292 `7ce9ac5` Expose ancestor/descendant information over RPC (sdaftuar) 400 - #8171 `62fcf27` Fix createrawtx sequence number unsigned int parsing (jonasschnelli) 401 - #7892 `9c3d0fa` Add full UTF-8 support to RPC (laanwj) 402 - #8317 `304eff3` Don't use floating point in rpcwallet (MarcoFalke) 403 - #8258 `5a06ebb` Hide softfork in `getblockchaininfo` if timeout is 0 (jl2012) 404 - #8244 `1922e5a` Remove unnecessary LOCK(cs_main) in getrawmempool (dcousens) 405 406 ### Block and transaction handling 407 408 - #7056 `6a07208` Save last db read (morcos) 409 - #6842 `0192806` Limitfreerelay edge case bugfix (ptschip) 410 - #7084 `11d74f6` Replace maxFeeRate of 10000*minRelayTxFee with maxTxFee in mempool (MarcoFalke) 411 - #7539 `9f33dba` Add tags to mempool's mapTx indices (sdaftuar) 412 - #7592 `26a2a72` Re-remove ERROR logging for mempool rejects (laanwj) 413 - #7187 `14d6324` Keep reorgs fast for SequenceLocks checks (morcos) 414 - #7594 `01f4267` Mempool: Add tracking of ancestor packages (sdaftuar) 415 - #7904 `fc9e334` Txdb: Fix assert crash in new UTXO set cursor (laanwj) 416 - #7927 `f9c2ac7` Minor changes to dbwrapper to simplify support for other databases (laanwj) 417 - #7933 `e26b620` Fix OOM when deserializing UTXO entries with invalid length (sipa) 418 - #8020 `5e374f7` Use SipHash-2-4 for various non-cryptographic hashes (sipa) 419 - #8076 `d720980` VerifyDB: don't check blocks that have been pruned (sdaftuar) 420 - #8080 `862fd24` Do not use mempool for GETDATA for tx accepted after the last mempool req (gmaxwell) 421 - #7997 `a82f033` Replace mapNextTx with slimmer setSpends (kazcw) 422 - #8220 `1f86d64` Stop trimming when mapTx is empty (sipa) 423 - #8273 `396f9d6` Bump `-dbcache` default to 300MiB (laanwj) 424 - #7225 `eb33179` Eliminate unnecessary call to CheckBlock (sdaftuar) 425 - #7907 `006cdf6` Optimize and Cleanup CScript::FindAndDelete (pstratem) 426 - #7917 `239d419` Optimize reindex (sipa) 427 - #7763 `3081fb9` Put hex-encoded version in UpdateTip (sipa) 428 - #8149 `d612837` Testnet-only segregated witness (sipa) 429 - #8305 `3730393` Improve handling of unconnecting headers (sdaftuar) 430 - #8363 `fca1a41` Rename "block cost" to "block weight" (sdaftuar) 431 - #8381 `f84ee3d` Make witness v0 outputs non-standard (jl2012) 432 - #8364 `3f65ba2` Treat high-sigop transactions as larger rather than rejecting them (sipa) 433 434 ### P2P protocol and network code 435 436 - #6589 `dc0305d` Log bytes recv/sent per command (jonasschnelli) 437 - #7164 `3b43cad` Do not download transactions during initial blockchain sync (ptschip) 438 - #7458 `898fedf` peers.dat, banlist.dat recreated when missing (kirkalx) 439 - #7637 `3da5d1b` Fix memleak in TorController (laanwj, jonasschnelli) 440 - #7553 `9f14e5a` Remove vfReachable and modify IsReachable to only use vfLimited (pstratem) 441 - #7708 `9426632` De-neuter NODE_BLOOM (pstratem) 442 - #7692 `29b2be6` Remove P2P alert system (btcdrak) 443 - #7542 `c946a15` Implement "feefilter" P2P message (morcos) 444 - #7573 `352fd57` Add `-maxtimeadjustment` command line option (mruddy) 445 - #7570 `232592a` Add IPv6 Link-Local Address Support (mruddy) 446 - #7874 `e6a4d48` Improve AlreadyHave (morcos) 447 - #7856 `64e71b3` Only send one GetAddr response per connection (gmaxwell) 448 - #7868 `7daa3ad` Split DNS resolving functionality out of net structures (theuni) 449 - #7919 `7617682` Fix headers announcements edge case (sdaftuar) 450 - #7514 `d9594bf` Fix IsInitialBlockDownload for testnet (jmacwhyte) 451 - #7959 `03cf6e8` fix race that could fail to persist a ban (kazcw) 452 - #7840 `3b9a0bf` Several performance and privacy improvements to inv/mempool handling (sipa) 453 - #8011 `65aecda` Don't run ThreadMessageHandler at lowered priority (kazcw) 454 - #7696 `5c3f8dd` Fix de-serialization bug where AddrMan is left corrupted (EthanHeilman) 455 - #7932 `ed749bd` CAddrMan::Deserialize handle corrupt serializations better (pstratem) 456 - #7906 `83121cc` Prerequisites for p2p encapsulation changes (theuni) 457 - #8033 `18436d8` Fix Socks5() connect failures to be less noisy and less unnecessarily scary (wtogami) 458 - #8082 `01d8359` Defer inserting into maprelay until just before relaying (gmaxwell) 459 - #7960 `6a22373` Only use AddInventoryKnown for transactions (sdaftuar) 460 - #8078 `2156fa2` Disable the mempool P2P command when bloom filters disabled (petertodd) 461 - #8065 `67c91f8` Addrman offline attempts (gmaxwell) 462 - #7703 `761cddb` Tor: Change auth order to only use password auth if -torpassword (laanwj) 463 - #8083 `cd0c513` Add support for dnsseeds with option to filter by servicebits (jonasschnelli) 464 - #8173 `4286f43` Use SipHash for node eviction (sipa) 465 - #8154 `1445835` Drop vAddrToSend after sending big addr message (kazcw) 466 - #7749 `be9711e` Enforce expected outbound services (sipa) 467 - #8208 `0a64777` Do not set extra flags for unfiltered DNS seed results (sipa) 468 - #8084 `e4bb4a8` Add recently accepted blocks and txn to AttemptToEvictConnection (gmaxwell) 469 - #8113 `3f89a53` Rework addnode behaviour (sipa) 470 - #8179 `94ab58b` Evict orphans which are included or precluded by accepted blocks (gmaxwell) 471 - #8068 `e9d76a1` Compact Blocks (TheBlueMatt) 472 - #8204 `0833894` Update petertodd's testnet seed (petertodd) 473 - #8247 `5cd35d3` Mark my dnsseed as supporting filtering (sipa) 474 - #8275 `042c323` Remove bad chain alert partition check (btcdrak) 475 - #8271 `1bc9c80` Do not send witnesses in cmpctblock (sipa) 476 - #8312 `ca40ef6` Fix mempool DoS vulnerability from malleated transactions (sdaftuar) 477 - #7180 `16ccb74` Account for `sendheaders` `verack` messages (laanwj) 478 - #8102 `425278d` Bugfix: use global ::fRelayTxes instead of CNode in version send (sipa) 479 - #8408 `b7e2011` Prevent fingerprinting, disk-DoS with compact blocks (sdaftuar) 480 481 ### Build system 482 483 - #7302 `41f1a3e` C++11 build/runtime fixes (theuni) 484 - #7322 `fd9356b` c++11: add scoped enum fallbacks to CPPFLAGS rather than defining them locally (theuni) 485 - #7441 `a6771fc` Use Debian 8.3 in gitian build guide (fanquake) 486 - #7349 `152a821` Build against system UniValue when available (luke-jr) 487 - #7520 `621940e` LibreSSL doesn't define OPENSSL_VERSION, use LIBRESSL_VERSION_TEXT instead (paveljanik) 488 - #7528 `9b9bfce` autogen.sh: warn about needing autoconf if autoreconf is not found (knocte) 489 - #7504 `19324cf` Crystal clean make clean (paveljanik) 490 - #7619 `18b3f1b` Add missing sudo entry in gitian VM setup (btcdrak) 491 - #7616 `639ec58` [depends] Delete unused patches (MarcoFalke) 492 - #7658 `c15eb28` Add curl to Gitian setup instructions (btcdrak) 493 - #7710 `909b72b` [Depends] Bump miniupnpc and config.guess+sub (fanquake) 494 - #7723 `5131005` build: python 3 compatibility (laanwj) 495 - #7477 `28ad4d9` Fix quoting of copyright holders in configure.ac (domob1812) 496 - #7711 `a67bc5e` [build-aux] Update Boost & check macros to latest serials (fanquake) 497 - #7788 `4dc1b3a` Use relative paths instead of absolute paths in protoc calls (paveljanik) 498 - #7809 `bbd210d` depends: some base fixes/changes (theuni) 499 - #7603 `73fc922` Build System: Use PACKAGE_TARNAME in NSIS script (JeremyRand) 500 - #7905 `187186b` test: move accounting_tests and rpc_wallet_tests to wallet/test (laanwj) 501 - #7911 `351abf9` leveldb: integrate leveldb into our buildsystem (theuni) 502 - #7944 `a407807` Re-instate TARGET_OS=linux in configure.ac. Removed by 351abf9e035 (randy-waterhouse) 503 - #7920 `c3e3cfb` Switch Travis to Trusty (theuni) 504 - #7954 `08b37c5` build: quiet annoying warnings without adding new ones (theuni) 505 - #7165 `06162f1` build: Enable C++11 in build, require C++11 compiler (laanwj) 506 - #7982 `559fbae` build: No need to check for leveldb atomics (theuni) 507 - #8002 `f9b4582` [depends] Add -stdlib=libc++ to darwin CXX flags (fanquake) 508 - #7993 `6a034ed` [depends] Bump Freetype, ccache, ZeroMQ, miniupnpc, expat (fanquake) 509 - #8167 `19ea173` Ship debug tarballs/zips with debug symbols (theuni) 510 - #8175 `f0299d8` Add --disable-bench to config flags for windows (laanwj) 511 - #7283 `fd9881a` [gitian] Default reference_datetime to commit author date (MarcoFalke) 512 - #8181 `9201ce8` Get rid of `CLIENT_DATE` (laanwj) 513 - #8133 `fde0ac4` Finish up out-of-tree changes (theuni) 514 - #8188 `65a9d7d` Add armhf/aarch64 gitian builds (theuni) 515 - #8194 `cca1c8c` [gitian] set correct PATH for wrappers (MarcoFalke) 516 - #8198 `5201614` Sync ax_pthread with upstream draft4 (fanquake) 517 - #8210 `12a541e` [Qt] Bump to Qt5.6.1 (jonasschnelli) 518 - #8285 `da50997` windows: Add testnet link to installer (laanwj) 519 - #8304 `0cca2fe` [travis] Update SDK_URL (MarcoFalke) 520 - #8310 `6ae20df` Require boost for bench (theuni) 521 - #8315 `2e51590` Don't require sudo for Linux (theuni) 522 - #8314 `67caef6` Fix pkg-config issues for 0.13 (theuni) 523 - #8373 `1fe7f40` Fix OSX non-deterministic dmg (theuni) 524 - #8358 `cfd1280` Gbuild: Set memory explicitly (default is too low) (MarcoFalke) 525 526 ### GUI 527 528 - #7154 `00b4b8d` Add InMempool() info to transaction details (jonasschnelli) 529 - #7068 `5f3c670` [RPC-Tests] add simple way to run rpc test over QT clients (jonasschnelli) 530 - #7218 `a1c185b` Fix misleading translation (MarcoFalke) 531 - #7214 `be9a9a3` qt5: Use the fixed font the system recommends (MarcoFalke) 532 - #7256 `08ab906` Add note to coin control dialog QT5 workaround (fanquake) 533 - #7255 `e289807` Replace some instances of formatWithUnit with formatHtmlWithUnit (fanquake) 534 - #7317 `3b57e9c` Fix RPCTimerInterface ordering issue (jonasschnelli) 535 - #7327 `c079d79` Transaction View: LastMonth calculation fixed (crowning-) 536 - #7334 `e1060c5` coincontrol workaround is still needed in qt5.4 (fixed in qt5.5) (MarcoFalke) 537 - #7383 `ae2db67` Rename "amount" to "requested amount" in receive coins table (jonasschnelli) 538 - #7396 `cdcbc59` Add option to increase/decrease font size in the console window (jonasschnelli) 539 - #7437 `9645218` Disable tab navigation for peers tables (Kefkius) 540 - #7604 `354b03d` build: Remove spurious dollar sign. Fixes #7189 (dooglus) 541 - #7605 `7f001bd` Remove openssl info from init/log and from Qt debug window (jonasschnelli) 542 - #7628 `87d6562` Add 'copy full transaction details' option (ericshawlinux) 543 - #7613 `3798e5d` Add autocomplete to bitcoin-qt's console window (GamerSg) 544 - #7668 `b24266c` Fix history deletion bug after font size change (achow101) 545 - #7680 `41d2dfa` Remove reflection from `about` icon (laanwj) 546 - #7686 `f034bce` Remove 0-fee from send dialog (MarcoFalke) 547 - #7506 `b88e0b0` Use CCoinControl selection in CWallet::FundTransaction (promag) 548 - #7732 `0b98dd7` Debug window: replace "Build date" with "Datadir" (jonasschnelli) 549 - #7761 `60db51d` remove trailing output-index from transaction-id (jonasschnelli) 550 - #7772 `6383268` Clear the input line after activating autocomplete (paveljanik) 551 - #7925 `f604bf6` Fix out-of-tree GUI builds (laanwj) 552 - #7939 `574ddc6` Make it possible to show details for multiple transactions (laanwj) 553 - #8012 `b33824b` Delay user confirmation of send (Tyler-Hardin) 554 - #8006 `7c8558d` Add option to disable the system tray icon (Tyler-Hardin) 555 - #8046 `169d379` Fix Cmd-Q / Menu Quit shutdown on OSX (jonasschnelli) 556 - #8042 `6929711` Don't allow to open the debug window during splashscreen & verification state (jonasschnelli) 557 - #8014 `77b49ac` Sort transactions by date (Tyler-Hardin) 558 - #8073 `eb2f6f7` askpassphrasedialog: Clear pass fields on accept (rat4) 559 - #8129 `ee1533e` Fix RPC console auto completer (UdjinM6) 560 - #7636 `fb0ac48` Add bitcoin address label to request payment QR code (makevoid) 561 - #8231 `760a6c7` Fix a bug where the SplashScreen will not be hidden during startup (jonasschnelli) 562 - #8256 `af2421c` BUG: bitcoin-qt crash (fsb4000) 563 - #8257 `ff03c50` Do not ask a UI question from bitcoind (sipa) 564 - #8288 `91abb77` Network-specific example address (laanwj) 565 - #7707 `a914968` UI support for abandoned transactions (jonasschnelli) 566 - #8207 `f7a403b` Add a link to the Bitcoin-Core repository and website to the About Dialog (MarcoFalke) 567 - #8281 `6a87eb0` Remove client name from debug window (laanwj) 568 - #8407 `45eba4b` Add dbcache migration path (jonasschnelli) 569 570 ### Wallet 571 572 - #7262 `fc08994` Reduce inefficiency of GetAccountAddress() (dooglus) 573 - #7537 `78e81b0` Warn on unexpected EOF while salvaging wallet (laanwj) 574 - #7521 `3368895` Don't resend wallet txs that aren't in our own mempool (morcos) 575 - #7576 `86a1ec5` Move wallet help string creation to CWallet (jonasschnelli) 576 - #7577 `5b3b5a7` Move "load wallet phase" to CWallet (jonasschnelli) 577 - #7608 `0735c0c` Move hardcoded file name out of log messages (MarcoFalke) 578 - #7649 `4900641` Prevent multiple calls to CWallet::AvailableCoins (promag) 579 - #7646 `e5c3511` Fix lockunspent help message (promag) 580 - #7558 `b35a591` Add import/removeprunedfunds rpc call (instagibbs) 581 - #6215 `48c5adf` add bip32 pub key serialization (jonasschnelli) 582 - #7913 `bafd075` Fix for incorrect locking in GetPubKey() (keystore.cpp) (yurizhykin) 583 - #8036 `41138f9` init: Move berkeleydb version reporting to wallet (laanwj) 584 - #8028 `373b50d` Fix insanity of CWalletDB::WriteTx and CWalletTx::WriteToDisk (pstratem) 585 - #8061 `f6b7df3` Improve Wallet encapsulation (pstratem) 586 - #7891 `950be19` Always require OS randomness when generating secret keys (sipa) 587 - #7689 `b89ef13` Replace OpenSSL AES with ctaes-based version (sipa) 588 - #7825 `f972b04` Prevent multiple calls to ExtractDestination (pedrobranco) 589 - #8137 `243ac0c` Improve CWallet API with new AccountMove function (pstratem) 590 - #8142 `52c3f34` Improve CWallet API with new GetAccountPubkey function (pstratem) 591 - #8035 `b67a472` Add simplest BIP32/deterministic key generation implementation (jonasschnelli) 592 - #7687 `a6ddb19` Stop treating importaddress'ed scripts as change (sipa) 593 - #8298 `aef3811` wallet: Revert input selection post-pruning (laanwj) 594 - #8324 `bc94b87` Keep HD seed during salvagewallet (jonasschnelli) 595 - #8323 `238300b` Add HD keypath to CKeyMetadata, report metadata in validateaddress (jonasschnelli) 596 - #8367 `3b38a6a` Ensure <0.13 clients can't open HD wallets (jonasschnelli) 597 - #8378 `ebea651` Move SetMinVersion for FEATURE_HD to SetHDMasterKey (pstratem) 598 - #8390 `73adfe3` Correct hdmasterkeyid/masterkeyid name confusion (jonasschnelli) 599 - #8206 `18b8ee1` Add HD xpriv to dumpwallet (jonasschnelli) 600 - #8389 `c3c82c4` Create a new HD seed after encrypting the wallet (jonasschnelli) 601 602 ### Tests and QA 603 604 - #7320 `d3dfc6d` Test walletpassphrase timeout (MarcoFalke) 605 - #7208 `47c5ed1` Make max tip age an option instead of chainparam (laanwj) 606 - #7372 `21376af` Trivial: [qa] wallet: Print maintenance (MarcoFalke) 607 - #7280 `668906f` [travis] Fail when documentation is outdated (MarcoFalke) 608 - #7177 `93b0576` [qa] Change default block priority size to 0 (MarcoFalke) 609 - #7236 `02676c5` Use createrawtx locktime parm in txn_clone (dgenr8) 610 - #7212 `326ffed` Adds unittests for CAddrMan and CAddrinfo, removes source of non-determinism (EthanHeilman) 611 - #7490 `d007511` tests: Remove May15 test (laanwj) 612 - #7531 `18cb2d5` Add bip68-sequence.py to extended rpc tests (btcdrak) 613 - #7536 `ce5fc02` test: test leading spaces for ParseHex (laanwj) 614 - #7620 `1b68de3` [travis] Only run check-doc.py once (MarcoFalke) 615 - #7455 `7f96671` [travis] Exit early when check-doc.py fails (MarcoFalke) 616 - #7667 `56d2c4e` Move GetTempPath() to testutil (musalbas) 617 - #7517 `f1ca891` test: script_error checking in script_invalid tests (laanwj) 618 - #7684 `3d0dfdb` Extend tests (MarcoFalke) 619 - #7697 `622fe6c` Tests: make prioritise_transaction.py more robust (sdaftuar) 620 - #7709 `efde86b` Tests: fix missing import in mempool_packages (sdaftuar) 621 - #7702 `29e1131` Add tests verifychain, lockunspent, getbalance, listsinceblock (MarcoFalke) 622 - #7720 `3b4324b` rpc-test: Normalize assert() (MarcoFalke) 623 - #7757 `26794d4` wallet: Wait for reindex to catch up (MarcoFalke) 624 - #7764 `a65b36c` Don't run pruning.py twice (MarcoFalke) 625 - #7773 `7c80e72` Fix comments in tests (btcdrak) 626 - #7489 `e9723cb` tests: Make proxy_test work on travis servers without IPv6 (laanwj) 627 - #7801 `70ac71b` Remove misleading "errorString syntax" (MarcoFalke) 628 - #7803 `401c65c` maxblocksinflight: Actually enable test (MarcoFalke) 629 - #7802 `3bc71e1` httpbasics: Actually test second connection (MarcoFalke) 630 - #7849 `ab8586e` tests: add varints_bitpatterns test (laanwj) 631 - #7846 `491171f` Clean up lockorder data of destroyed mutexes (sipa) 632 - #7853 `6ef5e00` py2: Unfiddle strings into bytes explicitly (MarcoFalke) 633 - #7878 `53adc83` [test] bctest.py: Revert faa41ee (MarcoFalke) 634 - #7798 `cabba24` [travis] Print the commit which was evaluated (MarcoFalke) 635 - #7833 `b1bf511` tests: Check Content-Type header returned from RPC server (laanwj) 636 - #7851 `fa9d86f` pull-tester: Don't mute zmq ImportError (MarcoFalke) 637 - #7822 `0e6fd5e` Add listunspent() test for spendable/unspendable UTXO (jpdffonseca) 638 - #7912 `59ad568` Tests: Fix deserialization of reject messages (sdaftuar) 639 - #7941 `0ea3941` Fixing comment in script_test.json test case (Christewart) 640 - #7807 `0ad1041` Fixed miner test values, gave constants for less error-prone values (instagibbs) 641 - #7980 `88b77c7` Smartfees: Properly use ordered dict (MarcoFalke) 642 - #7814 `77b637f` Switch to py3 (MarcoFalke) 643 - #8030 `409a8a1` Revert fatal-ness of missing python-zmq (laanwj) 644 - #8018 `3e90fe6` Autofind rpc tests --srcdir (jonasschnelli) 645 - #8016 `5767e80` Fix multithread CScheduler and reenable test (paveljanik) 646 - #7972 `423ca30` pull-tester: Run rpc test in parallel (MarcoFalke) 647 - #8039 `69b3a6d` Bench: Add crypto hash benchmarks (laanwj) 648 - #8041 `5b736dd` Fix bip9-softforks blockstore issue (MarcoFalke) 649 - #7994 `1f01443` Add op csv tests to script_tests.json (Christewart) 650 - #8038 `e2bf830` Various minor fixes (MarcoFalke) 651 - #8072 `1b87e5b` Travis: 'make check' in parallel and verbose (theuni) 652 - #8056 `8844ef1` Remove hardcoded "4 nodes" from test_framework (MarcoFalke) 653 - #8047 `37f9a1f` Test_framework: Set wait-timeout for bitcoind procs (MarcoFalke) 654 - #8095 `6700cc9` Test framework: only cleanup on successful test runs (sdaftuar) 655 - #8098 `06bd4f6` Test_framework: Append portseed to tmpdir (MarcoFalke) 656 - #8104 `6ff2c8d` Add timeout to sync_blocks() and sync_mempools() (sdaftuar) 657 - #8111 `61b8684` Benchmark SipHash (sipa) 658 - #8107 `52b803e` Bench: Added base58 encoding/decoding benchmarks (yurizhykin) 659 - #8115 `0026e0e` Avoid integer division in the benchmark inner-most loop (gmaxwell) 660 - #8090 `a2df115` Adding P2SH(p2pkh) script test case (Christewart) 661 - #7992 `ec45cc5` Extend #7956 with one more test (TheBlueMatt) 662 - #8139 `ae5575b` Fix interrupted HTTP RPC connection workaround for Python 3.5+ (sipa) 663 - #8164 `0f24eaf` [Bitcoin-Tx] fix missing test fixtures, fix 32bit atoi issue (jonasschnelli) 664 - #8166 `0b5279f` Src/test: Do not shadow local variables (paveljanik) 665 - #8141 `44c1b1c` Continuing port of java comparison tool (mrbandrews) 666 - #8201 `36b7400` fundrawtransaction: Fix race, assert amounts (MarcoFalke) 667 - #8214 `ed2cd59` Mininode: fail on send_message instead of silent return (MarcoFalke) 668 - #8215 `a072d1a` Don't use floating point in wallet tests (MarcoFalke) 669 - #8066 `65c2058` Test_framework: Use different rpc_auth_pair for each node (MarcoFalke) 670 - #8216 `0d41d70` Assert 'changePosition out of bounds' (MarcoFalke) 671 - #8222 `961893f` Enable mempool consistency checks in unit tests (sipa) 672 - #7751 `84370d5` test_framework: python3.4 authproxy compat (laanwj) 673 - #7744 `d8e862a` test_framework: detect failure of bitcoind startup (laanwj) 674 - #8280 `115735d` Increase sync_blocks() timeouts in pruning.py (MarcoFalke) 675 - #8340 `af9b7a9` Solve trivial merge conflict in p2p-segwit.py (MarcoFalke) 676 - #8067 `3e4cf8f` Travis: use slim generic image, and some fixups (theuni) 677 - #7951 `5c7df70` Test_framework: Properly print exception (MarcoFalke) 678 - #8070 `7771aa5` Remove non-determinism which is breaking net_tests #8069 (EthanHeilman) 679 - #8309 `bb2646a` Add wallet-hd test (MarcoFalke) 680 - #8444 `cd0910b` Fix p2p-feefilter.py for changed tx relay behavior (sdaftuar) 681 682 ### Mining 683 684 - #7507 `11c7699` Remove internal miner (Leviathn) 685 - #7663 `c87f51e` Make the generate RPC call function for non-regtest (sipa) 686 - #7671 `e2ebd25` Add generatetoaddress RPC to mine to an address (achow101) 687 - #7935 `66ed450` Versionbits: GBT support (luke-jr) 688 - #7600 `66db2d6` Select transactions using feerate-with-ancestors (sdaftuar) 689 - #8295 `f5660d3` Mining-related fixups for 0.13.0 (sdaftuar) 690 - #7796 `536b75e` Add support for negative fee rates, fixes `prioritizetransaction` (MarcoFalke) 691 - #8362 `86edc20` Scale legacy sigop count in CreateNewBlock (sdaftuar) 692 - #8489 `8b0eee6` Bugfix: Use pre-BIP141 sigops until segwit activates (GBT) (luke-jr) 693 694 ### Documentation and miscellaneous 695 696 - #7423 `69e2a40` Add example for building with constrained resources (jarret) 697 - #8254 `c2c69ed` Add OSX ZMQ requirement to QA readme (fanquake) 698 - #8203 `377d131` Clarify documentation for running a tor node (nathaniel-mahieu) 699 - #7428 `4b12266` Add example for listing ./configure flags (nathaniel-mahieu) 700 - #7847 `3eae681` Add arch linux build example (mruddy) 701 - #7968 `ff69aaf` Fedora build requirements (wtogami) 702 - #8013 `fbedc09` Fedora build requirements, add gcc-c++ and fix typo (wtogami) 703 - #8009 `fbd8478` Fixed invalid example paths in gitian-building.md (JeremyRand) 704 - #8240 `63fbdbc` Mention Windows XP end of support in release notes (laanwj) 705 - #8303 `5077d2c` Update bips.md for CSV softfork (fanquake) 706 - #7789 `e0b3e19` Add note about using the Qt official binary installer (paveljanik) 707 - #7791 `e30a5b0` Change Precise to Trusty in gitian-building.md (JeremyRand) 708 - #7838 `8bb5d3d` Update gitian build guide to debian 8.4.0 (fanquake) 709 - #7855 `b778e59` Replace precise with trusty (MarcoFalke) 710 - #7975 `fc23fee` Update bitcoin-core GitHub links (MarcoFalke) 711 - #8034 `e3a8207` Add basic git squash workflow (fanquake) 712 - #7813 `214ec0b` Update port in tor.md (MarcoFalke) 713 - #8193 `37c9830` Use Debian 8.5 in the gitian-build guide (fanquake) 714 - #8261 `3685e0c` Clarify help for `getblockchaininfo` (paveljanik) 715 - #7185 `ea0f5a2` Note that reviewers should mention the id of the commits they reviewed (pstratem) 716 - #7290 `c851d8d` [init] Add missing help for args (MarcoFalke) 717 - #7281 `f9fd4c2` Improve CheckInputs() comment about sig verification (petertodd) 718 - #7417 `1e06bab` Minor improvements to the release process (PRabahy) 719 - #7444 `4cdbd42` Improve block validity/ConnectBlock() comments (petertodd) 720 - #7527 `db2e1c0` Fix and cleanup listreceivedbyX documentation (instagibbs) 721 - #7541 `b6e00af` Clarify description of blockindex (pinheadmz) 722 - #7590 `f06af57` Improving wording related to Boost library requirements [updated] (jonathancross) 723 - #7635 `0fa88ef` Add dependency info to test docs (elliotolds) 724 - #7609 `3ba07bd` RPM spec file project (AliceWonderMiscreations) 725 - #7850 `229a17c` Removed call to `TryCreateDirectory` from `GetDefaultDataDir` in `src/util.cpp` (alexreg) 726 - #7888 `ec870e1` Prevector: fix 2 bugs in currently unreached code paths (kazcw) 727 - #7922 `90653bc` CBase58Data::SetString: cleanse the full vector (kazcw) 728 - #7881 `c4e8390` Update release process (laanwj) 729 - #7952 `a9c8b74` Log invalid block hash to make debugging easier (paveljanik) 730 - #7974 `8206835` More comments on the design of AttemptToEvictConnection (gmaxwell) 731 - #7795 `47a7cfb` UpdateTip: log only one line at most per block (laanwj) 732 - #8110 `e7e25ea` Add benchmarking notes (fanquake) 733 - #8121 `58f0c92` Update implemented BIPs list (fanquake) 734 - #8029 `58725ba` Simplify OS X build notes (fanquake) 735 - #8143 `d46b8b5` comment nit: miners don't vote (instagibbs) 736 - #8136 `22e0b35` Log/report in 10% steps during VerifyDB (jonasschnelli) 737 - #8168 `d366185` util: Add ParseUInt32 and ParseUInt64 (laanwj) 738 - #8178 `f7b1bfc` Add git and github tips and tricks to developer notes (sipa) 739 - #8177 `67db011` developer notes: updates for C++11 (kazcw) 740 - #8229 `8ccdac1` [Doc] Update OS X build notes for 10.11 SDK (fanquake) 741 - #8233 `9f1807a` Mention Linux ARM executables in release process and notes (laanwj) 742 - #7540 `ff46dd4` Rename OP_NOP3 to OP_CHECKSEQUENCEVERIFY (btcdrak) 743 - #8289 `26316ff` bash-completion: Adapt for 0.12 and 0.13 (roques) 744 - #7453 `3dc3149` Missing patches from 0.12 (MarcoFalke) 745 - #7113 `54a550b` Switch to a more efficient rolling Bloom filter (sipa) 746 - #7257 `de9e5ea` Combine common error strings for different options so translations can be shared and reused (luke-jr) 747 - #7304 `b8f485c` [contrib] Add clang-format-diff.py (MarcoFalke) 748 - #7378 `e6f97ef` devtools: replace github-merge with python version (laanwj) 749 - #7395 `0893705` devtools: show pull and commit information in github-merge (laanwj) 750 - #7402 `6a5932b` devtools: github-merge get toplevel dir without extra whitespace (achow101) 751 - #7425 `20a408c` devtools: Fix utf-8 support in messages for github-merge (laanwj) 752 - #7632 `409f843` Delete outdated test-patches reference (Lewuathe) 753 - #7662 `386f438` remove unused NOBLKS_VERSION_{START,END} constants (rat4) 754 - #7737 `aa0d2b2` devtools: make github-merge.py use py3 (laanwj) 755 - #7781 `55db5f0` devtools: Auto-set branch to merge to in github-merge (laanwj) 756 - #7934 `f17032f` Improve rolling bloom filter performance and benchmark (sipa) 757 - #8004 `2efe38b` signal handling: fReopenDebugLog and fRequestShutdown should be type sig_atomic_t (catilac) 758 - #7713 `f6598df` Fixes for verify-commits script (petertodd) 759 - #8412 `8360d5b` libconsensus: Expose a flag for BIP112 (jtimon) 760 761 Credits 762 ======= 763 764 Thanks to everyone who directly contributed to this release: 765 766 - 21E14 767 - accraze 768 - Adam Brown 769 - Alexander Regueiro 770 - Alex Morcos 771 - Alfie John 772 - Alice Wonder 773 - AlSzacrel 774 - Andrew Chow 775 - Andrés G. Aragoneses 776 - Bob McElrath 777 - BtcDrak 778 - calebogden 779 - Cédric Félizard 780 - Chirag Davé 781 - Chris Moore 782 - Chris Stewart 783 - Christian von Roques 784 - Chris Wheeler 785 - Cory Fields 786 - crowning- 787 - Daniel Cousens 788 - Daniel Kraft 789 - Denis Lukianov 790 - Elias Rohrer 791 - Elliot Olds 792 - Eric Shaw 793 - error10 794 - Ethan Heilman 795 - face 796 - fanquake 797 - Francesco 'makevoid' Canessa 798 - fsb4000 799 - Gavin Andresen 800 - gladoscc 801 - Gregory Maxwell 802 - Gregory Sanders 803 - instagibbs 804 - James O'Beirne 805 - Jannes Faber 806 - Jarret Dyrbye 807 - Jeremy Rand 808 - jloughry 809 - jmacwhyte 810 - Joao Fonseca 811 - Johnson Lau 812 - Jonas Nick 813 - Jonas Schnelli 814 - Jonathan Cross 815 - João Barbosa 816 - Jorge Timón 817 - Kaz Wesley 818 - Kefkius 819 - kirkalx 820 - Krzysztof Jurewicz 821 - Leviathn 822 - lewuathe 823 - Luke Dashjr 824 - Luv Khemani 825 - Marcel Krüger 826 - Marco Falke 827 - Mark Friedenbach 828 - Matt 829 - Matt Bogosian 830 - Matt Corallo 831 - Matthew English 832 - Matthew Zipkin 833 - mb300sd 834 - Mitchell Cash 835 - mrbandrews 836 - mruddy 837 - Murch 838 - Mustafa 839 - Nathaniel Mahieu 840 - Nicolas Dorier 841 - Patrick Strateman 842 - Paul Rabahy 843 - paveljanik 844 - Pavel Janík 845 - Pavel Vasin 846 - Pedro Branco 847 - Peter Todd 848 - Philip Kaufmann 849 - Pieter Wuille 850 - Prayag Verma 851 - ptschip 852 - Puru 853 - randy-waterhouse 854 - R E Broadley 855 - Rusty Russell 856 - Suhas Daftuar 857 - Suriyaa Kudo 858 - TheLazieR Yip 859 - Thomas Kerin 860 - Tom Harding 861 - Tyler Hardin 862 - UdjinM6 863 - Warren Togami 864 - Will Binns 865 - Wladimir J. van der Laan 866 - Yuri Zhykin 867 868 As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).