summaryrefslogtreecommitdiff
path: root/ce/725a4d3fc6a2b2f7405f8f3f604ae4b0843acd
blob: 4a2efe4b7a316476064517c0c565e33d6abe0548 (plain)
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
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
Return-Path: <jtimon@jtimon.cc>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id 3D6021478
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Wed,  3 Oct 2018 23:53:25 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-ot1-f68.google.com (mail-ot1-f68.google.com
	[209.85.210.68])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id A572B709
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Wed,  3 Oct 2018 23:53:20 +0000 (UTC)
Received: by mail-ot1-f68.google.com with SMTP id w67so7381322ota.7
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Wed, 03 Oct 2018 16:53:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=jtimon-cc.20150623.gappssmtp.com; s=20150623;
	h=mime-version:references:in-reply-to:from:date:message-id:subject:to
	:cc:content-transfer-encoding;
	bh=XJNJ0OpAbd1qwV1MGCdO72vcs5C4J1swOnk6XSURxgg=;
	b=tK6+lpn/Gm1dohdR/HB1egV8ogAuByOWvEfViE+VTGLVaijvlXJwbbKi9n1vsWw1Gl
	c3lK/N2uN88gDJhSk8Krv5vHV1nsue12cGJKzsne7XJ3bIUY2BZImcjxIyUKjel5wWsM
	yKR0jfICCrw9LzGS5RC3wKlERoxVQhdf6yBTl4zjdKA5Bliy8j0SdTytmSecAW4sLdbc
	f//Gp0Q4DIcAEnqYuJt3pmFXSawBC9CKZBw6N3xDB8UX7RMIT88jtCB4MfuCDE78zxG8
	8TIDYVrHkJcYbJGA24G/xBzkCUK001z+VcniIOMacUbPpYvH3XzCXgnS4Nsm665Y4bqw
	2Dnw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=1e100.net; s=20161025;
	h=x-gm-message-state:mime-version:references:in-reply-to:from:date
	:message-id:subject:to:cc:content-transfer-encoding;
	bh=XJNJ0OpAbd1qwV1MGCdO72vcs5C4J1swOnk6XSURxgg=;
	b=M65zoKZEDi8QYWhLYYHEjlbgK5sqm5zyGbq1OKshdBobZPDaRugFlMCidUO0clhySX
	5+X5rRXy7BNkbw+FnJ0d6DyOM5mkSg9eGX68h/91xArIVzOm8fk1AnR57SvNQpewVQU0
	pYvDDj3uwHxiZMsLRQLAzMAeKn/pltze66t141iJ9KKjg2qrVK+MuHG/oKwxX4Zq2jWz
	qOp28hxBqME4OilapHIiuIMqsihNdOjk/JsN/tx36fIfjnR0BU//Sb7v0Fpcpi7SDGab
	P7jKZ4REh55tqEUc/jKID2bVODDCoHJzjm4/YgnA4s/sQCe2/piLE4EMyL4YZD3yPte/
	ZKsA==
X-Gm-Message-State: ABuFfohhXQsxCixwcsiQPgzvC5KHVwrhfhM9s07LOL2otlzkyg6Esrri
	wRMNw9zSCkVqMmOkURCbRiXCPcctnRAL02zTGIE+DmDLXlUvMgrN
X-Google-Smtp-Source: ACcGV61QgnZjYK+GjDm8pTWJm2ekbpSCBnPRU3TqGuCGVjzBMk7LybTfu/EU3rcIgbnTzQ9bMS02w9WkLZGoP45S5K8=
X-Received: by 2002:a9d:2992:: with SMTP id
	n18-v6mr2350588otb.253.1538610798985; 
	Wed, 03 Oct 2018 16:53:18 -0700 (PDT)
MIME-Version: 1.0
References: <20181003102926.2u3554rxovsasg7y@aurora.visucore.com>
In-Reply-To: <20181003102926.2u3554rxovsasg7y@aurora.visucore.com>
From: =?UTF-8?B?Sm9yZ2UgVGltw7Nu?= <jtimon@jtimon.cc>
Date: Thu, 4 Oct 2018 01:53:07 +0200
Message-ID: <CABm2gDrnK+46e91uTDRGS3ZqRLkFA98r4UGLt7Y0X4x5s8O5WQ@mail.gmail.com>
To: Wladimir <laanwj@gmail.com>,
	Bitcoin Dev <bitcoin-dev@lists.linuxfoundation.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,
	DKIM_VALID, FROM_EXCESS_BASE64,
	RCVD_IN_DNSWL_NONE autolearn=no version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
	smtp1.linux-foundation.org
X-Mailman-Approved-At: Thu, 04 Oct 2018 03:30:19 +0000
Cc: Matt Corallo <matt@bluematt.me>,
	Bitcoin Core Discussion <bitcoin-core-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] Bitcoin Core 0.17.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: Wed, 03 Oct 2018 23:53:25 -0000

It seems we forgot
https://github.com/bitcoin/bitcoin/issues/12391#issuecomment-413653714
since getblockstats is only mentioned in the commits.

On Wed, Oct 3, 2018 at 12:32 PM Wladimir J. van der Laan via
bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote:
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
>
> Bitcoin Core version 0.17.0 is now available from:
>
>   <https://bitcoincore.org/bin/bitcoin-core-0.17.0/>
>
> or through BitTorrent:
>
>   magnet:?xt=3Durn:btih:1c72f17bc1667a2ce81860b75135e491f6637d05&dn=3Dbit=
coin-core-0.17.0&tr=3Dudp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=3Dudp%=
3A%2F%2Ftracker.opentrackr.org%3A1337&tr=3Dudp%3A%2F%2Ftracker.coppersurfer=
.tk%3A6969&tr=3Dudp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=3Dudp%3=
A%2F%2Fzer0day.ch%3A1337&tr=3Dudp%3A%2F%2Fexplodie.org%3A6969
>
> This is a new major version release, including new features, various bugf=
ixes
> 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/>
>
> How to Upgrade
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>
> If you are running an older version, shut it down. Wait until it has comp=
letely
> shut down (which might take a few minutes for older versions), then run t=
he
> installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on M=
ac)
> or `bitcoind`/`bitcoin-qt` (on Linux).
>
> If your node has a txindex, the txindex db will be migrated the first tim=
e you run 0.17.0 or newer, which may take up to a few hours. Your node will=
 not be functional until this migration completes.
>
> The first time you run version 0.15.0 or newer, your chainstate database =
will be converted to a
> new format, which will take anywhere from a few minutes to half an hour,
> depending on the speed of your machine.
>
> Note that the block database format also changed in version 0.8.0 and the=
re is no
> automatic upgrade code from before version 0.8 to version 0.15.0. Upgradi=
ng
> directly from 0.7.x and earlier without redownloading the blockchain is n=
ot supported.
> However, as usual, old wallet versions are still supported.
>
> Downgrading warning
> - -------------------
>
> The chainstate database for this release is not compatible with previous
> releases, so if you run 0.15 and then decide to switch back to any
> older version, you will need to run the old release with the `-reindex-ch=
ainstate`
> option to rebuild the chainstate data structures in the old format.
>
> If your node has pruning enabled, this will entail re-downloading and
> processing the entire blockchain.
>
> Compatibility
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>
> Bitcoin Core is extensively tested on multiple operating systems using
> the Linux kernel, macOS 10.10+, and Windows 7 and newer (Windows XP is no=
t supported).
>
> Bitcoin Core should also work on most other Unix-like systems but is not
> frequently tested on them.
>
> - From 0.17.0 onwards macOS <10.10 is no longer supported. 0.17.0 is buil=
t using Qt 5.9.x, which doesn't
> support versions of macOS older than 10.10.
>
> Known issues
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>
> - - Upgrading from 0.13.0 or older currently results in memory blow-up du=
ring the roll-back of blocks to the SegWit activation point. In these cases=
, a full `-reindex` is necessary.
>
> - - The GUI suffers from visual glitches in the new MacOS dark mode. This=
 has to do with our Qt theme handling and is not a new problem in 0.17.0, b=
ut is expected to be resolved in 0.17.1.
>
> Notable changes
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>
> Changed configuration options
> - -----------------------------
>
> - - `-includeconf=3D<file>` can be used to include additional configurati=
on files.
>   Only works inside the `bitcoin.conf` file, not inside included files or=
 from
>   command-line. Multiple files may be included. Can be disabled from comm=
and-
>   line via `-noincludeconf`. Note that multi-argument commands like
>   `-includeconf` will override preceding `-noincludeconf`, i.e.
>   ```
>   noincludeconf=3D1
>   includeconf=3Drelative.conf
>   ```
>
>   as bitcoin.conf will still include `relative.conf`.
>
> GUI changes
> - -----------
>
> - - Block storage can be limited under Preferences, in the Main tab. Undo=
ing this setting requires downloading the full blockchain again. This mode =
is incompatible with -txindex and -rescan.
>
> External wallet files
> - ---------------------
>
> The `-wallet=3D<path>` option now accepts full paths instead of requiring=
 wallets
> to be located in the -walletdir directory.
>
> Newly created wallet format
> - ---------------------------
>
> If `-wallet=3D<path>` is specified with a path that does not exist, it wi=
ll now
> create a wallet directory at the specified location (containing a wallet.=
dat
> data file, a db.log file, and database/log.?????????? files) instead of j=
ust
> creating a data file at the path and storing log files in the parent
> directory. This should make backing up wallets more straightforward than
> before because the specified wallet path can just be directly archived wi=
thout
> having to look in the parent directory for transaction log files.
>
> For backwards compatibility, wallet paths that are names of existing data=
 files
> in the `-walletdir` directory will continue to be accepted and interprete=
d the
> same as before.
>
> Dynamic loading and creation of wallets
> - ---------------------------------------
>
> Previously, wallets could only be loaded or created at startup, by specif=
ying `-wallet` parameters on the command line or in the bitcoin.conf file. =
It is now possible to load, create and unload wallets dynamically at runtim=
e:
>
> - - Existing wallets can be loaded by calling the `loadwallet` RPC. The w=
allet can be specified as file/directory basename (which must be located in=
 the `walletdir` directory), or as an absolute path to a file/directory.
> - - New wallets can be created (and loaded) by calling the `createwallet`=
 RPC. The provided name must not match a wallet file in the `walletdir` dir=
ectory or the name of a wallet that is currently loaded.
> - - Loaded wallets can be unloaded by calling the `unloadwallet` RPC.
>
> This feature is currently only available through the RPC interface.
>
> Coin selection
> - --------------
>
> ### Partial spend avoidance
>
> When an address is paid multiple times the coins from those separate paym=
ents can be spent separately which hurts privacy due to linking otherwise s=
eparate addresses. A new `-avoidpartialspends` flag has been added (default=
=3Dfalse). If enabled, the wallet will always spend existing UTXO to the sa=
me address together even if it results in higher fees. If someone were to s=
end coins to an address after it was used, those coins will still be includ=
ed in future coin selections.
>
> Configuration sections for testnet and regtest
> - ----------------------------------------------
>
> It is now possible for a single configuration file to set different
> options for different networks. This is done by using sections or by
> prefixing the option with the network, such as:
>
>     main.uacomment=3Dbitcoin
>     test.uacomment=3Dbitcoin-testnet
>     regtest.uacomment=3Dregtest
>     [main]
>     mempoolsize=3D300
>     [test]
>     mempoolsize=3D100
>     [regtest]
>     mempoolsize=3D20
>
> If the following options are not in a section, they will only apply to ma=
innet:
> `addnode=3D`, `connect=3D`, `port=3D`, `bind=3D`, `rpcport=3D`, `rpcbind=
=3D` and `wallet=3D`.
> The options to choose a network (`regtest=3D` and `testnet=3D`) must be s=
pecified
> outside of sections.
>
> 'label' and 'account' APIs for wallet
> - -------------------------------------
>
> A new 'label' API has been introduced for the wallet. This is intended as=
 a
