forked from Bertrand256/electrum-dash
-
Notifications
You must be signed in to change notification settings - Fork 8
/
RELEASE-NOTES
1460 lines (1185 loc) · 57.4 KB
/
RELEASE-NOTES
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
# Release 4.1.5.1
* trezor plugin: allow skip session clear on wallet close #292
* storage: more write attempts, write attempts GUI #293, #296
* simple_config.py: fix FEERATE_STATIC_VALUES not to be less 1000 #295
* Kivy: make the PS shield button simply start mixing #310
* PrivateSend: optionally allow ps coinchooser to spend high fees #311
* Kivy: allow switch to digits only password dialog #313
* Kivy: add "Quick Scan", "Quick Receive" to main screen #314
* Kivy: fix PrivateSend mixing progress refresh #315
* PrivateSend: add PS button icon for stopping/starting states #316
* Enable auto crash reports (copy to clipboard mode) #319
* Add PayServer HTML/JS to electrum_dash/www #321
* Qt: add warning on possible lags on HW devices #322
* PrivateSend: fix freeze coins/addresses functionality #324
* Kivy: unite Dash network static peers setttings #325
* Kivy: use popups for Tx sending/error messages #326
* Network: allow blacklist electrum servers #327
# Release 4.1.5.0
* Kivy/Android: fix paying bip70 invoices (regression) (90579ccf)
* fix: payment requests not saved if process is killed (6a049d99)
* Qt: allow restoring from SLIP39 seeds (#6917)
* Qt: rework QR code scanning on Windows and macOS (#7365)
* Qt: support smaller window sizes, decrease minimums (#7385)
* GUIs: add "funded or unused" filter option to Addresses tab (#5823)
* CLI/RPC: fix "close_wallet" command (#7348)
* Android: the binaries (APKs) prepared to be reproducible
* AppImage: fix some startup issues by including libxcb deps (#7198)
* imported wallets: when enabling the "Use change addresses" option,
change will now be sent to a random unused imported address. (#7330)
As before, by default, change is sent back to the "from address".
* seed generation: make sure newly created electrum seeds don't have
correct bip39 checksum by chance (#6001)
* other minor fixes
# Release 4.1.2.2
* wallet/kivy: fix feerate calc (float Decimal conversion) #258
* PS: fix processing of new_denoms/collateral wfls #261
* PS: do not check enough small denoms for ABS calc method #262
* network: do not stop dash_net/mn_list if not full_shutdown #263
* PS: add gathering mixing statistics #266
* Qt fix: remove BlockingWaitingDialog use, other qt fixes #268
* protx/qt: allow add MN with IP/BLS pubk found in registered MNs #269
* protx_list: MNList.reset: notify gui, clear protx_info data #270
* dash_net: rm staled [test.]dnsseed.masternode.io #271
* Enhance PS gui logging about session timeouts #272
* Kivy: fix start mixing with protected method #275
# Release 4.1.2.1
* base_wizard.py, keystore.py: add purpose48 multisig #244
* dash_ps: enhance new denoms/collateral patterns #246
* commands load_wallet: add set current for commands option #247
* dash_ps: fix _calc_total_need_val #248
* qt dip3: make wizards modeless #251
* Fix kivy: show tx type again #252
* base_wizard.py: fix choose_keystore (create seed) #253
* kivy: add network data loading progress bar, notify
when server disconnected on excessive resource usage (limits) #254
* Renew build dependencies for macOS/Win, other fixes #255
* Win builds: custom PyInstaller bootloaders to minimize
AV false-positives #256
# Release 4.1.2.0
* The wallet creation wizard no longer asks for a seed type.
* Paid invoices are removed from the lists. Invoice details can still
be accessed from the transaction history.
* Password unification (Android only): When the Android app is
started, the entered password is checked against all wallets in
the directory. If the test passes:
- all wallets are encrypted
- new wallets will use the unified password
- password updates are performed on all wallets
Whether the password is unified can be seen in the GUI: In the
'Settings' dialog, the description for the password setting is
'Change password for this wallet' if the password is not unified,
and becomes 'Change password' if password is unified.
* Android PIN reset: If the password is unified, the PIN can be reset
by providing the password.
* Android: fees have been removed from the settings dialog. Instead,
the fee slider is shown everytime an transaction will be performed.
* Block explorer: allow setting a custom URL in Qt GUI.
* fix Kivy bug with scrollbar
* fix localization issues
* Qt GUI: fix some crashes when exiting, make sure pressing
Ctrl-C always quits
* Android: use more modern application launcher/icon,
implement freezing addresses
* enhance protx code, add protx info to docs (#237)
* other minor fixes
# Release 4.0.9.4
* qt: fix do_export_history (#213)
* couple of qt style fixes (#216)
* Fix offline command backup old version on wallet upgrade (#217)
* add support to save uncompleted multisig wallets (#219)
* installwizard: show hw xpub after adding cosigner (#220)
* Add plugin scan_over_gap (#221)
* qt: add show_utxo_time config/qt option (#222)
* Split dash_ps module (#223)
* dash_ps: allow set absolute denoms count to mix (#224)
* fixes for privatesend with hw wallet (#225)
# Release 4.0.9.3
* kivy: fix history screen tx_type processing (#207)
* qt: pass InvoiceExt data to do_pay_invoice (#209)
* kivy/qt: fix tx_type handling (#210)
# Release 4.0.9.2
* qt: fix PayToEdit.parse_amount (#172)
* gui qt/kivy: add ProTx/LLMQ reset UI (#173)
* PS: separate new denoms/collateral txins by address (#175)
* qt PS Dialog: fix PS Keystore tab (#176)
* various DIP3 fixes (post 4.0.9.1) (#177)
* util.py: fix mainnet Dash.org block explorer (#180)
* paymentrequest: check network on PaymentRequest parse (#182)
* qt: fix protected_with_parent decorator (#183)
* GUI: fix send Payment msg from qt/kivy gui, do not broadcast tx
when sending Payment to Anypay (#185)
* invoices: add InvoiceExt with Dash extra data support, which
includes PrivateSend send status and DIP2 extra data/tx type (#198)
# Release 4.0.9.1
* Fix Transaction.input_script for size estimation (#166)
* Fix android startup crash (#167)
* Fix wallet._is_onchain_invoice_paid to prevent deadlocks (#168)
# Release 4.0.9.0
* fix decoding BIP21 URIs with uppercase schema (d40bedb2)
* psbt: put full derivation paths into PSBT by default (c8155129)
* invoices: allow address-reuse (#6609, #6852)
* A few other minor bugfixes.
# Release 4.0.7.0
* Dependencies: as part of adapting to new dnspython,
- python-ecdsa is no longer needed at all,
- cryptography is now required (min 2.6), the user can no
longer choose between cryptography and pycryptodomex
* Fix 'Max' button in kivy (#6169)
* Various fixes for Kivy/Android install wizard
* Fixes for recently released macOS 11 Big Sur
* user interface: some minor changes that aim to improve usability
* other minor GUI fixes
* Ledger:
- fix enumerating devices with new bitcoin app (1.5.1) (b78cbcff)
- fix compat with HW.1 (200f547a)
* Trezor One: need to use latest firmware (1.9.3) to work with
current terzorlib
* Fixed Offilne mode
* A few other minor bugfixes.
# Release 4.0.4.1
* Partially Signed Bitcoin Transactions (PSBT, BIP-174) are supported
(#5721). The previous Electrum partial transaction format is no
longer supported, i.e. this is an incompatible change. Users should
make sure that all instances of Electrum they use to co-sign or
offline sign, are updated together.
* Hardware wallets: several fixes in general; notable changes:
- Compatibility with latest Trezor fw (#6064, #6198, #5692)
* Dependencies (see README for install instructions):
- libsecp256k1 is now required (previously optional). python-ecdsa
remains a dependency but it is now only used for DNSSEC.
- Added: either one of pycryptodomex or cryptography is now required,
mainly due to LN (previously pycryptodomex was optional, for fast AES)
- Removed: jsonrpclib-pelix, the JSON-RPC library used for CLI/daemon
* Qt GUI: several changes, notably:
- Separation between output selection and transaction finalization.
- Coin selection moved to the Coins tab, and it affects all txns,
e.g. RBF fee-bumping, LN channel opens, submarine swaps.
- Editable tx preview dialog that allows e.g. changing the locktime
* Android:
- The kivy GUI now supports importing BIP39 seeds
- Each wallet on kivy now can have a separate generic password,
using which the wallet files are encrypted. An optional PIN,
shared among all wallets, can be added to get prompted for spends.
* The API of several CLI/RPC commands have changed, and several new
commands have been introduced (mainly for LN).
* Distributables:
- Apple. Min macOS version is 10.13.
* Transactions:
- we now grind low R for ECDSA signatures to match bitcoind (#5820)
* Lots and lots of other minor bugfixes and improvements.
* Hardware wallets:
- run all device communication on a dedicated thread (#6561).
This should resolve some threading issues.
* new feature: "Automated BIP39 recovery" (#6219, #6155)
When restoring from a BIP39 seed, add option to scan many known
derivation paths for history, and show them to user to choose from.
* show derivation path of keystores in Qt GUI Wallet>Information (#4700)
* fix "signtransaction" RPC command (#6502)
* Dependencies: pyaes is no longer needed (#6563)
* Ledger: fix "The derivation path is unusual" warnings (#6512)
(needs Dash app 1.4.8+ installed on device)
* Legacy masternode modules was removed since unused
# Release 3.3.8.7
* PrivateSend: support mixing on hardware wallets (using ps_keystore)
* PrivateSend: indicate waiting state (all mixed, wait for more funds)
* qt: fix exported files file mode
* qt: allow hide warning for watch-only wallet
* add "pay:" scheme to support anypayinc.com
* allow bypass Tor proxy for Fiat rates loading (option in Proxy settings)
* protx_list: enhance network data processing
* other qt gui fixes
# Release 3.3.8.6
* PrivateSend: allow start mixing before llmq/protx ready,
stop mixing only if keep amount is available on ps balance
* Enhance "Detect Tor proxy on wallet startup" option behaviour/UI
* DIP3 masternodes: support collateral in ProRegTx output (p2sh addresses
support), other fixes
* Remove legacy masternodes commands from commands.py
* Add UI to handle Other PS coins
* Add separate ps_keystore for PrivateSend operation
* Other fixes
# Release 3.3.8.5
* PrivateSend: Check on small amount of minimal denoms and propose
to make new small denoms tx from single larger denom (no change)
* PrivateSend: fixes related to keypairs cleanup, fix PS balance when
other ps coins is presented
* PrivateSend: block receiving GUI during mixing to prevent
interfering with addresses reserved for PS use
* Android: add button to start Orbot on wallet startup if Tor is not
detected, fix versionCode for arm64-v8a apk
# Release 3.3.8.4
* Trezor/KeepKey plugins: fix signing of CbTx outputs
* Disable PrivateSend and PrivateSend UI for HW wallets (unsupported),
allow mixing amounts below keep amount, other PS fixses
* android receive screen: copy address instead Payment Request if
amount is not set
* add PPA for Focal Fossa (Ubuntu 20.04), android arm64-v8a apk build
* update Tor Proxy in win builds to 0.4.2.6
# Release 3.3.8.3
* add Dash PrivateSend support (qt/kivy gui supported)
* update ecdsa version to 0.14.1
* some Dash P2P network related code/gui fixes
* fix islocks handling
* some ProTx masternodes related code/gui fixes, gather protx
info masternodes data and save to local file (protx_info.gz)
* some kivy gui fixes
* add new servers to servers.json, servers_testnet.json
# Release 3.3.8.2
* fix wallet locking during verification of DIP3 transactions
* add qt console password locking for SW wallets
# Release 3.3.8.1
* fix extra_payload output in Commands.deserialize
* other small fixes
# Release 3.3.8
* appimage: URLs could not be opened on some desktop environments (#5425)
* add Dash P2P Network for InstantSend support (dash_net, dash_peer,
dash_msg modules, qt/kivy gui)
* add InstantSend support (wallet/stdio/text/qt/kivy)
* refactor ProTx support (stores ProTX MNs and LLMQ lists in file)
* refresh checkpoints, use gzipped checkpoints, add testnet checkpoints
* fix fonts bluring on macOS retina
* fix android install wizard back button behavior
* A few other minor bugfixes and usability improvements.
# Release 3.3.7
* CoinChooser improvements:
- more likely to construct txs without change (when possible)
- less likely to construct txs with really small change
- will now only spend negative effective value coins when
beneficial for privacy
* fix long-standing bug that broke wallets with >65k addresses (#5366)
* Android: (fix) BIP70 payment requests could not be paid (#5376)
* Android: allow copy-pasting partial transactions from/to clipboard
* Fix a performance regression for large wallets
* Qt: fix some high DPI issues related to text fields
* Trezor:
- allow bypassing "too old firmware" error (#5391)
- use only the Bridge to scan devices if it is available (#5420)
* hw wallets: (known issue) on Win10-1903, some hw devices
(that also have U2F functionality) can only be detected with
Administrator privileges. (see #5420 and #5437)
A workaround is to run as Admin, or for Trezor to install the Bridge.
* Several other minor bugfixes and usability improvements.
# Release 3.3.6
* fix synchronizer not to keep resubscribing to addresses of
already closed wallets (e415c0d9)
* fix removing addresses/keys from imported wallets (#4481)
* kivy: fix rare crash when changing exchange rate settings (#5329)
* A few other minor bugfixes and usability improvements.
# Release 3.3.5
* The logging system has been overhauled (#5296).
Logs can now also optionally be written to disk, disabled by default.
* Fix a bug in synchronizer (#5122) where client could get stuck.
Also, show the progress of history sync in the GUI. (#5319)
* fix Revealer in Windows and MacOS binaries (#5027)
* fiat rate providers:
- added CoinGecko.com and CoinCap.io
- BitcoinAverage now only provides historical exchange rates for
paying customers. Changed default provider to CoinGecko.com (#5188)
* hardware wallets:
- Ledger: Nano X is now recognized (#5140)
- KeepKey:
- device was not getting detected using Windows binary (#5165)
- support firmware 6.0.0+ (#5205)
- Trezor: implemented "seedless" mode (#5118)
* Coin Control in Qt: implemented freezing individual UTXOs
in addition to freezing addresses (#5152)
* Kivy:
- fix bug with local transactions (#5156)
- allow selecting fiat rate providers without historical data (#5162)
* Testnet: there is now a warning when the client is started in
testnet mode as there were a number of reports of users getting
scammed through social engineering (#5295)
* CoinChooser: performance of creating transactions has been improved
significantly for large wallets. (d56917f4)
* Importing/sweeping WIF keys: stricter checks (#4638, #5290)
* Electrum protocol: the client's "user agent" has been changed from
"3.3.5" to "dash-electrum/3.3.5". Other libraries connecting to servers
can consider not "spoofing" to be Dash Electrum. (#5246)
* Several other minor bugfixes and usability improvements.
# Release 3.3.4
* AppImage: we now also distribute self-contained binaries for x86_64
Linux in the form of an AppImage (#5042). The Python interpreter,
PyQt5, libsecp256k1, PyCryptodomex, zbar, hidapi/libusb (including
hardware wallet libraries) are all bundled. Note that users of
hw wallets still need to set udev rules themselves.
* hw wallets: fix a regression during transaction signing that prompts
the user too many times for confirmations (commit 2729909)
* transactions now set nVersion to 2, to mimic Bitcoin Core
* fix Qt bug that made all hw wallets unusable on Windows 8.1 (#4960)
* fix bugs in wallet creation wizard that resulted in corrupted
wallets being created in rare cases (#5082, #5057)
* fix compatibility with Qt 5.12 (#5109)
* hardware wallets: the Hideez Wallet is now supported
* enhance ProTx mangager functionality, import/export DIP3 MNs
# Release 3.3.3
* Do not expose users to server error messages (#4968)
* Notify users of new releases. Release announcements must be signed,
and they are verified using a hardcoded Dash address.
* Hardware wallet fixes (#4991, #4993, #5006)
* Display only QR code in QRcode Window
* Randomise locktime of transactions
# Release 3.3.2
* Fix Qt history export bug
* Improve network timeouts
* Prepend server transaction_broadcast error messages with
explanatory message. Render error messages as plain text.
# Release 3.3.1
* Qt: Fix invoices tab crash (#4941)
* Android: Minor GUI improvements
# Release 3.3.0 - Hodler's Edition
* The network layer has been rewritten using asyncio and aiorpcx.
In addition to easier maintenance, this makes the client
more robust against misbehaving servers.
* The minimum python version was increased to 3.6
* The blockchain headers and fork handling logic has been generalized.
Clients by default now follow chain based on most work, not length.
* MacOS: support QR code scanner in binaries.
* Android APK:
- build using Google NDK instead of Crystax NDK
- target API 28
- do not use external storage (previously for block headers)
* hardware wallets:
- Archos Safe-T mini: fix #4726 signing issue
- Trezor: refactoring and compat with python-trezor 0.11
- Digital BitBox: support firmware v5.0.0
* fix bitcoin URI handling when app already running (#4796)
* Qt listings rewritten:
the History tab now uses QAbstractItemModel, the other tabs use
QStandardItemModel. Performance should be better for large wallets.
* Several other minor bugfixes and usability improvements.
# Release 3.2.5.1
* ledger plugin: fix signing transactions with DIP2 inputs (CbTx)
* merge fresh fr_FR translations
# Release 3.2.5
* Enhance support of DIP2 (send v3 transactions with extra payload
supplied via send tab, show extra payload info in tx dialog).
* Display DIP2 tx type in transaction history list (enabled in
appearance preferences).
* Support of DIP3 masternodes (new masternode manager and UI placed
in DIP3 tab, import legacy masternodes from wallet or conf file).
* Fix stdio and text wallet gui.
* Switch to electrum protocol 1.4, ElectrumX>=1.9.1 recommended to
support DIP3 electrum protocol methods.
* Switch mainnet block explorer to insight.dash.org.
# Release 3.2.4 (Security update)
* backport anti-phishing measures from master
# Release 3.2.3.2
* Support of DIP2 special tx
* Fix Kivy SettingsItem layout for small screens
* Fix Testnet blockexplorer URI
# Release 3.2.3.1
* Rename to Dash-Electrum
* Add "Use Tor Proxy on startup" option, add Tor Proxy setup to Win builds,
add docs to setup Tor Proxy on other platforms. Warning if run without Tor.
# Release 3.2.3
* hardware wallet: the Safe-T mini from Archos is now supported.
* BIP39 seeds: if a seed extension (aka passphrase) contained
multiple consecutive whitespaces or leading/trailing whitespaces
then the derived addresses were not following spec. This has been
fixed, and affected should move their coins. The wizard will show a
warning in this case. (#4566)
* Revealer: the PRNG used has been changed (#4649)
* fix Linux distributables: 'typing' was not bundled, needed for python 3.4
* fix #4491: on Android, if user had set "uDASH" as base unit, app crashed
* fix #4497: on Android, paying bip70 invoices from cold start did not work
* Several other minor bugfixes and usability improvements.
# Release 3.2.2.1
* PPA built with libsecp256k1-0, python3-pycryptodome dependencies
* Added dark theme
* Fix ecc_fast.py for win64
* Fix vcrun2015 in win64 builds
# Release 3.2.2
* Fix DNS resolution on Windows
* Fix websocket bug in daemon
# Release 3.2.1
* fix Windows binaries: due to build process changes, the locale files
were not included; the language could not be changed from English
* fix Linux distributables: wordlists were not included (#4475)
# Release 3.2.0
* If present, libsecp256k1 is used to speed up elliptic curve
operations. The library is bundled in the Windows, MacOS, and
Android binaries. On Linux, it needs to be installed separately.
* Two-factor authentication is available on Android. Note that this
will only provide additional security if one time passwords are
generated on a separate device.
* Semi-automated crash reporting is implemented for Android.
* Transactions that are dropped from the mempool are kept in the
wallet as 'local', and can be rebroadcast. Previously these
transactions were deleted from the wallet.
* The scriptSig part of transaction inputs are no longer
parsed, unless actually needed. The wallet will no longer display
'from' addresses corresponding to transaction inputs, except for
its own inputs.
* The partial transaction format has been incompatibly changed. This
was needed as for partial transactions the scriptSig has to
be parsed, but for signed transactions we did not want to do the
parsing. Users should make sure that all instances of Electrum
they use to co-sign or offline sign, are updated together.
* Signing of partial transactions created with online imported
addresses wallets now supports significantly more
setups. Previously only online p2pkh address + offline WIF was
supported. Now the following setups are all supported:
- online p2pkh address + offline WIF,
- online p2pkh address + offline seed/xprv,
- online p2sh-multisig address + offline seeds/xprvs
(potentially distributed among several different machines)
Note that for the online address + offline HD secret case, you need
the offline wallet to recognize the address (i.e. within gap
limit). Having an xpub on the online machine is still the
recommended setup, as this allows the online machine to generate
new addresses on demand.
* Added Revealer plugin. ( https://revealer.cc ) Revealer is a seed
phrase back-up solution. It allows you to create a cold, analog,
multi-factor backup of your wallet seeds, or of any arbitrary
secret. The Revealer utilizes a transparent plastic visual one time
pad.
* Hardware wallets: a "show address" button is now displayed in the
Receive tab of the Qt GUI. (#4316)
* Trezor One: implemented advanced/matrix recovery (#4329)
* Qt/Kivy: added "duff" as optional base unit.
* Kivy GUI: significant performance improvements when displaying
history and address list of large wallets; and transaction dialog
of large transactions.
* Windows: use dnspython to resolve dns instead of socket.getaddrinfo
(#4422)
* Importing minikeys: use uncompressed pubkey instead of compressed
(#4384)
* SPV proofs: check inner nodes not to be valid transactions (#4436)
* Several other minor bugfixes and usability improvements.
# Release 3.1.3
* Qt GUI: seed word auto-complete during restore
* Android: fix some crashes
* performance improvements (wallet, and Qt GUI)
* hardware wallets: show debug message during device scan
* add regtest support (via --regtest flag)
* other minor bugfixes and usability improvements
# Release 3.1.2
* Kivy/android: request PIN on startup
* Fix various bugs with hardware wallets
* Other minor bugfixes
# Release 3.1.1
* fix #4031: Trezor T support
* partial fix #4060: proxy and hardware wallet can't be used together
* fix #4039: can't set address labels
* fix crash related to coinbase transactions
* MacOS: use internal graphics card
* fix openalias related crashes
* speed-up capital gains calculations
* hw wallet encryption: re-prompt for passphrase if incorrect
* other minor fixes.
# Release 3.1.0
* Capital gains: For each outgoing transaction, the difference
between the acquisition and liquidation prices of outgoing coins is
displayed in the wallet history. By default, historical exchange
rates are used to compute acquisition and liquidation prices. These
values can also be entered manually, in order to match the actual
price realized by the user. The order of liquidation of coins is
the natural order defined by the blockchain; this results in
capital gain values that are invariant to changes in the set of
addresses that are in the wallet. Any other ordering strategy (such
as FIFO, LIFO) would result in capital gain values that depend on
the presence of other addresses in the wallet.
* Local transactions: Transactions can be saved in the wallet without
being broadcast. The inputs of local transactions are considered as
spent, and their change outputs can be re-used in subsequent
transactions. This can be combined with cold storage, in order to
create several transactions before broadcasting them. Outgoing
transactions that have been removed from the memory pool are also
saved in the wallet, and can be broadcast again.
* Checkpoints: The initial download of a headers file was replaced
with hardcoded checkpoints. The wallet uses one checkpoint per
retargeting period. The headers for a retargeting period are
downloaded only if transactions need to be verified in this period.
* The 'privacy' and 'priority' coin selection policies have been
merged into one. Previously, the 'privacy' policy has been unusable
because it was was not prioritizing confirmed coins. The new policy
is similar to 'privacy', except that it de-prioritizes addresses
that have unconfirmed coins.
* The 'Send' tab of the Qt GUI displays how transaction fees are
computed from transaction size.
* The wallet history can be filtered by time interval.
* Watching-only wallets and hardware wallets can be encrypted.
* Semi-automated crash reporting
* The SSL checkbox option was removed from the GUI.
* The Trezor T hardware wallet is now supported.
* Windows: the binaries now include ZBar, and QR code scanning should work.
* The Wallet Import Format (WIF) for private keys that was extended in 3.0
is changed. Keys in the previous format can be imported, compatibility
is maintained. Newly exported keys will be serialized as
"script_type:original_wif_format_key".
* A new version of the Electrum protocol is required by the client
(version 1.2). Servers using older versions of the protocol will
not be displayed in the GUI.
# Release 3.0.6.4 :
* Fix amount fields width
* Fix SendFrom/InvoiceList/RequestList CSS
# Release 3.0.6.3 :
* Fix bip44_derivation call
* Refresh DASH logo
# Release 3.0.6.2 :
* Fix ledger plugin to python3
* Fix QComboBox CSS
# Release 3.0.6.1 :
* Build with locale
* Android build
# Release 3.0.6 :
* Integrate changes from Electrum-3.0.6
# Release 3.0.5 : (Security update)
This is a follow-up to the 3.0.4 release, which did not completely fix
issue #3374. Users should upgrade to 3.0.5.
* The JSONRPC interface is password protected
* JSONRPC commands are disabled if the GUI is running, except 'ping',
which is used to determine if a GUI is already running
# Release 3.0.4 : (Security update)
* Fix a vulnerability caused by Cross-Origin Resource Sharing (CORS)
in the JSONRPC interface. Previous versions of Electrum are
vulnerable to port scanning and deanonimization attacks from
malicious websites. Wallets that are not password-protected are
vulnerable to theft.
* Bundle QR scanner with Android app
* Minor bug fixes
# Release 3.0.3
* Qt GUI: sweeping now uses the Send tab, allowing fees to be set
* Windows: if using the installer binary, there is now a separate shortcut
for "Electrum Testnet"
* OS notifications for incoming transactions
* better transaction size estimation:
- some multisig txns were underestimated
- handle uncompressed pubkeys
* fix #3321: testnet for Windows binaries
* fix #3264: Ledger/dbb signing on some platforms
* fix #3407: KeepKey sending to p2sh output
* other minor fixes and usability improvements
# Release 3.0.2
* Android: replace requests tab with address tab, with access to
private keys
* sweeping minikeys: search for both compressed and uncompressed
pubkeys
* fix wizard crash when attempting to reset Google Authenticator
* fix #3262: fix SSL payment request signing
* other minor fixes.
# Release 3.0.1
* minor bug and usability fixes
# Release 3.0 - Uncanny Valley (November 1st, 2017)
* The project was migrated to Python3 and Qt5. Python2 is no longer
supported. If you cloned the source repository, you will need to
run "python3 setup.py install" in order to install the new
dependencies.
* A new version of the Electrum protocol is required by the client
(version 1.1). Servers using older versions of the protocol will
not be displayed in the GUI.
* By default, transactions are time-locked to the height of the
current block. Other values of locktime may be passed using the
command line.
# Release 2.9.4 (security update)
* Incorporate electrum 2.9.4 changes
# Release 2.9.3.2 (Security update)
* The JSONRPC interface is password protected
* JSONRPC commands are disabled if the GUI is running, except 'ping',
which is used to determine if a GUI is already running
* Fix hardware wallets supoort for Windows/OSX builds
# Release 2.9.3.1 (Security update)
* Fix a vulnerability caused by Cross-Origin Resource Sharing (CORS)
in the JSONRPC interface. Previous versions of Electrum are
vulnerable to port scanning and deanonimization attacks from
malicious websites. Wallets that are not password-protected are
vulnerable to theft.
# Release 2.9.3
* fix configuration file issue #2719
* disable 'spend confirmed only' option by default
# Release 2.9.2
* force headers download if headers file is corrupted
* add websocket to windows builds
# Release 2.9.1
* fix initial headers download
* validate contacts on import
* command-line option for locktime
# Release 2.9 - Independence (July 27th, 2017)
* Multiple Chain Validation: Electrum will download and validate
block headers sent by servers that may follow different branches
of a fork in the Bitcoin blockchain. Instead of a linear sequence,
block headers are organized in a tree structure. Branching points
are located efficiently using binary search. The purpose of MCV is
to detect and handle blockchain forks that are invisible to the
classical SPV model.
* The desired branch of a blockchain fork can be selected using the
network dialog. Branches are identified by the hash and height of
the diverging block.
* Multibit support: If the user enters a BIP39 seed (or uses a
hardware wallet), the full derivation path is configurable in the
install wizard.
* Option to send only confirmed coins
* Qt GUI:
- Network dialog uses tabs and gets updated by network events.
- The gui tabs use icons
* Kivy GUI:
- separation between network dialog and wallet settings dialog.
- option for manual server entry
- proxy configuration
* Daemon: The wallet password can be passed as parameter to the
JSONRPC API.
* Various other bugfixes and improvements.
# Release 2.8.3
* Fix crash on reading older wallet formats.
* TrustedCoin: remove pay-per-tx option
# Release 2.8.2
* show paid invoices in history tab
* fixes for trezor, keepkey
* other minor bugfixes
# Release 2.8.1
* fix Digital Bitbox plugin
* fix daemon jsonrpc
* fix trustedcoin wallet creation
* other minor bugfixes
# Release 2.8.0 (March 9, 2017)
* Wallet file encryption using ECIES: A keypair is derived from the
wallet password. Once the wallet is decrypted, only the public key
is retained in memory, in order to save the encrypted file.
* The daemon requires wallets to be explicitly loaded before
commands can use them. Wallets can be loaded using: 'electrum
daemon load_wallet [-w path]'. This command will require a
password if the wallet is encrypted.
* Invoices and contacts are stored in the wallet file and are no
longer shared between wallets. Previously created invoices and
contacts files may be imported from the menu.
* Fees improvements:
- Dynamic fees are enabled by default.
* Support for Digital Bitbox hardware wallet.
* The GUI shows a blue icon when connected using a proxy.
# Release 2.7.18
* enforce https on exchange rate APIs
* use hardcoded list of exchanges
* move 'Freeze' menu to Coins (utxo) tab
* various bugfixes
# Release 2.7.17
* fix a few minor regressions in the Qt GUI
# Release 2.7.16
* add Testnet support (fix #541)
* allow daemon to be launched in the foreground (fix #1873)
* Qt: use separate tabs for addresses and UTXOs
* Qt: update fee slider with a network callback
* Ledger: new ui and mobile 2fa validation (neocogent)
# Release 2.7.15
* Use fee slider for both static and dynamic fees.
* Simplify fee preferences.
* Critical: Fix password update issue (#2097). This bug prevents
password updates in multisig and 2FA wallets. It may also cause
wallet corruption if the wallet contains several master private
keys (such as 2FA wallets that have been restored from
seed). Affected wallets will need to be restored again.
# Release 2.7.14
* Merge exchange_rate plugin with main code
* Faster synchronization and transaction creation
* Fix bugs #2096, #2016
# Release 2.7.13
* fix message signing with imported keys
* add size to transaction details window
* move plot plugin to main code
* minor bugfixes
# Release 2.7.12
various bugfixes
# Release 2.7.11
* fix offline signing (issue #195)
* fix android crashes caused by threads
# Release 2.7.10
* various fixes for hardware wallets
* separate sign and broadcast buttons in Qt tx dialog
* allow spaces in private keys
# Release 2.7.9
* Fix a bug with the ordering of pubkeys in recent multisig wallets.
Affected wallets will regenerate their public keys when opened for
the first time. This bug does not affect address generation.
* Fix hardware wallet issues #1975, #1976
# Release 2.7.8
* Fix crash when parsing request (issue #1969)
# Release 2.7.7
* Fix utf8 encoding bug with old wallet seeds (issue #1967)
* Fix delete request from menu (issue #1968)
# Release 2.7.6
* Fixes a critical bug with imported private keys (issue #1966). Keys
imported in Electrum 2.7.x were not encrypted, even if the wallet
had a password. If you imported private keys using Electrum 2.7.x,
you will need to import those keys again. If you imported keys in
2.6 and converted with 2.7.x, you don't need to do anything, but
you still need to upgrade in order to be able to spend.
* Wizard: Hide seed options in a popup dialog.
# Release 2.7.5
* Add number of confirmations to request status. (issue #1757)
* In the GUI, refer to passphrase as 'seed extension'.
* Fix bug with utf8 encoded passphrases.
* Kivy wizard: add a dialog for seed options.
* Kivy wizard: add current word to suggestions, because some users
don't see the space key.
# Release 2.7.4
* Fix private key import in wizard
* Fix Ledger display (issue #1961)
* Fix old watching-only wallets (issue #1959)
* Fix Android compatibility (issue #1947)
# Release 2.7.3
* fix Trezor and Keepkey support in Windows builds
* fix sweep private key dialog
* minor fixes: #1958, #1959
# Release 2.7.2
* fix bug in password update (issue #1954)
* fix fee slider (issue #1953)
# Release 2.7.1
* fix wizard crash with old seeds
* fix issue #1948: fee slider
# Release 2.7.0 (Oct 2 2016)
* The wallet file format has been upgraded. This upgrade is not
backward compatible, which means that a wallet upgraded to the 2.7
format will not be readable by earlier versions of
Electrum. Multiple accounts inside the same wallet are not
supported in the new format; the Qt GUI will propose to split any
wallet that has several accounts. Make sure that you have saved
your seed phrase before you upgrade Electrum.
* This version introduces a separation between wallets types and
keystores types. 'Wallet type' defines the type of Bitcoin contract
used in the wallet, while 'keystore type' refers to the method used
to store private keys. Therefore, so-called 'hardware wallets' will
be referred to as 'hardware keystores'.
* Hardware keystores:
- The Ledger Nano S is supported.
- Hardware keystores can be used as cosigners in multi-signature
wallets.
- Multiple hardware cosigners can be used in the same multisig
wallet. One icon per keystore is displayed in the satus bar. Each
connected device will co-sign the transaction.
* Dynamic fees: Dynamic fees are enabled by default. A slider allows
the user to select the expected confirmation time of their
transaction. The expected confirmation times of incoming
transactions is also displayed in the history.
* The install wizards of Qt and Kivy have been unified.
* Qt GUI (Desktop):
- A fee slider is visible in the in send tab
- The Address tab is hidden by default, can be shown with Ctrl-A
- UTXOs are displayed in the Address tab
* Kivy GUI (Android):
- The GUI displays the complete transaction history.
- Multisig wallets are supported.
- Wallets can be created and deleted in the GUI.
* Seed phrases can be extended with a user-chosen passphrase. The
length of seed phrases is standardized to 12 words, using 132 bits
of entropy (including 2FA seeds). In the wizard, the type of the
seed is displayed in the seed input dialog.
* TrustedCoin users can request a reset of their Google Authenticator
account, if they still have their seed.
# Release 2.6.4 (bugfixes)
* fix coinchooser bug (#1703)
* fix daemon JSONRPC (#1731)
* fix command-line broadcast (#1728)
* QT: add colors to labels
# Release 2.6.3 (bugfixes)
* fix command line parsing of transactions
* fix signtransaction --privkey (#1715)
# Release 2.6.2 (bugfixes)
* fix Trustedcoin restore from seed (bug #1704)
* small improvements to kivy GUI
# Release 2.6.1 (bugfixes)
* fix broadcast command (bug #1688)
* fix tx dialog (bug #1690)
* kivy: support old-type seed phrases in wizard
# Release 2.6
* The source code is relicensed under the MIT Licence
* First official release of the Kivy GUI, with android APK
* The old 'android' and 'gtk' GUIs are deprecated
* Separation between plugins and GUIs
* The command line uses jsonrpc to communicate with the daemon
* New command: 'notify <address> <url>'
* Alternative coin selection policy, designed to help preserve user
privacy. Enable it by setting the Coin Selection preference to
Privacy.
* The install wizard has been rewritten and improved
* Support minikeys as used in Casascius coins for private key import
and sweeping
* Much improved support for TREZOR and KeepKey devices:
- full device information display
- initialize a new or wiped device in 4 ways:
1) device generates a new wallet
2) you enter a seed
3) you enter a BIP39 mnemonic to generate the seed
4) you enter a master private key
- KeepKey secure seed recovery (KeepKey only)
- change / set / disable PIN
- set homescreen (TREZOR only)
- set a session timeout. Once a session has timed out, further use
of the device requires your PIN and passhphrase to be re-entered
- enable / disable passphrases
- device wipe
- multiple device support
# Release 2.5.4
* increase MIN_RELAY_TX_FEE to avoid dust transactions
# Release 2.5.3 (bugfixes)
* installwizard: do not allow direct copy-paste of the seed
* installwizard: fix bug #1531 (starting offline)
# Release 2.5.2 (bugfixes)
* fix bug #1513 (client tries to broadcast transaction while not connected)
* fix synchronization bug (#1520)
* fix command line bug (#1494)
* fixes for exchange rate plugin
# Release 2.5.1 (bugfixes)
* signatures in transactions were still using the old class
* make sure that setup.py uses python2