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