> replacement for the deprecated 'account' API. The 'account' can continue =
to
> be used in V0.17 by starting bitcoind with the '-deprecatedrpc=3Daccounts=
'
> argument, and will be fully removed in V0.18.
>
> The label RPC methods mirror the account functionality, with the followin=
g functional differences:
>
> - - Labels can be set on any address, not just receiving addresses. This =
functionality was previously only available through the GUI.
> - - Labels can be deleted by reassigning all addresses using the `setlabe=
l` RPC method.
> - - There isn't support for sending transactions _from_ a label, or for d=
etermining which label a transaction was sent from.
> - - Labels do not have a balance.
>
> Here are the changes to RPC methods:
>
> | Deprecated Method       | New Method            | Notes       |
> | :---------------------- | :-------------------- | :-----------|
> | `getaccount`            | `getaddressinfo`      | `getaddressinfo` retu=
rns a json object with address information instead of just the name of the =
account as a string. |
> | `getaccountaddress`     | n/a                   | There is no replaceme=
nt for `getaccountaddress` since labels do not have an associated receive a=
ddress. |
> | `getaddressesbyaccount` | `getaddressesbylabel` | `getaddressesbylabel`=
 returns a json object with the addresses as keys, instead of a list of str=
ings. |
> | `getreceivedbyaccount`  | `getreceivedbylabel`  | _no change in behavio=
r_ |
> | `listaccounts`          | `listlabels`          | `listlabels` does not=
 return a balance or accept `minconf` and `watchonly` arguments. |
> | `listreceivedbyaccount` | `listreceivedbylabel` | Both methods return n=
ew `label` fields, along with `account` fields for backward compatibility. =
|
> | `move`                  | n/a                   | _no replacement_ |
> | `sendfrom`              | n/a                   | _no replacement_ |
> | `setaccount`            | `setlabel`            | Both methods now: <ul=
><li>allow assigning labels to any address, instead of raising an error if =
the address is not receiving address.<li>delete the previous label associat=
ed with an address when the final address using that label is reassigned to=
 a different label, instead of making an implicit `getaccountaddress` call =
to ensure the previous label still has a receiving address. |
>
> | Changed Method         | Notes   |
> | :--------------------- | :------ |
> | `addmultisigaddress`   | Renamed `account` named parameter to `label`. =
Still accepts `account` for backward compatibility if running with '-deprec=
atedrpc=3Daccounts'. |
> | `getnewaddress`        | Renamed `account` named parameter to `label`. =
Still accepts `account` for backward compatibility. if running with '-depre=
catedrpc=3Daccounts' |
> | `listunspent`          | Returns new `label` fields. `account` field wi=
ll be returned for backward compatibility if running with '-deprecatedrpc=
=3Daccounts' |
> | `sendmany`             | The `account` named parameter has been renamed=
 to `dummy`. If provided, the `dummy` parameter must be set to the empty st=
ring, unless running with the `-deprecatedrpc=3Daccounts` argument (in whic=
h case functionality is unchanged). |
> | `listtransactions`     | The `account` named parameter has been renamed=
 to `dummy`. If provided, the `dummy` parameter must be set to the string `=
*`, unless running with the `-deprecatedrpc=3Daccounts` argument (in which =
case functionality is unchanged). |
> | `getbalance`           | `account`, `minconf` and `include_watchonly` p=
arameters are deprecated, and can only be used if running with '-deprecated=
rpc=3Daccounts' |
>
> BIP 174 Partially Signed Bitcoin Transactions support
> - -----------------------------------------------------
>
> [BIP 174 PSBT](https://github.com/bitcoin/bips/blob/master/bip-0174.media=
wiki) is an interchange format for Bitcoin transactions that are not fully =
signed
> yet, together with relevant metadata to help entities work towards signin=
g it.
> It is intended to simplify workflows where multiple parties need to coope=
rate to
> produce a transaction. Examples include hardware wallets, multisig setups=
, and
> [CoinJoin](https://bitcointalk.org/?topic=3D279249) transactions.
>
> ### Overall workflow
>
> Overall, the construction of a fully signed Bitcoin transaction goes thro=
ugh the
> following steps:
>
> - - A **Creator** proposes a particular transaction to be created. He con=
structs
>   a PSBT that contains certain inputs and outputs, but no additional meta=
data.
> - - For each input, an **Updater** adds information about the UTXOs being=
 spent by
>   the transaction to the PSBT.
> - - A potentially other Updater adds information about the scripts and pu=
blic keys
>   involved in each of the inputs (and possibly outputs) of the PSBT.
> - - **Signers** inspect the transaction and its metadata to decide whethe=
r they
>   agree with the transaction. They can use amount information from the UT=
XOs
>   to assess the values and fees involved. If they agree, they produce a
>   partial signature for the inputs for which they have relevant key(s).
> - - A **Finalizer** is run for each input to convert the partial signatur=
es and
>   possibly script information into a final `scriptSig` and/or `scriptWitn=
ess`.
> - - An **Extractor** produces a valid Bitcoin transaction (in network for=
mat)
>   from a PSBT for which all inputs are finalized.
>
> Generally, each of the above (excluding Creator and Extractor) will simpl=
y
> add more and more data to a particular PSBT. In a naive workflow, they al=
l have
> to operate sequentially, passing the PSBT from one to the next, until the
> Extractor can convert it to a real transaction. In order to permit parall=
el
> operation, **Combiners** can be employed which merge metadata from differ=
ent
> PSBTs for the same unsigned transaction.
>
> The names above in bold are the names of the roles defined in BIP174. The=
y're
> useful in understanding the underlying steps, but in practice, software a=
nd
> hardware implementations will typically implement multiple roles simultan=
eously.
>
> ### RPCs
>
> - - **`converttopsbt` (Creator)** is a utility RPC that converts an
>   unsigned raw transaction to PSBT format. It ignores existing signatures=
.
> - - **`createpsbt` (Creator)** is a utility RPC that takes a list of inpu=
ts and
>   outputs and converts them to a PSBT with no additional information. It =
is
>   equivalent to calling `createrawtransaction` followed by `converttopsbt=
`.
> - - **`walletcreatefundedpsbt` (Creator, Updater)** is a wallet RPC that =
creates a
>   PSBT with the specified inputs and outputs, adds additional inputs and =
change
>   to it to balance it out, and adds relevant metadata. In particular, for=
 inputs
>   that the wallet knows about (counting towards its normal or watch-only
>   balance), UTXO information will be added. For outputs and inputs with U=
TXO
>   information present, key and script information will be added which the=
 wallet
>   knows about. It is equivalent to running `createrawtransaction`, follow=
ed by
>   `fundrawtransaction`, and `converttopsbt`.
> - - **`walletprocesspsbt` (Updater, Signer, Finalizer)** is a wallet RPC =
that takes as
>   input a PSBT, adds UTXO, key, and script data to inputs and outputs tha=
t miss
>   it, and optionally signs inputs. Where possible it also finalizes the p=
artial
>   signatures.
> - - **`finalizepsbt` (Finalizer, Extractor)** is a utility RPC that final=
izes any
>   partial signatures, and if all inputs are finalized, converts the resul=
t to a
>   fully signed transaction which can be broadcast with `sendrawtransactio=
n`.
> - - **`combinepsbt` (Combiner)** is a utility RPC that implements a Combi=
ner. It
>   can be used at any point in the workflow to merge information added to
>   different versions of the same PSBT. In particular it is useful to comb=
ine the
>   output of multiple Updaters or Signers.
> - - **`decodepsbt`** is a diagnostic utility RPC which will show all info=
rmation in
>   a PSBT in human-readable form, as well as compute its eventual fee if k=
nown.
>
> Upgrading non-HD wallets to HD wallets
> - --------------------------------------
>
> Since Bitcoin Core 0.13.0, creating new BIP 32 Hierarchical Deterministic=
 wallets has been supported by Bitcoin Core but old non-HD wallets could no=
t be upgraded to HD. Now non-HD wallets can be upgraded to HD using the `-u=
pgradewallet` command line option. This upgrade will result in the all keys=
 in the keypool being marked as used and a new keypool generated. **A new b=
ackup must be made when this upgrade is performed.**
>
> Additionally, `-upgradewallet` can be used to upgraded from a non-split H=
D chain (all keys generated with `m/0'/0'/i'`) to a split HD chain (receivi=
ng keys generated with `'m/0'/0'/i'` and change keys generated with `m'/0'/=
1'/i'`). When this upgrade occurs, all keys already in the keypool will rem=
ain in the keypool to be used until all keys from before the upgrade are ex=
hausted. This is to avoid issues with backups and downgrades when some keys=
 may come from the change key keypool. Users can begin using the new split =
HD chain keypools by using the `newkeypool` RPC to mark all keys in the key=
pool as used and begin using a new keypool generated from the split HD chai=
n.
>
> HD Master key rotation
> - ----------------------
>
> A new RPC, `sethdseed`, has been introduced which allows users to set a n=
ew HD seed or set their own HD seed. This allows for a new HD seed to be us=
ed. **A new backup must be made when a new HD seed is set.**
>
> Low-level RPC changes
> - ---------------------
>
> - - The new RPC `scantxoutset` can be used to scan the UTXO set for entri=
es
>   that match certain output descriptors. Refer to the [output descriptors
>   reference documentation](doc/descriptors.md) for more details. This cal=
l
>   is similar to `listunspent` but does not use a wallet, meaning that the
>   wallet can be disabled at compile or run time. This call is experimenta=
l,
>   as such, is subject to changes or removal in future releases.
>
> - - The `createrawtransaction` RPC will now accept an array or dictionary=
 (kept for compatibility) for the `outputs` parameter. This means the order=
 of transaction outputs can be specified by the client.
> - - The `fundrawtransaction` RPC will reject the previously deprecated `r=
eserveChangeKey` option.
> - - `sendmany` now shuffles outputs to improve privacy, so any previously=
 expected behavior with regards to output ordering can no longer be relied =
upon.
> - - The new RPC `testmempoolaccept` can be used to test acceptance of a t=
ransaction to the mempool without adding it.
> - - JSON transaction decomposition now includes a `weight` field which pr=
ovides
>   the transaction's exact weight. This is included in REST /rest/tx/ and
>   /rest/block/ endpoints when in json mode. This is also included in `get=
block`
>   (with verbosity=3D2), `listsinceblock`, `listtransactions`, and
>   `getrawtransaction` RPC commands.
> - - New `fees` field introduced in `getrawmempool`, `getmempoolancestors`=
, `getmempooldescendants` and
>    `getmempoolentry` when verbosity is set to `true` with sub-fields `anc=
estor`, `base`, `modified`
>    and `descendant` denominated in BTC. This new field deprecates previou=
s fee fields, such as
>    `fee`, `modifiedfee`, `ancestorfee` and `descendantfee`.
> - - The new RPC `getzmqnotifications` returns information about active ZM=
Q
>   notifications.
> - - When bitcoin is not started with any `-wallet=3D<path>` options, the =
name of
>   the default wallet returned by `getwalletinfo` and `listwallets` RPCs i=
s
>   now the empty string `""` instead of `"wallet.dat"`. If bitcoin is star=
ted
>   with any `-wallet=3D<path>` options, there is no change in behavior, an=
d the
>   name of any wallet is just its `<path>` string.
> - - Passing an empty string (`""`) as the `address_type` parameter to
>   `getnewaddress`, `getrawchangeaddress`, `addmultisigaddress`,
>   `fundrawtransaction` RPCs is now an error. Previously, this would fall =
back
>   to using the default address type. It is still possible to pass null or=
 leave
>   the parameter unset to use the default address type.
>
> - - Bare multisig outputs to our keys are no longer automatically treated=
 as
>   incoming payments. As this feature was only available for multisig outp=
uts for
>   which you had all private keys in your wallet, there was generally no u=
se for
>   them compared to single-key schemes. Furthermore, no address format for=
 such
>   outputs is defined, and wallet software can't easily send to it. These =
outputs
>   will no longer show up in `listtransactions`, `listunspent`, or contrib=
ute to
>   your balance, unless they are explicitly watched (using `importaddress`=
 or
>   `importmulti` with hex script argument). `signrawtransaction*` also sti=
ll
>   works for them.
>
> - - The `getwalletinfo` RPC method now returns an `hdseedid` value, which=
 is always the same as the incorrectly-named `hdmasterkeyid` value. `hdmast=
erkeyid` will be removed in V0.18.
> - - The `getaddressinfo` RPC method now returns an `hdseedid` value, whic=
h is always the same as the incorrectly-named `hdmasterkeyid` value. `hdmas=
terkeyid` will be removed in V0.18.
>
> - - Parts of the `validateaddress` RPC method have been deprecated and mo=
ved to
>   `getaddressinfo`. Clients must transition to using `getaddressinfo` to =
access
>   this information before upgrading to v0.18. The following deprecated fi=
elds
>   have moved to `getaddressinfo` and will only be shown with
>   `-deprecatedrpc=3Dvalidateaddress`: `ismine`, `iswatchonly`, `script`, =
`hex`,
>   `pubkeys`, `sigsrequired`, `pubkey`, `addresses`, `embedded`, `iscompre=
ssed`,
>   `account`, `timestamp`, `hdkeypath`, `hdmasterkeyid`.
> - - `signrawtransaction` is deprecated and will be fully removed in v0.18=
. To use
>   `signrawtransaction` in v0.17, restart bitcoind with
>   `-deprecatedrpc=3Dsignrawtransaction`. Projects should transition to us=
ing
>   `signrawtransactionwithkey` and `signrawtransactionwithwallet` before
>   upgrading to v0.18.
>
> Other API changes
> - -----------------
>
> - - The `inactivehdmaster` property in the `dumpwallet` output has been c=
orrected to `inactivehdseed`
>
> ### Logging
>
> - - The log timestamp format is now ISO 8601 (e.g. "2018-02-28T12:34:56Z"=
).
>
> - - When running bitcoind with `-debug` but without `-daemon`, logging to=
 stdout
>   is now the default behavior. Setting `-printtoconsole=3D1` no longer im=
plicitly
>   disables logging to debug.log. Instead, logging to file can be explicit=
ly disabled
>   by setting `-debuglogfile=3D0`.
>
> Transaction index changes
> - -------------------------
>
> The transaction index is now built separately from the main node procedur=
e,
> meaning the `-txindex` flag can be toggled without a full reindex. If bit=
coind
> is run with `-txindex` on a node that is already partially or fully synce=
d
> without one, the transaction index will be built in the background and be=
come
> available once caught up. When switching from running `-txindex` to runni=
ng
> without the flag, the transaction index database will *not* be deleted
> automatically, meaning it could be turned back on at a later time without=
 a full
> resync.
>
> Miner block size removed
> - ------------------------
>
> The `-blockmaxsize` option for miners to limit their blocks' sizes was
> deprecated in V0.15.1, and has now been removed. Miners should use the
> `-blockmaxweight` option if they want to limit the weight of their blocks=
.
>
> Python Support
> - --------------
>
> Support for Python 2 has been discontinued for all test files and tools.
>
> 0.17.0 change log
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>
> ### Consensus
> - - #12204 `3fa24bb` Fix overly eager BIP30 bypass (morcos)
>
> ### Policy
> - - #12568 `ed6ae80` Allow dustrelayfee to be set to zero (luke-jr)
> - - #13120 `ca2a233` Treat segwit as always active (MarcoFalke)
> - - #13096 `062738c` Fix `MAX_STANDARD_TX_WEIGHT` check (jl2012)
>
> ### Mining
> - - #12693 `df529dc` Remove unused variable in SortForBlock (drewx2)
> - - #12448 `84efa9a` Interrupt block generation on shutdown request (prom=
ag)
>
> ### Block and transaction handling
> - - #12225 `67447ba` Mempool cleanups (sdaftuar)
> - - #12356 `fd65937` Fix 'mempool min fee not met' debug output (Empact)
> - - #12287 `bf3353d` Optimise lock behaviour for GuessVerificationProgres=
s() (jonasschnelli)
> - - #11889 `47a7666` Drop extra script variable in ProduceSignature (ryan=
ofsky)
> - - #11880 `d59b8d6` Stop special-casing phashBlock handling in validatio=
n for TBV (TheBlueMatt)
> - - #12431 `947c25e` Only call NotifyBlockTip when chainActive changes (j=
amesob)
> - - #12653 `534b8fa` Allow to optional specify the directory for the bloc=
ks storage (jonasschnelli)
> - - #12172 `3b62a91` Bugfix: RPC: savemempool: Don't save until LoadMempo=
ol() is finished (jtimon)
> - - #12167 `88430cb` Make segwit failure due to `CLEANSTACK` violation re=
turn a `SCRIPT_ERR_CLEANSTACK` error code (maaku)
> - - #12561 `24133b1` Check for block corruption in ConnectBlock() (sdaftu=
ar)
> - - #11617 `1b5723e` Avoid lock: Call FlushStateToDisk(=E2=80=A6) regardl=
ess of fCheckForPruning (practicalswift)
> - - #11739 `0a8b7b4` Enforce `SCRIPT_VERIFY_P2SH` and `SCRIPT_VERIFY_WITN=
ESS` from genesis (sdaftuar)
> - - #12885 `a49381d` Reduce implementation code inside CScript (sipa)
> - - #13032 `34dd1a6` Output values for "min relay fee not met" error (kri=
stapsk)
> - - #13033 `a07e8ca` Build txindex in parallel with validation (jimpo)
> - - #13080 `66cc47b` Add compile time checking for ::mempool.cs runtime l=
ocking assertions (practicalswift)
> - - #13185 `08c1caf` Bugfix: the end of a reorged chain is invalid when c=
onnect fails (sipa)
> - - #11689 `0264836` Fix missing locking in CTxMemPool::check(=E2=80=A6) =
and CTxMemPool::setSanityCheck(=E2=80=A6) (practicalswift)
> - - #13011 `3c2a41a` Cache witness hash in CTransaction (MarcoFalke)
> - - #13191 `0de7cc8` Specialized double-SHA256 with 64 byte inputs with S=
SE4.1 and AVX2 (sipa)
> - - #13243 `ea263e1` Make reusable base class for auxiliary indices (jimp=
o)
> - - #13393 `a607d23` Enable double-SHA256-for-64-byte code on 32-bit x86 =
(sipa)
> - - #13428 `caabdea` validation: check the specified number of blocks (of=
f-by-one) (kallewoof)
> - - #13438 `450055b` Improve coverage of SHA256 SelfTest code (sipa)
> - - #13431 `954f4a9` validation: count blocks correctly for check level <=
 3 (kallewoof)
> - - #13386 `3a3eabe` SHA256 implementations based on Intel SHA Extensions=
 (sipa)
> - - #11658 `9a1ad2c` During IBD, when doing pruning, prune 10% extra to a=
void pruning again soon after (luke-jr)
> - - #13794 `8ce55df` chainparams: Update with data from assumed valid cha=
in (MarcoFalke)
> - - #13527 `e7ea858` Remove promiscuousmempoolflags (MarcoFalke)
>
> ### P2P protocol and network code
> - - #12342 `eaeaa2d` Extend #11583 ("Do not make it trivial for inbound p=
eers to generate log entries") to include "version handshake timeout" messa=
ge (clemtaylor)
> - - #12218 `9a32114` Move misbehaving logging to net logging category (la=
anwj)
> - - #10387 `5c2aff8` Eventually connect to `NODE_NETWORK_LIMITED` peers (=
jonasschnelli)
> - - #9037 `a36834f` Add test-before-evict discipline to addrman (EthanHei=
lman)
> - - #12622 `e1d6e2a` Correct addrman logging (laanwj)
> - - #11962 `0a01843` add seed.bitcoin.sprovoost.nl to DNS seeds (Sjors)
> - - #12569 `23e7fe8` Increase signal-to-noise ratio in debug.log by adjus=
ting log level when logging failed non-manual connect():s (practicalswift)
> - - #12855 `c199869` Minor accumulated cleanups (tjps)
> - - #13153 `ef46c99` Add missing newlines to debug logging (laanwj)
> - - #13162 `a174702` Don't incorrectly log that REJECT messages are unkno=
wn (jnewbery)
> - - #13151 `7f4db9a` Serve blocks directly from disk when possible (laanw=
j)
> - - #13134 `70d3541` Add option `-enablebip61` to configure sending of BI=
P61 notifications (laanwj)
> - - #13532 `7209fec` Log warning when deprecated network name 'tor' is us=
ed (wodry)
> - - #13615 `172f984` Remove unused interrupt from SendMessages (fanquake)
> - - #13417 `1e90862` Tighten scope in `net_processing` (skeees)
> - - #13298 `f8d470e` Bucketing INV delays (1 bucket) for incoming connect=
ions to hide tx time (naumenkogs)
> - - #13672 `0d8d6be` Modified `in_addr6` cast in CConman class to work wi=
th msvc (sipsorcery)
> - - #11637 `c575260` Remove dead service bits code (MarcoFalke)
> - - #13212 `a6f00ce` Fixed a race condition when disabling the network (l=
manners)
> - - #13656 `1211b15` Remove the boost/algorithm/string/predicate.hpp depe=
ndency (251Labs)
> - - #13423 `f58674a` Thread safety annotations in `net_processing` (skeee=
s)
> - - #13776 `7d36237` Add missing verification of IPv6 address in CNetAddr=
::GetIn6Addr(=E2=80=A6) (practicalswift)
> - - #13907 `48bf8ff` Introduce a maximum size for locators (gmaxwell)
> - - #13951 `8a9ffec` Hardcoded seeds update pre-0.17 branch (laanwj)
>
> ### Wallet
> - - #12330 `2a30e67` Reduce scope of `cs_main` and `cs_wallet` locks in l=
isttransactions (promag)
> - - #12298 `a1ffddb` Refactor HaveKeys to early return on false result (p=
romag)
> - - #12282 `663911e` Disallow abandon of conflicted txes (MarcoFalke)
> - - #12333 `d405bee` Make CWallet::ListCoins atomic (promag)
> - - #12296 `8e6f9f4` Only fee-bump non-conflicted/non-confirmed txes (Mar=
coFalke)
> - - #11866 `6bb9c13` Do not un-mark fInMempool on wallet txn if ATMP fail=
s (TheBlueMatt)
> - - #11882 `987a809` Disable default fallbackfee on mainnet (jonasschnell=
i)
> - - #9991 `4ca7c1e` listreceivedbyaddress Filter Address (NicolasDorier)
> - - #11687 `98bc27f` External wallet files (ryanofsky)
> - - #12658 `af88094` Sanitize some wallet serialization (sipa)
> - - #9680 `6acd870` Unify CWalletTx construction (ryanofsky)
> - - #10637 `e057589` Coin Selection with Murch's algorithm (achow101, Xek=
yo)
> - - #12408 `c39dd2e` Change output type globals to members (MarcoFalke)
> - - #12694 `9552dfb` Actually disable BnB when there are preset inputs (a=
chow101)
> - - #11536 `cead84b` Rename account to label where appropriate (ryanofsky=
)
> - - #12709 `02b7e83` shuffle sendmany recipients ordering (instagibbs)
> - - #12699 `c948dc8` Shuffle transaction inputs before signing (instagibb=
s)
> - - #10762 `6d53663` Remove Wallet dependencies from init.cpp (jnewbery)
> - - #12857 `821980c` Avoid travis lint-include-guards error (ken2812221)
> - - #12702 `dab0d68` importprivkey: hint about importmulti (kallewoof)
> - - #12836 `9abdb7c` Make WalletInitInterface and DummyWalletInit private=
, fix nullptr deref (promag)
> - - #12785 `215158a` Initialize `m_last_block_processed` to nullptr (prac=
ticalswift)
> - - #12932 `8d651ae` Remove redundant lambda function arg in handleTransa=
ctionChanged (laanwj)
> - - #12749 `a84b056` feebumper: discard change outputs below discard rate=
 (instagibbs)
> - - #12892 `9b3370d` introduce 'label' API for wallet (jnewbery)
> - - #12925 `6d3de17` Logprint the start of a rescan (jonasschnelli)
> - - #12888 `39439e5` debug log number of unknown wallet records on load (=
instagibbs)
> - - #12977 `434150a` Refactor `g_wallet_init_interface` to const referenc=
e (promag)
> - - #13017 `65d7083` Add wallets management functions (promag)
> - - #12953 `d1d54ae` Deprecate accounts (jnewbery)
> - - #12909 `476cb35` Make fee settings to be non-static members (MarcoFal=
ke)
> - - #13002 `487dcbe` Do not treat bare multisig outputs as IsMine unless =
watched (sipa)
> - - #13028 `783bb64` Make vpwallets usage thread safe (promag)
> - - #12507 `2afdc29` Interrupt rescan on shutdown request (promag)
> - - #12729 `979150b` Get rid of ambiguous OutputType::NONE value (ryanofs=
ky)
> - - #13079 `5778d44` Fix rescanblockchain rpc to properly report progress=
 (Empact)
> - - #12560 `e03c0db` Upgrade path for non-HD wallets to HD (achow101)
> - - #13161 `7cc1bd3` Reset BerkeleyDB handle after connection fails (real=
-or-random)
> - - #13081 `0dec5b5` Add compile time checking for `cs_wallet` runtime lo=
cking assertions (practicalswift)
> - - #13127 `19a3a9e` Add Clang thread safety annotations for variables gu=
arded by `cs_db` (practicalswift)
> - - #10740 `4cfe17c` `loadwallet` RPC - load wallet at runtime (jnewbery)
> - - #12924 `6738813` Fix hdmaster-key / seed-key confusion (scripted diff=
) (jnewbery)
> - - #13297 `d82c5d1` Fix incorrect comment for DeriveNewSeed (jnewbery)
> - - #13063 `6378eef` Use shared pointer to retain wallet instance (promag=
)
> - - #13142 `56fe3dc` Separate IsMine from solvability (sipa)
> - - #13194 `fd96d54` Remove template matching and pseudo opcodes (sipa)
> - - #13252 `c4cc8d9` Refactor ReserveKeyFromKeyPool for safety (Empact)
> - - #13058 `343d4e4` `createwallet` RPC - create new wallet at runtime (j=
newbery)
> - - #13351 `2140f6c` Prevent segfault when sending to unspendable witness=
 (MarcoFalke)
> - - #13060 `3f0f394` Remove getlabeladdress RPC (jnewbery)
> - - #13111 `000abbb` Add unloadwallet RPC (promag)
> - - #13160 `868cf43` Unlock spent outputs (promag)
> - - #13498 `f54f373` Fixups from account API deprecation (jnewbery)
> - - #13491 `61a044a` Improve handling of INVALID in IsMine (sipa)
> - - #13425 `028b0d9` Moving final scriptSig construction from CombineSign=
atures to ProduceSignature (PSBT signer logic) (achow101)
> - - #13564 `88a15eb` loadwallet shouldn't create new wallets (jnewbery)
> - - #12944 `619cd29` ScanforWalletTransactions should mark input txns as =
dirty (instagibbs)
> - - #13630 `d6b2235` Drop unused pindexRet arg to CMerkleTx::GetDepthInMa=
inChain (Empact)
> - - #13566 `ad552a5` Fix get balance (jnewbery)
> - - #13500 `4a3e8c5` Decouple wallet version from client version (achow10=
1)
> - - #13712 `aba2e66` Fix non-determinism in ParseHDKeypath(=E2=80=A6). Av=
oid using an uninitialized variable in path calculation (practicalswift)
> - - #9662 `6b6e854` Add createwallet "disableprivatekeys" option: a sane =
mode for watchonly-wallets (jonasschnelli)
> - - #13683 `e8c7434` Introduce assertion to document the assumption that =
cache and cache_used are always set in tandem (practicalswift)
> - - #12257 `5f7575e` Use destination groups instead of coins in coin sele=
ct (kallewoof)
> - - #13773 `89a116d` Fix accidental use of the comma operator (practicals=
wift)
> - - #13805 `c88529a` Correctly limit output group size (sdaftuar)
> - - #12992 `26f59f5` Add wallet name to log messages (PierreRochard)
> - - #13667 `b81a8a5` Fix backupwallet for multiwallets (domob1812)
> - - #13657 `51c693d` assert to ensure accuracy of CMerkleTx::GetBlocksToM=
aturity (Empact)
> - - #13812 `9d86aad` sum ancestors rather than taking max in output group=
s (kallewoof)
> - - #13876 `8eb9870` Catch `filesystem_error` and raise `InitError` (Marc=
oFalke)
> - - #13808 `13d51a2` shuffle coins before grouping, where warranted (kall=
ewoof)
> - - #13666 `2115cba` Always create signatures with Low R values (achow101=
)
> - - #13917 `0333914` Additional safety checks in PSBT signer (sipa)
> - - #13968 `65e7a8b` couple of walletcreatefundedpsbt fixes (instagibbs)
> - - #14055 `2307a6e` fix walletcreatefundedpsbt deriv paths, add test (in=
stagibbs)
>
> ### RPC and other APIs
> - - #12336 `3843780` Remove deprecated rpc options (jnewbery)
> - - #12193 `5dc00f6` Consistently use UniValue.pushKV instead of push_bac=
k(Pair()) (karel-3d) (MarcoFalke)
> - - #12409 `0cc45ed` Reject deprecated reserveChangeKey in fundrawtransac=
tion (MarcoFalke)
> - - #10583 `8a98dfe` Split part of validateaddress into getaddressinfo (a=
chow101)
> - - #10579 `ffc6e48` Split signrawtransaction into wallet and non-wallet =
RPC command (achow101)
> - - #12494 `e4ffcac` Declare CMutableTransaction a struct in rawtransacti=
on.h (Empact)
> - - #12503 `0e26591` createmultisig no longer takes addresses (instagibbs=
)
> - - #12083 `228b086` Improve getchaintxstats test coverage (promag)
> - - #12479 `cd5e438` Add child transactions to getrawmempool verbose outp=
ut (conscott)
> - - #11872 `702e8b7` createrawtransaction: Accept sorted outputs (MarcoFa=
lke)
> - - #12700 `ebdf84c` Document RPC method aliasing (ryanofsky)
> - - #12727 `8ee5c7b` Remove unreachable help conditions in rpcwallet.cpp =
(lutangar)
> - - #12778 `b648974` Add username and ip logging for RPC method requests =
(GabrielDav)
> - - #12717 `ac898b6` rest: Handle utxo retrieval when ignoring the mempoo=
l (romanz)
> - - #12787 `cd99e5b` Adjust ifdef to avoid unreachable code (practicalswi=
ft)
> - - #11742 `18815b4` Add testmempoolaccept (MarcoFalke)
> - - #12942 `fefb817` Drop redundant testing of signrawtransaction prevtxs=
 args (Empact)
> - - #11200 `5f2a399` Allow for aborting rescans in the GUI (achow101)
> - - #12791 `3a8a4dc` Expose a transaction's weight via RPC (TheBlueMatt)
> - - #12436 `6e67754` Adds a functional test to validate the transaction v=
ersion number in the RPC output (251Labs)
> - - #12240 `6f8b345` Introduced a new `fees` structure that aggregates al=
l sub-field fee types denominated in BTC (mryandao)
> - - #12321 `eac067a` p2wsh and p2sh-p2wsh address in decodescript (fivepi=
ece)
> - - #13090 `17266a1` Remove Safe mode (achow101, laanwj)
> - - #12639 `7eb7076` Reduce `cs_main` lock in listunspent (promag)
> - - #10267 `7b966d9` New -includeconf argument for including external con=
figuration files (kallewoof)
> - - #10757 `b9551d3` Introduce getblockstats to plot things (jtimon)
> - - #13288 `a589f53` Remove the need to include rpc/blockchain.cpp in ord=
er to put `GetDifficulty` under test (Empact)
> - - #13394 `e1f8dce` cli: Ignore libevent warnings (theuni)
> - - #13439 `3f398d7` Avoid "duplicate" return value for invalid submitblo=
ck (TheBlueMatt)
> - - #13570 `a247594` Add new "getzmqnotifications" method (domob1812)
> - - #13072 `b25a4c2` Update createmultisig RPC to support segwit (ajtowns=
)
> - - #12196 `8fceae0` Add scantxoutset RPC method (jonasschnelli)
> - - #13557 `b654723` BIP 174 PSBT Serializations and RPCs (achow101)
> - - #13697 `f030410` Support output descriptors in scantxoutset (sipa)
> - - #13927 `bced8ea` Use pushKV in some new PSBT RPCs (domob1812)
> - - #13918 `a9c56b6` Replace median fee rate with feerate percentiles in =
getblockstats (marcinja)
> - - #13721 `9f23c16` Bugfixes for BIP 174 combining and deserialization (=
achow101)
> - - #13960 `517010e` Fix PSBT deserialization of 0-input transactions (ac=
how101)
>
> ### GUI
> - - #12416 `c997f88` Fix Windows build errors introduced in #10498 (pract=
icalswift)
> - - #11733 `e782099` Remove redundant locks (practicalswift)
> - - #12426 `bfa3911` Initialize members in WalletModel (MarcoFalke)
> - - #12489 `e117cfe` Bugfix: respect user defined configuration file (-co=
nf) in QT settings (jonasschnelli)
> - - #12421 `be263fa` navigate to  transaction history page after send (Sj=
ors)
> - - #12580 `ce56fdd` Show a transaction's virtual size in its details dia=
log (dooglus)
> - - #12501 `c8ea91a` Improved "custom fee" explanation in tooltip (randol=
f)
> - - #12616 `cff95a6` Set modal overlay hide button as default (promag)
> - - #12620 `8a43bdc` Remove TransactionTableModel::TxIDRole (promag)
> - - #12080 `56cc022` Add support to search the address book (promag)
> - - #12621 `2bac3e4` Avoid querying unnecessary model data when filtering=
 transactions (promag)
> - - #12721 `e476826` remove "new" button during receive-mode in addressbo=
ok (jonasschnelli)
> - - #12723 `310dc61` Qt5: Warning users about invalid-BIP21 URI bitcoin:/=
/ (krab)
> - - #12610 `25cf18f` Multiwallet for the GUI (jonasschnelli)
> - - #12779 `f4353da` Remove unused method setupAmountWidget(=E2=80=A6) (p=
racticalswift)
> - - #12795 `68484d6` do not truncate .dat extension for wallets in gui (i=
nstagibbs)
> - - #12870 `1d54004` make clean removes `src/qt/moc_` files (Sjors)
> - - #13055 `bdda14d` Don't log to console by default (laanwj)
> - - #13141 `57c57df` fixes broken link on readme (marcoagner)
> - - #12928 `ef006d9` Initialize non-static class members that were previo=
usly neither initialized where defined nor in constructor (practicalswift)
> - - #13158 `81c533c` Improve sendcoinsdialog readability (marcoagner)
> - - #11491 `40c34a0` Add proxy icon in statusbar (mess110)
> - - #13264 `2a7c53b` Satoshi unit (GreatSock)
> - - #13097 `e545503` Support wallets loaded dynamically (promag)
> - - #13284 `f8be434` fix visual "overflow" of amount input (brandonrninef=
ive)
> - - #13275 `a315b79` use `[default wallet]` as name for wallet with no na=
me (jonasschnelli)
> - - #13273 `3fd0c23` Qt/Bugfix: fix handling default wallet with no name =
(jonasschnelli)
> - - #13341 `25d2df2` Stop translating command line options (laanwj)
> - - #13043 `6e249e4` OptionsDialog: add prune setting (Sjors)
> - - #13506 `6579d80` load wallet in UI after possible init aborts (jonass=
chnelli)
> - - #13458 `dc53f7f` Drop qt4 support (laanwj)
> - - #13528 `b877c39` Move BitcoinGUI initializers to class, fix initializ=
er order warning (laanwj)
> - - #13536 `baf3a3a` coincontrol: Remove unused qt4 workaround (MarcoFalk=
e)
> - - #13537 `10ffca7` Peer table: Visualize inbound/outbound state for eve=
ry row (wodry)
> - - #13791 `2c14c1f` Reject dialogs if key escape is pressed (promag)
>
> ### Build system
> - - #12371 `c9ca4f6` Add gitian PGP key: akx20000 (ghost)
> - - #11966 `f4f4f51` clientversion: Use full commit hash for commit-based=
 version descriptions (luke-jr)
> - - #12417 `ae0fbf0` Upgrade `mac_alias` to 2.0.7 (droark)
> - - #12444 `1f055ef` gitian: Bump descriptors for (0.)17 (theuni)
> - - #12402 `59e032b` expat 2.2.5, ccache 3.4.1, miniupnpc 2.0.20180203 (f=
anquake)
> - - #12029 `daa84b3` Add a makefile target for Doxygen documentation (Ov3=
rlo4d)
> - - #12466 `6645eaf` Only use `D_DARWIN_C_SOURCE` when building miniupnpc=
 on darwin (fanquake)
> - - #11986 `765a3eb` zeromq 4.2.3 (fanquake)
> - - #12373 `f13d756` Add build support for profiling (murrayn)
> - - #12631 `a312e20` gitian: Alphabetize signing keys & add kallewoof key=
 (kallewoof)
> - - #12607 `29fad97` Remove ccache (fanquake)
> - - #12625 `c4219ff` biplist 1.0.3 (fanquake)
> - - #12666 `05042d3` configure: UniValue 1.0.4 is required for pushKV(, b=
ool) (luke-jr)
> - - #12678 `6324c68` Fix a few compilation issues with Clang 7 and -Werro=
r (vasild)
> - - #12692 `de6bdfd` Add configure options for various -fsanitize flags (=
eklitzke)
> - - #12901 `7e23972` Show enabled sanitizers in configure output (practic=
alswift)
> - - #12899 `3076993` macOS: Prevent Xcode 9.3 build warnings (AkioNak)
> - - #12715 `8fd6243` Add 'make clean' rule (hkjn)
> - - #13133 `a024a18` Remove python2 from configure.ac (ken2812221)
> - - #13005 `cb088b1` Make --enable-debug to pick better options (practica=
lswift)
> - - #13254 `092b366` Remove improper `qt/moc_*` cleaning glob from the ge=
neral Makefile (Empact)
> - - #13306 `f5a7733` split warnings out of CXXFLAGS (theuni)
> - - #13385 `7c7508c` Guard against accidental introduction of new Boost d=
ependencies (practicalswift)
> - - #13041 `5779dc4` Add linter checking for accidental introduction of l=
ocale dependence (practicalswift)
> - - #13408 `70a03c6` crypto: cleanup sha256 build (theuni)
> - - #13435 `cf7ca60` When build fails due to lib missing, indicate which =
one (Empact)
> - - #13445 `8eb76f3` Reset default -g -O2 flags when enable debug (ken281=
2221)
> - - #13465 `81069a7` Avoid concurrency issue when make multiple target (k=
en2812221)
> - - #13454 `45c00f8` Make sure `LC_ALL=3DC` is set in all shell scripts (=
practicalswift)
> - - #13480 `31145a3` Avoid copies in range-for loops and add a warning to=
 detect them (theuni)
> - - #13486 `66e1a08` Move rpc/util.cpp from libbitcoin-util to libbitcoin=
-server (ken2812221)
> - - #13580 `40334c7` Detect if char equals `int8_t` (ken2812221)
> - - #12788 `287e4ed` Tune wildcards for LIBSECP256K1 target (kallewoof)
> - - #13611 `b55f0c3` bugfix: Use `__cpuid_count` for gnu C to avoid gitia=
n build fail (ken2812221)
> - - #12971 `a6d14b1` Upgrade Qt to 5.9.6 (TheCharlatan)
> - - #13543 `6c6a300` Add RISC-V support (laanwj)
> - - #13177 `dcb154e` GCC-7 and glibc-2.27 back compat code (ken2812221)
> - - #13659 `90b1c7e` add missing leveldb defines (theuni)
> - - #13368 `c0f1569` Update gitian-build.sh for docker (achow101)
> - - #13171 `19d8ca5` Change gitian-descriptors to use bionic instead (ken=
2812221)
> - - #13604 `75bea05` Add depends 32-bit arm support for bitcoin-qt (TheCh=
arlatan)
> - - #13623 `9cdb19f` Migrate gitian-build.sh to python (ken2812221)
> - - #13689 `8c36432` disable Werror when building zmq (greenaddress)
> - - #13617 `cf7f9ae` release: Require macos 10.10+ (fanquake)
> - - #13750 `c883653` use MacOS friendly sed syntax in qt.mk (Sjors)
> - - #13095 `415f2bf` update `ax_boost_chrono`/`unit_test_framework` (fanq=
uake)
> - - #13732 `e8ffec6` Fix Qt's rcc determinism (Fuzzbawls)
> - - #13782 `8284f1d` Fix osslsigncode compile issue in gitian-build (ken2=
812221)
> - - #13696 `2ab7208` Add aarch64 qt depends support for cross compiling b=
itcoin-qt (TheCharlatan)
> - - #13705 `b413ba0` Add format string linter (practicalswift)
> - - #14000 `48c8459` fix qt determinism (theuni)
> - - #14018 `3e4829a` Bugfix: NSIS: Exclude `Makefile*` from docs (luke-jr=
)
> - - #12906 `048ac83` Avoid `interface` keyword to fix windows gitian buil=
d (ryanofsky)
> - - #13314 `a9b6957` Fix FreeBSD build by including utilstrencodings.h (l=
aanwj)
>
> ### Tests and QA
> - - #12252 `8d57319` Require all tests to follow naming convention (ajtow=
ns)
> - - #12295 `935eb8d` Enable flake8 warnings for all currently non-violate=
d rules (practicalswift)
> - - #11858 `b4d8549` Prepare tests for Windows (MarcoFalke)
> - - #11771 `2dbc4a4` Change invalidtxrequest to use BitcoinTestFramework =
(jnewbery)
> - - #12200 `d09968f` Bind functional test nodes to 127.0.0.1 (Sjors)
> - - #12425 `26dc2da` Add some script tests (richardkiss)
> - - #12455 `23481fa` Fix bip68 sequence test to reflect updated rpc error=
 message (Empact)
> - - #12477 `acd1e61` Plug memory leaks and stack-use-after-scope (MarcoFa=
lke)
> - - #12443 `07090c5` Move common args to bitcoin.conf (MarcoFalke)
> - - #12570 `39dcac2` Add test cases for HexStr (`std::reverse_iterator` a=
nd corner cases) (kostaz)
> - - #12582 `6012f1c` Fix ListCoins test failure due to unset `g_wallet_al=
low_fallback_fee` (ryanofsky)
> - - #12516 `7f99964` Avoid unintentional unsigned integer wraparounds in =
tests (practicalswift)
> - - #12512 `955fd23` Don't test against the mempool min fee information i=
n mempool_limit.py (Empact)
> - - #12600 `29088b1` Add a test for large tx output scripts with segwit i=
nput (richardkiss)
> - - #12627 `791c3ea` Fix some tests to work on native windows (MarcoFalke=
)
> - - #12405 `0f58d7f` travis: Full clone for git subtree check (MarcoFalke=
)
> - - #11772 `0630974` Change invalidblockrequest to use BitcoinTestFramewo=
rk (jnewbery)
> - - #12681 `1846296` Fix ComputeTimeSmart test failure with `-DDEBUG_LOCK=
ORDER` (ryanofsky)
> - - #12682 `9f04c8e` travis: Clone depth 1 unless `$check_doc` (MarcoFalk=
e)
> - - #12710 `00d1680` Append scripts to new `test_list` array to fix bad a=
ssignment (jeffrade)
> - - #12720 `872c921` Avoiding 'file' function name from python2 (jeffrade=
)
> - - #12728 `4ba3d4f` rename TestNode to TestP2PConn in tests (jnewbery)
> - - #12746 `2405ce1` Remove unused argument `max_invalid` from `check_est=
imates(=E2=80=A6)` (practicalswift)
> - - #12718 `185d484` Require exact match in `assert_start_raises_init_ero=
r` (jnewbery, MarcoFalke)
> - - #12076 `6d36f59` Use node.datadir instead of tmpdir in test framework=
 (MarcoFalke)
> - - #12772 `b43aba8` ci: Bump travis timeout for make check to 50m (jnewb=
ery)
> - - #12806 `18606eb` Fix function names in `feature_blocksdir` (MarcoFalk=
e)
> - - #12811 `0d8fc8d` Make summary row bold-red if any test failed and sho=
w failed tests at end of table (laanwj)
> - - #12790 `490644d` Use blockmaxweight where tests previously had blockm=
axsize (conscott)
> - - #11773 `f0f9732` Change `feature_block.py` to use BitcoinTestFramewor=
k (jnewbery)
> - - #12839 `40f4baf` Remove travis checkout depth (laanwj)
> - - #11817 `2a09a78` Change `feature_csv_activation.py` to use BitcoinTes=
tFramework (jnewbery)
> - - #12284 `fa5825d` Remove assigned but never used local variables. Enab=
le Travis checking for unused local variables (practicalswift)
> - - #12719 `9beded5` Add note about test suite naming convention in devel=
oper-notes.md (practicalswift)
> - - #12861 `c564424` Stop `feature_block.py` from blowing up memory (jnew=
bery)
> - - #12851 `648252e` travis: Run verify-commits only on cron jobs (MarcoF=
alke)
> - - #12853 `2106c4c` Match full plain text by default (MarcoFalke)
> - - #11818 `9a2db3b` I accidentally (deliberately) killed it (the Compari=
sonTestFramework) (jnewbery)
> - - #12766 `69310a3` Tidy up REST interface functional tests (romanz)
> - - #12849 `83c7533` Add logging in loops in `p2p_sendhears.py` (ccdle12)
> - - #12895 `d6f10b2` Add note about test suite name uniqueness requiremen=
t to developer notes (practicalswift)
> - - #12856 `27278df` Add Metaclass for BitcoinTestFramework (WillAyd)
> - - #12918 `6fc5a05` Assert on correct variable (kallewoof)
> - - #11878 `a04440f` Add Travis check for duplicate includes (practicalsw=
ift)
> - - #12917 `cf8073f` Windows fixups for functional tests (MarcoFalke)
> - - #12926 `dd1ca9e` Run unit tests in parallel (sipa)
> - - #12920 `b1fdfc1` Fix sign for expected values (kallewoof)
> - - #12947 `979f598` Wallet hd functional test speedup and clarification =
(instagibbs)
> - - #12993 `0d69921` Remove compatibility code not needed now when we're =
on Python 3 (practicalswift)
> - - #12996 `6a278e0` Remove redundant bytes(=E2=80=A6) calls (practicalsw=
ift)
> - - #12949 `6b46288` Avoid copies of CTransaction (MarcoFalke)
> - - #13007 `0d12570` Fix dangling wallet pointer in vpwallets (promag)
> - - #13048 `cac6d11` Fix `feature_block` flakiness (jnewbery)
> - - #12510 `d5b2e98` Add `rpc_bind` test to default-run tests (laanwj)
> - - #13022 `896a9d0` Attach node index to `test_node` AssertionError and =
print messages (jamesob)
> - - #13024 `018c7e5` Add rpcauth pair that generated by rpcauth.py (ken28=
12221)
> - - #13013 `a0079d4` bench: Amend `mempool_eviction` test for witness txs=
 (MarcoFalke)
> - - #13051 `e074097` Normalize executable location (MarcoFalke)
> - - #13056 `106d929` Make rpcauth.py testable and add unit tests (nixbox)
> - - #13073 `a785bc3` add rpcauth-test to `AC_CONFIG_LINKS` to fix out-of-=
tree make check (laanwj)
> - - #12830 `25ad2f7` Clarify address book error messages, add tests (jame=
sob)
> - - #13082 `24106a8` don't test against min relay fee information in `min=
ing_prioritisetransaction.py` (kristapsk)
> - - #13003 `8d045a0` Add test for orphan handling (MarcoFalke)
> - - #13105 `9e9b48d` Add --failfast option to functional test runner (jam=
esob)
> - - #13130 `3186ad4` Fix race in `rpc_deprecated.py` (jnewbery)
> - - #13136 `baf6b4e` Fix flake8 warnings in several wallet functional tes=
ts (jnewbery)
> - - #13094 `bf9b03d` Add test for 64-bit Windows PE, modify 32-bit test r=
esults (ken2812221)
> - - #13183 `9458b05` travis: New travis job for `check_docs` steps (glaks=
mono)
> - - #12265 `1834d4d` fundrawtransaction: lock watch-only shared address (=
kallewoof)
> - - #13188 `4a50ec0` Remove unused option --srcdir (MarcoFalke)
> - - #12755 `612ba35` Better stderr testing (jnewbery)
> - - #13198 `196c5a9` Avoid printing to console during cache creation (sda=
ftuar)
> - - #13075 `cb9bbf7` Remove 'account' API from wallet functional tests (j=
newbery)
> - - #13221 `ffa86af` travis: Rename the build stage `check_doc` to `lint`=
 (practicalswift)
> - - #13205 `3cbd25f` Remove spurious error log in `p2p_segwit.py` (jnewbe=
ry)
> - - #13291 `536120e` Don't include torcontrol.cpp into the test file (Emp=
act)
> - - #13281 `2ac6315` Move linters to test/lint, add readme (MarcoFalke)
> - - #13215 `f8a29ca` travis: Build tests on ubuntu 18.04 with docker (ken=
2812221)
> - - #13349 `24f7011` bench: Don't return a bool from main (laanwj)
> - - #13347 `87a9d03` travis: Skip cache for lint stage (MarcoFalke)
> - - #13355 `0b1c0c4` Fix "gmake check" under OpenBSD 6.3 (probably `*BSD`=
): Avoid using GNU grep specific regexp handling (practicalswift)
> - - #13353 `d4f6dac` Fixup setting of PATH env var (MarcoFalke)
> - - #13352 `e24bf1c` Avoid checking reject code for now (MarcoFalke)
> - - #13383 `2722a1f` bench: Use non-throwing parsedouble(=E2=80=A6) inste=
ad of throwing boost::lexical_cast<double>(=E2=80=A6) (practicalswift)
> - - #13367 `264efdc` Increase includeconf test coverage (MarcoFalke)
> - - #13404 `3d3d8ae` speed up of `tx_validationcache_tests` by reusing of=
 CTransaction (lucash-dev)
> - - #13421 `531a033` Remove `portseed_offset` from test runner (MarcoFalk=
e)
> - - #13440 `5315660` Log as utf-8 (MarcoFalke)
> - - #13066 `fa4b906` Migrate verify-commits script to python, run in trav=
is (ken2812221)
> - - #13447 `4b1edd3` travis: Increase `travis_wait` time while verifying =
commits (ken2812221)
> - - #13350 `f532d52` Add logging to provide anchor points when debugging =
p2p_sendheaders (lmanners)
> - - #13406 `4382f19` travis: Change mac goal to all deploy (ken2812221)
> - - #13457 `b222138` Drop variadic macro (MarcoFalke)
> - - #13512 `3a45493` mininode: Expose connection state through `is_connec=
ted` (MarcoFalke)
> - - #13496 `9ab4c2a` Harden lint-filenames.sh (wodry)
> - - #13219 `08516e0` bench: Add block assemble benchmark (MarcoFalke)
> - - #13530 `b1dc39d` bench: Add missing pow.h header (laanwj)
> - - #12686 `2643fa5` Add -ftrapv to CFLAGS and CXXFLAGS when --enable-deb=
ug is used. Enable -ftrapv in Travis (practicalswift)
> - - #12882 `d96bdd7` Make `test_bitcoin` pass under ThreadSanitzer (clang=
). Fix lock-order-inversion (potential deadlock) (practicalswift)
> - - #13535 `2328039` `wallet_basic`: Specify minimum required amount for =
listunspent (MarcoFalke)
> - - #13551 `c93c360` Fix incorrect documentation for test case `cuckoocac=
he_hit_rate_ok` (practicalswift)
> - - #13563 `b330f3f` bench: Simplify coinselection (promag)
> - - #13517 `a6ed99a` Remove need to handle the network thread in tests (M=
arcoFalke)
> - - #13522 `686e97a` Fix `p2p_sendheaders` race (jnewbery)
> - - #13467 `3dc2dcf` Make `p2p_segwit` easier to debug (jnewbery)
> - - #13598 `0212187` bench: Fix incorrect behaviour in prevector.cpp (Aki=
oNak)
> - - #13565 `b05ded1` Fix AreInputsStandard test to reference the proper s=
criptPubKey (Empact)
> - - #13145 `d3dae3d` Use common getPath method to create temp directory i=
n tests (winder)
> - - #13645 `2ea7eb6` skip `rpc_zmq` functional test as necessary (jamesob=
)
> - - #13626 `8f1106d` Fix some TODOs in `p2p_segwit` (MarcoFalke)
> - - #13138 `8803c91` Remove accounts from `wallet_importprunedfunds.py` (=
jnewbery)
> - - #13663 `cbc9b50` Avoid read/write to default datadir (MarcoFalke)
> - - #13682 `f8a32a3` bench: Remove unused variable (practicalswift)
> - - #13638 `6fcdb5e` Use `MAX_SCRIPT_ELEMENT_SIZE` from script.py (domob1=
812)
> - - #13687 `9d26b69` travis: Check that ~/.bitcoin is never created (Marc=
oFalke)
> - - #13715 `e1260a7` fixes mininode's P2PConnection sending messages on c=
losing transport (marcoagner)
> - - #13729 `aa9429a` travis: Avoid unnecessarily setting env variables on=
 the lint build (Empact)
> - - #13747 `ab28b5b` Skip P2PConnection's `is_closing()` check when not a=
vailable (domob1812)
> - - #13650 `7a9bca6` travis: Don't store debug info if --enable-debug is =
set (ken2812221)
> - - #13711 `f98d1e0` bench: Add benchmark for unserialize prevector (Akio=
Nak)
> - - #13771 `365384f` travis: Retry to fetch docker image (MarcoFalke)
> - - #13806 `4d550ff` Fix `bench/block_assemble` assert failure (jamesob)
> - - #13779 `d25079a` travis: Improve readability of travis.yml and log ou=
tputs (scravy)
> - - #13822 `0fb9c87` bench: Make coinselection output groups pass eligibi=
lity filter (achow101)
> - - #13247 `e83d82a` Add tests to SingleThreadedSchedulerClient() and doc=
ument the memory model (skeees)
> - - #13811 `660abc1` travis: Run `bench_bitcoin` once (MarcoFalke)
> - - #13837 `990e182` Extract `rpc_timewait` as test param (MarcoFalke)
> - - #13851 `9c4324d` fix locale for lint-shell (scravy)
> - - #13823 `489b51b` quote path in authproxy for external multiwallets (M=
arcoFalke)
> - - #13849 `2b67354` travis: Use only travis jobs: instead of mix of jobs=
+matrix (scravy)
> - - #13859 `2384323` Add emojis to `test_runner` path and wallet filename=
 (MarcoFalke)
> - - #13916 `8ac7125` `wait_for_verack` by default (MarcoFalke)
> - - #13669 `f66e1c7` Cleanup `create_transaction` implementations (consco=
tt)
> - - #13924 `09ada21` Simplify comparison in `rpc_blockchain.py` (domob181=
2)
> - - #13913 `a08533c` Remove redundant checkmempool/checkblockindex `extra=
_args` (MarcoFalke)
> - - #13915 `a04888a` Add test for max number of entries in locator (Marco=
Falke)
> - - #13867 `1b04b55` Make extended tests pass on native Windows (MarcoFal=
ke)
> - - #13944 `0df7a6c` Port usage of deprecated optparse module to argparse=
 module (Kvaciral)
> - - #13928 `b8eb0df` blocktools enforce named args for amount (MarcoFalke=
)
> - - #13054 `bffb35f` Enable automatic detection of undefined names in Pyt=
hon tests scripts. Remove wildcard imports (practicalswift)
> - - #14069 `cf3d7f9` Use assert not `BOOST_CHECK_*` from multithreaded te=
sts (skeees)
> - - #14071 `fab0fbe` Stop txindex thread before calling destructor (Marco=
Falke)
>
> ### Miscellaneous
> - - #11909 `8897135` contrib: Replace developer keys with list of pgp fin=
gerprints (MarcoFalke)
> - - #12394 `fe53d5f` gitian-builder.sh: fix --setup doc, since lxc is def=
ault (Sjors)
> - - #12468 `294a766` Add missing newline in init.cpp log message (Aesti)
> - - #12308 `dcfe218` contrib: Add support for out-of-tree builds in gen-m=
anpages.sh (laanwj)
> - - #12451 `aae64a2` Bump leveldb subtree (MarcoFalke)
> - - #12527 `d77b4a7` gitian-build.sh: fix signProg being recognized as tw=
o parameters (ken2812221)
> - - #12588 `d74b01d` utils: Remove deprecated pyzmq call from python zmq =
example (kosciej)
> - - #10271 `bc67982` Use `std::thread::hardware_concurrency`, instead of =
Boost, to determine available cores (fanquake)
> - - #12097 `14475e2` scripts: Lint-whitespace: use perl instead of grep -=
p (Sjors)
> - - #12098 `17c44b2` scripts: Lint-whitespace: add param to check last n =
commits (Sjors)
> - - #11900 `842f61a` script: Simplify checkminimalpush checks, add safety=
 assert (instagibbs)
> - - #12567 `bb98aec` util: Print timestamp strings in logs using iso 8601=
 formatting (practicalswift)
> - - #12572 `d8d9162` script: Lint-whitespace: find errors more easily (Ak=
ioNak)
> - - #10694 `ae5bcc7` Remove redundant code in MutateTxSign(CMutableTransa=
ction&, const std::string&) (practicalswift)
> - - #12659 `3d16f58` Improve Fatal LevelDB Log Messages (eklitzke)
> - - #12643 `0f0229d` util: Remove unused `sync_chain` (MarcoFalke)
> - - #12102 `7fb8fb4` Apply hardening measures in bitcoind systemd service=
 file (Flowdalic)
> - - #12652 `55f490a` bitcoin-cli: Provide a better error message when bit=
coind is not running (practicalswift)
> - - #12630 `c290508` Provide useful error message if datadir is not writa=
ble (murrayn)
> - - #11881 `624bee9` Remove Python2 support (jnewbery)
> - - #12821 `082e26c` contrib: Remove unused import string (MarcoFalke)
> - - #12829 `252c1b0` Python3 fixup (jnewbery)
> - - #12822 `ff48f62` Revert 7deba93bdc76616011a9f493cbc203d60084416f and =
fix expired-key-sigs properly (TheBlueMatt)
> - - #12820 `5e53b80` contrib: Fix check-doc script regexes (MarcoFalke)
> - - #12713 `4490871` Track negated options in the option parser (eklitzke=
)
> - - #12708 `b2e5fe8` Make verify-commits.sh test that merges are clean (s=
ipa)
> - - #12891 `3190785` logging: Add lint-logs.sh to check for newline termi=
nation (jnewbery)
> - - #12923 `a7cbe38` util: Pass `pthread_self()` to `pthread_setschedpara=
m` instead of 0 (laanwj)
> - - #12871 `fb17fae` Add shell script linting: Check for shellcheck warni=
ngs in shell scripts (practicalswift)
> - - #12970 `5df84de` logging: Bypass timestamp formatting when not loggin=
g (theuni)
> - - #12987 `fe8fa22` tests/tools: Enable additional Python flake8 rules f=
or automatic linting via Travis (practicalswift)
> - - #12972 `0782508` Add python3 script shebang lint (ken2812221)
> - - #13004 `58bbc55` Print to console by default when not run with -daemo=
n (practicalswift)
> - - #13039 `8b4081a` Add logging and error handling for file syncing (laa=
nwj)
> - - #13020 `4741ca5` Consistently log CValidationState on call failure (E=
mpact)
> - - #13031 `826acc9` Fix for utiltime to compile with msvc (sipsorcery)
> - - #13119 `81743b5` Remove script to clean up datadirs (MarcoFalke)
> - - #12954 `5a66642` util: Refactor logging code into a global object (ji=
mpo)
> - - #12769 `35eb9d6` Add systemd service to bitcoind in debian package (g=
host)
> - - #13146 `0bc980b` rpcauth: Make it possible to provide a custom passwo=
rd (laanwj)
> - - #13148 `b62b437` logging: Fix potential use-after-free in logprintstr=
(=E2=80=A6) (practicalswift)
> - - #13214 `0612d96` Enable Travis checking for two Python linting rules =
we are currently not violating (practicalswift)
> - - #13197 `6826989` util: Warn about ignored recursive -includeconf call=
s (kallewoof)
> - - #13176 `d9ebb63` Improve CRollingBloomFilter performance: replace mod=
ulus with FastMod (martinus)
> - - #13228 `d792e47` Add script to detect circular dependencies between s=
ource modules (sipa)
> - - #13320 `e08c130` Ensure gitian-build.sh uses bash (jhfrontz)
> - - #13301 `e4082d5` lint: Add linter to error on `#include <*.cpp>` (Emp=
act)
> - - #13374 `56f6936` utils and libraries: checking for bitcoin address in=
 translations (kaplanmaxe)
> - - #13230 `7c32b41` Simplify include analysis by enforcing the developer=
 guide's include syntax (practicalswift)
> - - #13450 `32bf4c6` Add linter: Enforce the source code file naming conv=
ention described in the developer notes (practicalswift)
> - - #13479 `fa2ea37` contrib: Fix cve-2018-12356 by hardening the regex (=
loganaden)
> - - #13448 `a90ca40` Add linter: Make sure we explicitly open all text fi=
les using UTF-8 encoding in Python (practicalswift)
> - - #13494 `d67eff8` Follow-up to #13454: Fix broken build by exporting `=
LC_ALL=3DC` (practicalswift)
> - - #13510 `03f3925` Scripts and tools: Obsolete #!/bin/bash shebang (Des=
Wurstes)
> - - #13577 `c9eb8d1` logging: Avoid nstart may be used uninitialized in a=
ppinitmain warning (mruddy)
> - - #13603 `453ae5e` bitcoin-tx: Stricter check for valid integers (domob=
1812)
> - - #13118 `c05c93c` RPCAuth Detection in Logs (Linrono)
> - - #13647 `4027ec1` Scripts and tools: Fix `BIND_NOW` check in security-=
check.py (conradoplg)
> - - #13692 `f5d166a` contrib: Clone core repo in gitian-build (MarcoFalke=
)
> - - #13699 `4c6d1b9` contrib: Correct version check (kallewoof)
> - - #13695 `dcc0cff` lint: Add linter for circular dependencies (Empact)
> - - #13733 `0d1ebf4` utils: Refactor argsmanager a little (AtsukiTak)
> - - #13714 `29b4ee6` contrib: Add lxc network setup for bionic host (ken2=
812221)
> - - #13764 `f8685f4` contrib: Fix test-security-check fail in ubuntu 18.0=
4 (ken2812221)
> - - #13809 `77168f7` contrib: Remove debian and rpm subfolder (MarcoFalke=
)
> - - #13799 `230652c` Ignore unknown config file options; warn instead of =
error (sipa)
> - - #13894 `df9f712` shutdown: Stop threads before resetting ptrs (MarcoF=
alke)
> - - #13925 `71dec5c` Merge leveldb subtree (MarcoFalke)
> - - #13939 `ef86f26` lint: Make format string linter understand basic tem=
plate parameter syntax (practicalswift)
> - - #14105 `eb202ea` util: Report parse errors in configuration file (laa=
nwj)
> - - #12604 `9903537` Add DynamicMemoryUsage() to CDBWrapper to estimate L=
evelDB memory use (eklitzke)
> - - #12495 `047865e` Increase LevelDB `max_open_files` (eklitzke)
> - - #12784 `e80716d` Fix bug in memory usage calculation (unintended inte=
ger division) (practicalswift)
> - - #12618 `becd8dd` Set `SCHED_BATCH` priority on the loadblk thread (ek=
litzke)
> - - #12854 `5ca1509` Add P2P, Network, and Qt categories to the desktop i=
con (luke-jr)
> - - #11862 `4366f61` Network specific conf sections (ajtowns)
> - - #13441 `4a7e64f` Prevent shared conf files from failing with differen=
t available options in different binaries (achow101)
> - - #13471 `5eca4e8` For AVX2 code, also check for AVX, XSAVE, and OS sup=
port (sipa)
> - - #13503 `c655b2c` Document FreeBSD quirk. Fix FreeBSD build: Use std::=
min<int>(=E2=80=A6) to allow for compilation under certain FreeBSD versions=
 (practicalswift)
> - - #13725 `07ce278` Fix bitcoin-cli --version (Empact)
>
> ### Documentation
> - - #12306 `216f9a4` Improvements to UNIX documentation (axvr)
> - - #12309 `895fbd7` Explain how to update chainTxData in release process=
 (laanwj)
> - - #12317 `85123be` Document method for reviewers to verify chainTxData =
(jnewbery)
> - - #12331 `d32528e` Properly alphabetize output of CLI --help option (mu=
rrayn)
> - - #12322 `c345148` Remove step making cloned repository world-writable =
for Windows build (murrayn)
> - - #12354 `b264528` add gpg key for fivepiece (fivepiece)
> - - #11761 `89005dd` initial QT documentation (Sjors)
> - - #12232 `fdc2188` Improve "Turn Windows Features On or Off" step (MCFX=
2)
> - - #12487 `4528f74` init: Remove translation for `-blockmaxsize` option =
help (laanwj)
> - - #12546 `a4a5fc7` Minor improvements to Compatibility Notes (randolf)
> - - #12434 `21e2670` dev-notes: Members should be initialized (MarcoFalke=
)
> - - #12452 `71f56da` clarified systemd installation instructions in init.=
md for Ubuntu users (DaveFromBinary)
> - - #12615 `1f93491` allow for SIGNER containing spaces (ken2812221)
> - - #12603 `85424d7` PeerLogicValidation interface (jamesob)
> - - #12581 `12ac2f0` Mention configure without wallet in FreeBSD instruct=
ions (dbolser)
> - - #12619 `8a709fb` Give hint about gitian not able to download (kallewo=
of)
> - - #12668 `de2fcaa` do update before fetching packages in WSL build guid=
e (nvercamm)
> - - #12586 `e7721e6` Update osx brew install instruction (fanquake)
> - - #12760 `7466a26` Improve documentation on standard communication chan=
nels (jimpo)
> - - #12797 `0415b1e` init: Fix help message for checkblockindex (MarcoFal=
ke)
> - - #12800 `2d97611` Add note about our preference for scoped enumeration=
s ("enum class") (practicalswift)
> - - #12798 `174d016` Refer to witness reserved value as spec. in the BIP =
(MarcoFalke)
> - - #12759 `d3908e2` Improve formatting of developer notes (eklitzke)
> - - #12877 `2b54155` Use bitcoind in Tor documentation (knoxcard)
> - - #12896 `b15485e` Fix conflicting statements about initialization in d=
eveloper notes (practicalswift)
> - - #12850 `319991d` add qrencode to brew install instructions (buddilla)
> - - #12007 `cd8e45b` Clarify the meaning of fee delta not being a fee rat=
e in prioritisetransaction RPC (honzik666)
> - - #12927 `06ead15` fixed link, replaced QT with Qt (trulex)
> - - #12852 `ebd786b` devtools: Setup ots git integration (MarcoFalke)
> - - #12933 `3cf76c2` Refine header include policy (MarcoFalke)
> - - #12951 `6df0c6c` Fix comment in FindForkInGlobalIndex (jamesob)
> - - #12982 `a63b4e3` Fix inconsistent namespace formatting guidelines (ry=
anofsky)
> - - #13026 `9b3a67e` Fix include comment in src/interfaces/wallet.h (prom=
ag)
> - - #13012 `d1e3c5e` Add comments for chainparams.h, validation.cpp (jame=
sob)
> - - #13064 `569e381` List support for BIP173 in bips.md (sipa)
> - - #12997 `646b7f6` build-windows: Switch to Artful, since Zesty is EOL =
(MarcoFalke)
> - - #12384 `c5f7efe` Add version footnote to tor.md (Willtech)
> - - #13165 `627c376` Mention good first issue list in CONTRIBUTING.md (fa=
nquake)
> - - #13295 `fb77310` Update OpenBSD build instructions for OpenBSD 6.3 (p=
racticalswift)
> - - #13340 `3a8e3f4` remove leftover check-doc documentation (fanquake)
> - - #13346 `60f0358` update bitcoin-dot-org links in release-process.md (=
fanquake)
> - - #13372 `f014933` split FreeBSD build instructions out of build-unix.m=
d (steverusso)
> - - #13366 `861de3b` Rename =E2=80=9COS X=E2=80=9D to the newer =E2=80=9C=
macOS=E2=80=9D convention (giulio92)
> - - #13369 `f8bcef3` update transifex doc link (mess110)
> - - #13312 `b22115d` Add a note about the source code filename naming con=
vention (practicalswift)
> - - #13460 `1939536` Remove note to install all boost dev packages (Marco=
Falke)
> - - #13476 `9501938` Fix incorrect shell quoting in FreeBSD build instruc=
tions (murrayn)
> - - #13402 `43fa355` Document validationinterace callback blocking deadlo=
ck potential (TheBlueMatt)
> - - #13488 `d6cf4bd` Improve readability of "Squashing commits" (wodry)
> - - #13531 `ee02deb` Clarify that mempool txiter is `const_iterator` (Mar=
coFalke)
> - - #13418 `01f9098` More precise explanation of parameter onlynet (wodry=
)
> - - #13592 `1756cb4` Modify policy to not translate command-line help (ke=
n2812221)
> - - #13588 `b77c38e` Improve doc of options addnode, connect, seednode (w=
odry)
> - - #13614 `17e9106` Update command line help for -printtoconsole and -de=
buglogfile (satwo, fanquake)
> - - #13605 `8cc048e` corrected text to reflect new(er) process of specify=
ing fingerprints (jhfrontz)
> - - #13481 `b641f60` Rewrite some validation docs as lock annotations (Ma=
rcoFalke)
> - - #13680 `30640f8` Remove outdated comment about miner ignoring CPFP (j=
amesob)
> - - #13625 `7146672` Add release notes for -printtoconsole and -debuglogf=
ile changes (satwo)
> - - #13718 `f7f574d` Specify preferred Python string formatting technique=
 (masonicboom)
> - - #12764 `10b9a81` Remove field in getblocktemplate help that has never=
 been used (conscott)
> - - #13742 `d2186b3` Adjust bitcoincore.org links (MarcoFalke)
> - - #13706 `94dd89e` Minor improvements to release-process.md (MitchellCa=
sh)
> - - #13775 `ef4fac0` Remove newlines from error message (practicalswift)
> - - #13803 `feb7dd9` add note to contributor docs about warranted PR's (k=
allewoof)
> - - #13814 `67af7ef` Add BIP174 to list of implemented BIPs (sipa)
> - - #13835 `c1cba35` Fix memory consistency model in comment (skeees)
> - - #13824 `aa30e4b` Remove outdated net comment (MarcoFalke)
> - - #13853 `317477a` correct versions in dependencies.md (fanquake)
> - - #13872 `37ab117` Reformat -help output for help2man (real-or-random)
> - - #13717 `8c3c402` Link to python style guidelines from developer notes=
 (masonicboom)
> - - #13895 `1cd5f2c` fix GetWarnings docs to reflect behavior (Empact)
> - - #13911 `3e3a50a` Revert translated string change, clarify wallet log =
messages (PierreRochard)
> - - #13908 `d6faea4` upgrade rescan time warning from minutes to >1 hour =
(masonicboom)
> - - #13905 `73a09b4` fixed bitcoin-cli -help output for help2man (hebasto=
)
> - - #14100 `2936dbc` Change documentation for =3D0 for non-boolean option=
s (laanwj)
> - - #14096 `465a583` Add reference documentation for descriptors language=
 (sipa)
> - - #12757 `0c5f67b` Clarify include guard naming convention (practicalsw=
ift)
> - - #13844 `d3325b0` Correct the help output for `-prune` (hebasto)
>
> Credits
> =3D=3D=3D=3D=3D=3D=3D
>
> Thanks to everyone who directly contributed to this release:
>
> - - 251
> - - 532479301
> - - Aaron Clauson
> - - Akio Nakamura
> - - Akira Takizawa
> - - Alex Morcos
> - - Alex Vear
> - - Alexey Ivanov
> - - Alin Rus
> - - Andrea Comand
> - - Andrew Chow
> - - Anthony Towns
> - - AtsukiTak
> - - Ben Woosley
> - - Bernhard M. Wiedemann
> - - Brandon Ruggles
> - - buddilla
> - - ccdle12
> - - Chris Moore
> - - Chun Kuan Lee
> - - Clem Taylor
> - - Conor Scott
> - - Conrado Gouvea
> - - Cory Fields
> - - Cristian Mircea Messel
> - - ctp-tsteenholdt
> - - Damian Williamson
> - - Dan Bolser
> - - Daniel Kraft
> - - Darko Jankovi=C4=87
> - - DaveFromBinary
> - - David A. Harding
> - - DesWurstes
> - - Dimitris Apostolou
> - - donaloconnor
> - - Douglas Roark
> - - DrahtBot
> - - Drew Rasmussen
> - - e0
> - - Ernest Hemingway
> - - Ethan Heilman
> - - Evan Klitzke
> - - fanquake
> - - Felix Wolfsteller
> - - fivepiece
> - - Florian Schmaus
> - - Fuzzbawls
> - - Gabriel Davidian
> - - Giulio Lombardo
> - - Gleb
> - - Grady Laksmono
> - - GreatSock
> - - Gregory Maxwell
> - - Gregory Sanders
> - - Hennadii Stepanov
> - - Henrik Jonsson
> - - Indospace.io
> - - James O'Beirne
> - - Jan =C4=8Capek
> - - Jeff Frontz
> - - Jeff Rade
> - - Jeremy Rubin
> - - JeremyRand
> - - Jesse Cohen
> - - Jim Posen
> - - joemphilips
> - - John Bampton
> - - John Newbery
> - - johnlow95
> - - Johnson Lau
> - - Jonas Nick
> - - Jonas Schnelli
> - - Jo=C3=A3o Barbosa
> - - Jorge Tim=C3=B3n
> - - Josh Hartshorn
> - - Julian Fleischer
> - - kallewoof
> - - Karel Bilek
> - - Karl-Johan Alm
> - - Ken Lee
> - - Kevin Pan
> - - Kosta Zertsekel
> - - Kristaps Kaupe
> - - Kvaciral
> - - Lawrence Nahum
> - - Linrono
> - - lmanners
> - - Loganaden Velvindron
> - - Lowell Manners
> - - lucash.dev@gmail.com
> - - Luke Dashjr
> - - lutangar
> - - Marcin Jachymiak
> - - marcoagner
> - - MarcoFalke
> - - Mark Erhardt
> - - Mark Friedenbach
> - - Martin Ankerl
> - - Mason Simon
> - - Matt Corallo
> - - Matteo Sumberaz
> - - Max Kaplan
> - - MeshCollider
> - - Micha=C5=82 Zabielski
> - - Mitchell Cash
> - - mruddy
> - - mryandao
> - - murrayn
> - - Nick Vercammen
> - - Nicolas Dorier
> - - Nikolay Mitev
> - - okayplanet
> - - Pierre Rochard
> - - Pieter Wuille
> - - practicalswift
> - - Qasim Javed
> - - Randolf Richardson
> - - Richard Kiss
> - - Roman Zeyde
> - - Russell Yanofsky
> - - Samuel B. Atwood
> - - Sebastian Kung
> - - Sjors Provoost
> - - Steve Lee
> - - steverusso
> - - Suhas Daftuar
> - - Tamas Blummer
> - - TheCharlatan
> - - Thomas Kerin
> - - Thomas Snider
> - - Tim Ruffing
> - - Varunram
> - - Vasil Dimov
> - - Will Ayd
> - - William Robinson
> - - winder
> - - Wladimir J. van der Laan
> - - wodry
>
> And to those that reported security issues:
>
> - - awemany (for CVE-2018-17144, previously credited as "anonymous report=
er")
>
> As well as everyone that helped translating on [Transifex](https://www.tr=
ansifex.com/projects/p/bitcoin/).
> -----BEGIN PGP SIGNATURE-----
>
> iQEzBAEBCgAdFiEEnerg3HBjJJ+wVHRoHkrtYphs0l0FAlu0mOwACgkQHkrtYphs
> 0l16Hwf/ZdGp2MlqTTSNLrFqXJY+8oV2wcSSqw2A6+9TSPFwnycTsQjr1yCZ3BLq
> ANyfVex2nivHgGrNsX4m28yemG8QEeoS/u8sUcRMgGz+oaN/0h7kVy2xU/lG6s9o
> qjO5NBT0ug0iOpkVnVhouNK5W50+qfTH8tSYyzr3ywtCLmQ8TZtfa/7jti0pKXIY
> DVtpmSbfjTsn0vBMHlQMPgf1Qw7Tr25klzP34Hp3YLEjQ+HlUZqm602t2GqgNgC4
> rwfHkE3erAJg+i5IsYgq8F4kJIcAMt3T+EZs21+VmcK5v6v4+G4w4K99VyyJlm/u
> hvjEe4Tzp0p5YIcXvnEJkkRc3X4xDg=3D=3D
> =3DOmK+
> -----END PGP SIGNATURE-----
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev