0% found this document useful (0 votes)
24 views23 pages

Electron Radiant: Bitcoin Cash Wallet Guide

This document provides release notes and usage instructions for Electron Radiant, a Bitcoin Cash wallet based on Electrum. It details changes made for Bitcoin Cash compatibility and support, as well as updates for new features and bug fixes across multiple releases.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views23 pages

Electron Radiant: Bitcoin Cash Wallet Guide

This document provides release notes and usage instructions for Electron Radiant, a Bitcoin Cash wallet based on Electrum. It details changes made for Bitcoin Cash compatibility and support, as well as updates for new features and bug fixes across multiple releases.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

Electron Radiant is a fork of the open source Electron-Cash Bitcoin Cash Wallet and

Electrum Bitcoin wallet ([Link]) for Radiant (RADN) Blockchain. The


current
release is based on the Electrum 2.9.0 codebase with patches to

- handle Bitcoin Cash difficulty adjustment algorithm


- sign transactions the Bitcoin Cash way
- updated list of electrum servers
- updated icons and branding
- remove RBF (unsupported by Bitcoin Cash network nodes)
- use different directory for wallets and configuration

The Electron Radiant software is NOT affiliated, associated, or endorsed by


Electrum, [Link] or the Electrum
developers.

If you are concerned about running Electron Radiant binaries we recommend


installing and/or running it from the github
source directly.

Usage
-----

When you first run Electron Radiant it will use a different configuration directory
to Electrum. On Unix it is
".electron-radiant", and on Windows/MacOS it is "ElectronRadiant". Your wallet
files will be copied from the Electrum
cofiguration directory (".electrum" on unix, "Electrum" on Windows/MacOS), if
found. Initially transactions will show
up as unverified because Electron Radiant is downloading the blockchain headers to
verify the transactions. This can take
up to 10 minutes, but is only done once.

Ensure you are running Electron Radiant and not Electrum by checking for "Electron
Radiant" in the title bar wording. Some
users installing from [Link] have reported conflicts if both Electrum and
Electron Radiant are installed in parallel
that way.

We STRONGLY recommend you get comfortable and only send a small amount of Bitcoin
Cash coins at first, to yourself,
to confirm the network is processing your transactions as expected.

Bitcoin Cash hard forks after the 6th block with timestamp greater than 1 August
2017, 12:20 UTC has been mined. The
seventh block must be greater than one million bytes in size.

The Bitcoin Cash fork enforces a new signing scheme which is incompatible with the
legacy chain. Electron Radiant only
signs transactions using this scheme, so its transactions are only valid on the
Bitcoin Cash hard fork after the fork
has occurred.

If you want to send Bitcoin before the fork, or Segwitcoins after the fork, you
should continue to use the standard
Electrum client, Electron Radiant will not work.
Once the network forks, it will take time for the Electrum server network to split
into servers of the Segwit fork, and
servers of the Bitcoin Cash fork. You should ensure you are connected to a Bitcoin
Cash Electrum server in order to
send transactions successfully. Some servers that will be serving the Bitcoin Cash
fork are:

[Link] via SSL port 50002


[Link] via SSL port 50012
[Link], [Link] and [Link] TCP port 50001 and SSL port
50002

There will likely be other servers available; please check their banners in the
Console tab (View|Show Console).

Hardware Wallets (NOT YET TESTED OR VERIFIED)


----------------

Since Bitcoin Cash enforces a new signing scheme, hardware wallet vendors need to
supply new firmware and/or libraries
for the hardware to be able to sign transactions correctly. Currently such
libraries and firmware do not exist, so you
cannot use your hardware wallets with Electron Radiant.

To use Electron Radiant with your hardware-wallet coins you will need to restore
your wallet as a software Electron Radiant
BIP44 wallet from its seed so that Electron Radiant can sign the transactions
itself. Since this exposes your coins to
risk you may want to wait for the 3rd party software to be developed and integrated
instead.

Two-factor Authentication (2FA) Wallets


---------------------------------------

For the same reason as Hardware Wallets above, 2FA wallets need Trustedcoin to
perform new Bitcoin Cash-style
signatures for their transactions to be valid on the Bitcoin Cash fork. If third
party support appears we will attempt
to integrate it.

Multisig
--------

For a multisig transaction to be valid on the Bitcoin Cash fork, each signature
must be done thew new Bitcoin Cash way,
so each signature must be performed with Electron Radiant or other Bitcoin Cash-
compatible software.

Unfortunately Electron Radiant does not currently work with multisig wallets as
Electrum's serialization format for
transferring transactions between cosigners is incomplete. We intend to fix this.

Miscellaneous
-------------
Electrum 2.9 has new code to deal with chain forks which may have outstanding (pre-
existing in Electrum)
bugs and problems. Since this package forks that code it will contain those
issues.

If you have problems syncing to the correct chain fork (take a look at the Overview
Tab in the "Network" window (in
Menu "Tools") to see information about chain forks your client knows about), you
can try to remove everything except
"wallets" directory and "config" file from your Electron Radiant directory.

Electron Radiant 3.0 -- This is now on Python 3. Make sure all python commands are
on python 3 and any needed
modules/libraries are imported into pyhon 3. The build is deterministic for
windows (everyone should get
the same binary because of customization to Pyinstaller that was done by Electrum
team, as well as separate
repos for locales and icons). The fee upgrades may not be visible for existing
wallet owners
unless you reset the max fee in preferences or remove the config file. There is no
minimum fee on the client
side. Be careful sending too low of a fee (lower than 1 satoshi/byte) or your
transaction may get stuck,
and there is no warning message.

# Release 2.9.2
* force headers download if headers file is corrupted
* add websocket to windows builds
* fix initial headers download
* validate contacts on import
* command-line option for locktime

# Release 2.9.3
* Improved code to force wallet to stay on Bitcoin Cash chain
* Removed dynamic fees. Fees are now simple Sat/Byte model
* Add Coin_Type 145 for Bitcoin Cash for bip39 seed imports
* Use bitcoincash URI prefix for receiving and QR codes

# Release 2.9.4
* Implement new Difficulty Adjustment Algorithm for Nov 13, 2017 Hard Fork
* Change ticker symobl from BCC to BCH
* Implement changes to allow simultaneous installation with Electrum
* Upgrade to PyQt5
* Various fixes for hardware wallets
* Remove 2FA for new wallet creation
* Remove feature to copy electrum wallet files

# Release 3.0
* upgrade to Python3 and PyQt5
* Build is done deterministically for windows
* improve fee policy

# Release 3.1

* Multiple address format support. Electron Cash supports input of cashaddr


addresses, legacy bitcoin addresses, and BitPay addresses anywhere
where a legacy address used to be accepted.
* Only display of cashaddr and legacy addresses is supported. You can
toggle the display format in the Appearance tab of the Preferences
dialog window; alternatively you can press the converter icon
button in the toolbar at the bottom of the main window. Hardware
wallets will probably show the legacy format until their firmware is
updated.
* An address converter tab can convert between all 3 address formats.
To see it, choose to show it from the View menu.
* At some stage support for BitPay address format will be removed, and
at some later stage support for display of legacy addresses will also
be removed.
* The fee slider has been adjusted to range from 1 to 10 sats/byte.
* Many bug fixes and improvements

# Release 3.1.1
* Requires Python 3.5 or greater
* Fixes JSONPRC security threat
* Fixes included for ledger for windows

# Release 3.1.2
* Additional security improvements related to JSONRPC

# Release 3.1.3
* Android only release for security fixes

# Release 3.1.5
* Various bug fixes

# Release 3.1.6

* Enable Bip70 payment requests for merchants like BitPay.


* Prohibit unconfirmed inputs on payment request (invoice) payments
because Bitpay will reject them anyway.
* Remove Bitpay address format from address converter as Bitpay is
now fully on CashAddr.
* Introduce 'cash' moniker for micro bitcoin

# Release 3.2

* restore disabled script opcodes (May 2018 HF)


* network protocol version bump to 1.2
* ledger: cashaddr support and various fixes
* more block explorers
* other bugfixes and improvements

# Release 3.3

* Add external plugins feature. Please see


[Link] and
pay special attention to the risks involved with running external plugins.
* Various bugfixes and improvements

# Release 3.3.1

* Add OP_RETURN feature.


* Upgraded fee interface allowing lower fees with a custom fee rate.

# Release 3.3.2
* UTXO (coin) level freezing (accessible from Coins tab)
* Bugfix to network code reared its head when user switches forks in unlikely
circumstances
* Checkpoint code (ElectrumX 1.4) protocol upgrade for faster blockchain header
downloads
* Updated servers list
* BitPay support now works flawlessly
* Fork icon indicates chain splits to allow user to select an alternate chain
* UI glitches fixed
* Various bug fixes (address exceptions)
* Translations on Windows working again
* More Spanish language translations!
* Mac: bitcoincash: URLs working
* Mac: Bitpay URLs working

# Release 3.3.3

* Added native elliptic curve cryptography using libsecp256k1 (1000x speedup on tx


signing in some cases)
* MacOS QR Reader now works.
* Windows QR Reader now works.
* Various performance fixes -- app should be able to handle much larger wallets now
with many UTXOs
* Nework layer fixups
* Updated Checkpoint to the BCH chain.
* Various minor UI gltiches fixed
* MacOS binary size significantly reduced
* Support for OP_RETURN parameters to bitcoincash: URL
* Allow 1-of-1 multisig wallets
* Server list update

# Release 3.3.4

* Anti-Phishing protection for all platforms. Server-provided text will not


appear in user-facing GUI windows anymore. Server error messages are instead
parsed and mapped to predefined strings.
* "Import Labels" now works.
* Memory usage of the app has been reduced -- especially with multiple wallets.
* Upgrade prebuilt Windows and MacOS binary to use newer PyQt5 5.11.3.

# Release 3.3.5

* Added ability to specify raw hex op_return data in Send tab


* Added server options for: "Preferred" and "Banned" in Network Dialog, and an
option to connect to only preferred servers.
* LabelSync plugin now works properly
* Cosigner pool plugin fixups -- it should work much better now!
* Cashaddr is now default on new installs
* OSX packaging fixes (code signature should stay dynamically valid now)
* Updated Trezor plugin to trezorlib-0.11.x (#1089)
* Many bugs and quirks fixed from issue tracker
* Performance improvements
* Memory leaks fixed

# Release 3.3.6

* Support for op_return_raw= URI parameter to 'bitcoincash:' URIs. This


paremeter is for raw hex to be used as the OP_RETURN payload (0x6a will
always be prefixed to this raw hex.) (markblundeberg)
* Testnet wallets were using the wrong bip32 key headers. They SHOULD
accept & generate tpub/tprv on testnet but instead the keys generated were
xpub/xprv. This was not to spec and has been fixed but, it may mean you will
need to regenerate your testnet wallets form mnemonic seed. :/ (cculianu)
* Added "Check for updates..." mechanism which is enabled by default
(check is done once per hour). See Preferences -> General to disable auto
check. Or Help -> "Check for updates..." for manual checking. (cculianu)
* Added "Dark" theme to UI. See Preferences -> General (cculianu)
* Fixed incompatibility bug where generated QR images were uppercase-only
BITCOINCASH: which caused problems with some buggy wallet implementations. We
switched back to generating 'bitcoincash:' (mixed-case) URIs, which is more
compatible. (cculianu)
* Added "Export contacts" facility to UI so you can export all your contacts to
a file. (Strangely, we had "Import contacts", but no export!) (cculianu)
* Added "Wallet -> Rebuild history" to Qt GUI. Allows users to re-synch entire
wallet from server, on demand. (commit: a72b2a72, cculianu)
* Request fee estimate from ElectrumX/ElectronX server every 20 minutes
(cculianu)
* Performance improvements for wallets with huge numbers of tx's (cculianu)
* Trezor bugfix (SomberNight)
* Append HMAC to Bitbox messages (TheCharlatan)
* Android fixes (mhsmith)
* Various internal bugfixes and code refactoring (cculianu, ecdsa, SomberNight)
* [Link] updated (torusJKL)
* Fixed a compatibility issue with Qt 5.12 (SomberNight, cculianu)

# Release 4.0.0

* Privacy features have been added, most notably CashShuffle has been integrated
strongly into the wallet. It is an optional plugin for shuffling coins
securely with other users. Coin control and other logic has been added as
well. The bulk of the work for this release has been this feature.
(Clifford, cculianu, Josh Ellithorpe, Mark Lundeberg, Jonald Fyookball,
imaginaryusername, emergent_reasons, acidsploit, and others).
* Fix #1174, #1178 - Resurrection of .onion support (requires enabling of
non-SSL).
* Fixups for qr code image saving (cculianu), #1175
* Closing a wallet now actually closes its daemon threads. Closing a wallet
window now also implicitly closes any tx dialog child windows it created.
Closing the last wallet window in the app will quit the app, even if other
child windows are still alive. (cculianu)
* Coins tab layout fixups #1180, including right click -> Copy X (cculianu,
Mark Lundeberg, SomberNight)
* Addition of Wallet -> Scan beyon gap... tool #1194 (cculianu)
* Fixed #968 for the Receive tab -- when the form is unsaved it now always is
*guaranteed* to refresh itself with a new unused address in real time.
(cculianu)
* Tx notification systray popup was too intermittent. It now pops up more
frequently when reeiving or synching a new wallet. The wording used has also
been simplified. (cculianu)
* Fix #1182 - Bad proxy can end up in config file (cculianu)
* Fix #1215 - Tabs that are not being shown are no longer refreshed in the GUI.
They refresh themselves when you switch to them, however, if they need to.
This should improve perception of UI responsiveness for large wallets
especially. (cculianu)
* Fixed some bugs related to switching chains (forks) #1185 (cculianu)
* Fixed a bug where importing a private key didn't update the history until
app restart. (cculianu)
* Fix Network Dialog layout (SomberNight)
* Fix sign message not accept rich text spesmilo#5210 (SomberNight)
* Fix #1189 - Cope better with unknown wallet formats or corrupt wallets on
startup. This should improve the experience for SLP users that also use
regular Electron Cash (cculianu)
* Switch over to bitcoin-abc libsecp in preparation for Schnorr signatures.
Libsecp is now actually bundled with the Linux "source" tarball. (cculianu)
* Fix to exchange rate prefs screen UI and deletion of BitcoinAverage as a
historical rate provider (cculianu)
* If running from source, app now has an icon on all platforms (cculianu)
* Fix ubuntu installation for virtual-env (acidsploit)
* Due to phishing being a recurrent annoyance, "Preferred servers only" now
defaults to "CHECKED" for new installs. (cculianu)
* Many performance improvements, especially for large wallets (cculianu)
* Cache address balance in memory rather than recompute each call (SomberNight)
* Various internal bugfixes (cculianu, SomberNight, ecdsa)

# Release 4.0.1

* Lowest base unit in GUI has been renamed from 'cash' to 'bits' by popular
demand. It turns out the 'cash' unit never was popular. (cculianu)
* CashShuffle & Keepkey: Fixed a bug in google protobuf that prevented both
plugins from being loaded simultaneously. #1227 (cculianu)
* Trezor support has been improved with many bugs fixed. It should be less
crashy overall when restoring seeds or when cancelling dialogs. (cculianu)
Special thanks to Technologov for providing feedback and for donating Trezor
wallets to test & dev on.
* Added ability to load any image to Trezor One or Model T's home screen. The
image will be scaled and dithered correctly. You can load PNG, JPG, GIF,
SVG or whatever other image formats Qt supports. (cculianu)
* CashShuffle: Implemented Coins Tab (right click) -> Reshuffle Coin. Use this
feature if want to shuffle already-shuffled coins again to keep liquidity up
or for even more privacy. (cculianu)
* Fix #1235 - Email plugin was broken and crashy. It works now. (cculianu)
* Virtual keyboard plugin looked terrible on some platforms, particularly macOS.
Its layout has been improved to look good on all plafrotms. (cculianu)
* Windows build is now on Python 3.6.8
* Fix #1238 & #1239 - Dark Mode had some hard to read GUI elements due to poorly
chosen colors in the Transaction Dialog. Fixed. (cculianu)
* Fix #1231 - Request list esoteric crash when rebuilding history. (cculianu)
* Merge PR #959 - Fix the support for Ledger HW1/Nano legacy hardware w/o
touching Nano S/Blue (Thomas Preindl, Axel Gembe)
* Ledger: Improved handling of locked Ledger devices (#1245) (Axel Gembe)
* HW Wallets: Fixed devices not being closed properly in some cases (#1246)
(Axel Gembe)
* HW Wallets: Improved messaging for user when trying to detect a HW device
and dependent libraries are missing. This affects the install wizard and it
is hoped it will assist users in troubleshooting. (#1244, #1251) (Axel Gembe)
* HW Wallets: Show proper error message when trying to sign a tx with OP_RETURN
(#1254) (Axel Gembe)

# Release 4.0.2

* Set the gap limit for change from 6 to 20. This is because we realized
CashShuffle wallets already behave as if the gap limit were 12 (reserving
addresses as they shuffle). We just made it official. (Mark Lundeberg)
* Added BIP38 private key support. You can create an import wallet, import
private keys, or sweep private keys using BIP38. In either of those 3,
specify a mix of WIF and/or BIP38 keys and you will be prompted to enter the
password to decrypt the BIP38 keys in question, 1 at a time. (#1289)
(cculianu)
* Added Windows CLI support if running from [Link] or WindowsPowerShell
(previously the console output was always mute even if running with -v --
it only worked for msys, mingw, cygiwn, etc, but not normal Windows console).
(#1295) (Axel Gembe)
* Windows: Make console no longer flash on startup (#1294) (Axel Gembe)
* Fix to minor esoteric/rare bug in CashShuffle where it may be overzealously
freezing receiving addresses with non-shuffle outputs on them. (#1291)
(cculianu)
* Ledger HW Wallet: Remove non-working websocket 2FA for legacy ledger devices
(#1298) (Axel Gembe)
* Ledger HW Wallet: Added support for OP_RETURN and also multiple transaction
outputs (on devices that support it). Code mainly taken from Electrum but
adapted and modified by us. (Axel Gembe)
* Added Linux AppImage builds -- these builds are self-contained binaries with
everything rolled into a single file. It should make it much easier for
Linux users not wishing to install dependencies to simply run Electron Cash.
Based off Electrum's implementation, with our own customizations. (cculianu)
* OSX: Made the DMG release use a "fancy" dmg with graphics and a symlink to
/Applications as is customary on macOS. (cculianu)
* Lib: Fixed a potential crash bug if the server sends bad data to the client.
(cculianu)
* Deprecated support for Python 3.5. Electron Cash now requires Python 3.6+.
* CLI: Added -x/--disable_preferred_servers command-line option (#1222)
(cculianu)
* CLI: encrypt/decrypt commands were broken. They are now working. (#1270)
(cculianu)
* Disabled all fee estimates in the codebase. They are useless on BCH anyway
and were a holdover from our BTC roots. BCH tx's always confirm next block
if they pay the minimum 1.0 photons/B fee anyway. Fee estimates are not needed.
Also disabled the "Estimated confirmation time:" label from the Transaction
Dialog winow. This is not informative either for similar reasons. (cculianu)
* Hardened build system against dependency vulnerabilities (cculianu)
* Fixed bug when Coins -> "Spend" and you right-click in the Send tab's
coins area. (#1269) (Mark Lundeberg)
* Winows: Added some missing OpenGL libs to the built package. Qt will now
use OpenGL or fall back to ANGLE (GL -> D3D translation layer) or software
rendering. The fallbacks help with buggy drivers. (cculianu, Axel Gembe)
* Fixed Tx Dialog breaking on esoteric scriptsigs (#1263) (Mark Lundeberg)
* Strip whitespace when copying various right-click -> "Copy Amount" to the
clipboard. (cculianu)

# Release 4.0.3

* Added Schnorr signatures to UI and backend (fyookball, cculianu,


Mark Lundeberg)
* After much trial and tribulation: fixed broken KeepKey support: KeepKey
webusb now works, too. Latest devices should work again. Thanks Axel!
(Axel Gembe)
* Fixed multisig not working on Trezor (& KeepKey) (cculianu, Axel Gembe)
* Updated QR reading accuracy and detection for Linux AppImage & Windows by
updating the version of ZBar we ship; it's custom-compiled by us from
official repo to include only what's needed. (Axel Gembe)
* Fix #1349 -- Assertion Error on daemon stop (cculianu)
* Added "Hardware Wallet Support..." tool in menu and in Install Wizard for
Linux only to install udev rules for HW wallets. (Axel Gembe, cculianu)
* OP_RETURN-too-large message in UI was wrong, off by 1 (Axel Gembe)
* Fix #1338 - Crash on BIP38 private key sweep (cculianu, im_uname)
* AppImage build fixups (Axel Gembe)
* Added/removed some servers from [Link] (cculianu, dagurval, im_uname)
* Address list: remove double space in balance column (Axel Gembe)
* Console: Make insert key toggle overwrite mode (Axel Gembe)
* x509 certs: Print better error messages when certs are expired; affects
bitpay BIP70 (cculianu, SomberNight)
* Layout and Qt effects fixups for various (Axel Gembe)
* Fix #1306 - Dark theme glitches (Axel Gembe)
* Fixups to keyboard navigation for console tab (Axel Gembe)
* Fix console font being reset when moving between monitors on Windows
(Axel Gembe)
* Qt accelerator key fixups (Axel Gembe)
* Fix #1261 - Mojave Dark mode looked bad (cculianu)
* Added fancy warning box on top of Console tab to prevent social engineering
attacks (Axel Gembe)
* Added -R/--relax-warnings CLI option to disable Secp & other warnings
(Axel Gembe)
* Better Qt error messages when importing bad WIF p2sh 'private keys' (cculianu)
* Ledger Nano-X USB device support (Axel Gembe)
* Various small other nits & bugfixes [see commit log] (cculianu, Axel Gembe)

# Release 4.0.4

* Added a brand new, cross platform and awesome QR Code scanner #1376
(Axel Gembe, cculianu)
* Fixed QR icon appearing black/invisible on some Linux systems
(Axel Gembe, cculianu)
* Allow user to load any image containing a QR code in the various QR-scan
style dialogs: Pay-to in Send tab, Private Key Sweep, etc. (Axel Gembe)
* Fix #1375 - Ensure 'Receive' tab does not ever give you a frozen address.
(cculianu)
* Schnorr signing has been enabled by default if previously unspecified if the
libsecp256k1[ABC] is present (non-HW, non-multisig wallets only) (cculianu)
* Fix #1385 - Auto-switch send tab mode Shuffled/Unshuffled depending on the
selected coins when doing Coins -> right click -> Spend. (cculianu)
* Various bugfixes (Axel Gembe, cculianu)

# Release 4.0.5

* Bugfix -- Imported Private Key wallets as well as some HW wallets (keepkey)


could not sign or save a tx in 4.0.4 due to a subtle bug introduced as part
of a refactor. Fixed. (cculianu)
* Fixed QR scanner looking off-center on some platforms. (Axel Gembe)
* Fixed QR scanner quirks on some platforms when failure to configure camera
resolution confused the QR scanner a little bit. (Axel Gembe)

# Release 4.0.6

* Added CoinText support. Just enter 'cointext:ANY_PHONE_NUMBER' in the send tab


to use it! (cculianu, Jonald Fyookball)
* Added a brand-new Transaction Dialog feature "Download input data" which
allows you to get 100% accurate fees, input addresses, and input amounts for
ANY tx in your wallet or even NOT in your wallet. (cculianu)
* Various fixups to script parser code and misc. transaction refactorings
(Mark Lundeberg)
* Qt: Enable automatic high DPI scaling on Windows and Linux (Axel Gembe)
* Redid some of the icons and graphics to support high DPI (Axel Gembe,
cculianu)
* Added command-line option `--qt_disable_highdpi` to force-disable high DPI
mode (Axel Gembe)
* Bugfixes to Ledger support + allow up to 187 byte OP_RETURN (Axel Gembe)
* Misc tiny UI nits and other fixups (cculianu, Axel Gembe)
* Updated libsecp256k1 to latest from Bitcoin-ABC (cculianu)
* Reduced .dmg, .exe, & .AppImage binary sizes by optimizing images (Axel Gembe)
* Updated [Link] (imaginaryusername)
* CashShuffle: Raised default shuffle limit to 99.9999 BCH (cculianu)
* Replaced the 'clock' icons with new hi-res versions. Please direct all
hatemail to Calin Culianu for he volunteers to take full responsibility.
(Jason Pribble, cculianu, James Cramer, Axel Gembe)
* Minor fix: Clicking a link in browser to open a URL in Electron Cash no longer
resurrects a closed wallet and instead opens the link in whatever active
wallet windows exist. (cculianu)

# Release 4.0.7

* CoinText: Show a popup label after CoinText is initiated to remind user


they need to hit "Send" or "Preview" to proceed (cculianu, imaginary_username)
* Tx Dialog: Fixups and functionality expanded. All wallet addresses are now
links which are clickable (leading to the address's history view). All input
prevouts are now clickable links as well; they lead to a tx dialog screen for
the prevout tx. Additionally, we added a right-click context menu for the
input/output panes of the tx dialog window. This brings EC's functionality
closer to that of a mini block explorer. (cculianu)
* KeepKey: Fixed a packaging issue where loading BIP39 onto an uninitialized
KeepKey would fail with a Python exception on Windows & Mac #1434 (cculianu)
* Python 3.6 is officially the minimum Python version for Electron Cash now.
In the last version, you could still run on Python 3.5 (poorly), we just
made it official. (Axel Gembe, cculianu)
* Added OP_RETURN capability to the 'Receive' tab. You can now generate receive
request URIs and QR codes containing 'op_return' and/or 'op_return_raw'. Not
all wallets can read this query string argument, but Electron Cash can.
(cculianu)
* Linux run-from-source: Warn/Abort with helpful messages if user is missing
required PyQt libs such as QtSvg. (cculianu)
* QR Scanner: Added informative message for Linux run-from-source users who
happen to have a broken PyQt5 lacking a required lib for accessing the
camera. (cculianu)
* Schnorr: Defaults to off for watching-only wallets. This is to prevent
air-gapped setups from underestimating fee between generating and signing EC.
(cculianu)
* Tx Dialog: Warn if user is attempting to broadcat a low fee tx of <1 photons/B.
(cculianu)
* Address tab: Allow CTRL+F of addresses prefixed with bitcoincash: to do the
expected thing. (cculianu)
* Various bugfixes (cculianu)
* OpenAlias: Fix #1441 - Resurrected it form the dead. It wasn't working before.
You can now send payments to people via their openalias eg user@[Link]
(requires they set up a DNS TXT record). See [Link]
(Axel Gembe)
* AppImage: 100% deterministic builds now. (Axel Gembe)
* AppImage: "Open in block explorer" now works (Axel Gembe)
* Windows: We figured out what was causing the anti-virus false positives on
our recent releases and took steps to reduce the possibility of AV false
positives going forward. (cculianu, Axel Gembe)
* CashShuffle: Fix #1223 - Finally resolved the "dead menu actions" bug where
sometimes after bringing up the CashShuffle settings, hotkeys and File->menu
actions would no longer respond. (cculianu, Axel Gembe)
* Quotes/Fiat Exchange Rate: The "historical rates" code was buggy and prone
to "no data" being shown even when the server we get the quotes from has
data. Bug #1448. This has now been fully fixed and made unbuggy. (cculianu)
* Export Wallet History: Fix #1459 - The Wallet -> Export History facility now
always exports fiat history data if "Fiat History" is enabled in preferences.
Note also that the history export is now sorted in descending order by date,
like the history tab default sort order. (cculianu)
* Update checker: Made the "new version available!" notification less obtrusive:
it now posts a message to the system tray popup as well as just creating a
new status bar icon you can click on to respond to the notification at your
leisure. Hopefully this will tempt fewer people to turn off the notifications
(cculianu)
* Preferences pane: Split up the "Transactions" tab in the preferences to
"per-wallet" and "app-global" sections to more clearly communicate in the UI
which of the options are global and which are per-wallet. Closes issue #1427
(cculianu)
* Preferences pane: Added a new option "notify when receiving funds" which
is on by default and if unchecked, allows you to no longer receive system
tray notifications on tx's. This is a per-wallet setting. Closes issue #1451
(cculianu)
* Tx Send Confirmation: Added a new button to the tx send confirmation dialog
"Copy link" which copies the link to the tx on the configured block explorer.
Issue #1464 (cculianu)
* AppImage builds have been made SIGNIFICANTLY smaller. Here's to faster
downloads and peppier startup times, hooray! In addition, the macOS .dmg build
and the Windows .exe builds have been made slightly smaller. (Axel Gembe)
* Cash Address Toggle: Replaced icon with a much nicer one. (Leandro Di Marco)
* Cash Address Toggle: After a reddit poll was conducted, we decided to make it
possible to disable the cash address status bar button in the GUI. It's on
by default, but can be disabled in Preferences -> General. In addition, the
Preferences -> General tab has been laid out slightly differently. (cculianu)
* Improved system tray icon and other assorted icons for high DPI. (Axel Gembe)
* Various build system fixes and bugs fixed. (Axel Gembe)

# Release 4.0.8

* Cash Accounts support has been added to Electron Cash! Most of the UI for it
is in the "Contacts" tab (View -> Show Contacts), there are also UI bits to it
in the Addresses tab, in the Tools menu, and of course, the Send tab (where
you can enter any Cash Account and it will get auto-resolved for you!)
#1505 (cculianu with massive platform work from Axel Gembe)
* Fixups to allow Digital Bitbox and Ledger to sign more types of OP_RETURN
outputs. (imaginaryusername, Axel Gembe, cculianu)
* "Button" Editor: Fix keypress events going to the editor when the buttons are
focused and other nits. #1518 (Axel Gembe)
* More help for "QtSvg Missing" error; #1516 (Mark Lundeberg)
* Qt: Performance fix to History tab for wallets with many txs when verifying.
The performance when verifying for wallets with a huge history was not optimal
and the UI would periodically hang. This has been fixed. (cculianu)
* SPV: Make the merkle node checker no longer care whether "inner node looks
like a tx" because this check is no longer need after the Nov. 2018 hard-fork.
(cculianu, Mark Lundeberg)
* Fix #1502 - Intermittent iOS Crash Reporter on bad/expired BIP70 Payment
(cculianu)
* Translations: Add support for plural forms #1500 (Axel Gembe)
* Coins Tab: Added default sort order of Amount, Descending. The Coins tab now
also remebers whatever sort order you gave it. This should be good for
CashShuffle users with many coins in their coins tab. (cculianu)
* Wallet: Improve performance of is_mine() check from O(N) to O(logN) (cculianu)
* Qt Network Dialog: Let the user edit the host/port in peace (SomberNight,
cculianu)
* Fonts: Improve color emoji support on Windows and Linux #1498 (Axel Gembe)
* Fonts: Add Google Noto Color Emoji font subset #1496, #1523 - This is bundled
in Windows and AppImage and loaded at runtime if the user lacks a suitable
color emoji font (Axel Gembe).
* AppImage: Bundle more binaries to increase compatibility & other fixes #1492
(Axel Gembe)
* Updated "Error, Could not import PyQt5" message to be more helpful (cculianu)
* Qt: Update to 5.12.3 for Windows and AppImage builds #1490 (Axel Gembe)
* Linux Qt: Warn user if running Qt < 5.12 (this has terrible font support
which causes EC to render fonts badly if using emojis or unicode) (cculianu)
* AppImage: Upgrade to Ubuntu 16.04 as base #1489 (Axel Gembe)
* Build: Protect against PGP keyserver poisoning attack #1487 (Axel Gembe)
* Added [Link] server to [Link] (Georg Engelman)
* TxDialog: Allow various fields to be selected by mouse. (cculianu)
* TxDialog: Added the "Mined in block" field to the dialog. (cculianu)
* Localization: The app now defaults to the system language on Windows, Mac and
generic Unix for new installs. The preferences dialog has also been improved
to bring the General tab to the front and make the language picker contain
translated language names. #1477 (Axel Gembe, cculianu, Alexander Schlarb)
* Fix #1473: Omit bitcoincash: prefix from legacy address in receive tab QR
image if no parameters are filled-in other than 'address'. This allows users
to quickly use the receive tab to scan a QR image from a mobile wallet that
doesn't know about bitcoincash:. Note that if the receive tab has parameters
filled in eg: description, amount, etc, then the receive request becomes a
URI and it will have the bitcoincash: prefix prepended, even if using legacy
address mode. (cculianu)
* Ledger: Fix #1479: 2FA Dialog with Legacy devices and multiple outputs was
crashy due to a small programming error. Fixed. (Axel Gembe)
* Added various hotkeys to the GUI Ctrl+K, Ctrl+M, etc. You will see them in
the various in-app menus (such as Tools, Wallet, etc). (cculianu)
* Made the network layer more resilient to malformed server responses.
(cculianu)
* Search box has been fixed to not get crushed by the balance label and to also
work better and have placeholder text. Closes #1493 (cculianu)
* Coins tab: Offer alternate address format copy (eg "Copy Legacy Address" if
in CashAddr mode, and vice versa). This was already available in the Addresses
tab but wasn't in the Coins tab. Closes #1476 (cculianu)
* Address tab: Allow multi-select and copy of data items such as Addresses,
Address & Balance, etc. Closes #1475 (cculianu)
* Contacts tab: All contacts can now also get an optional label. The label is
keyed off the address and is saved in [Link]. Closes #1508 (cculianu)
* Added better help for the Pay to edit in the send tab. The help text has been
improved to clarify this advanced widget's capabilities, and a '?' help button
has been added in the tool buttons for the line edit. (cculianu)
* App icon has been updated to be a little more rectangular and render better
across resolutions and platforms. #1526 (cculianu, Axel Gembe, fyoookball,
BeltranLeo)
* Update checker: Use a longer timeout to not time out when using a proxy
server. #1509 (cculianu)
* External Plugins: Be more resilient to a bad plugin file. #1533 (cculianu)
* Updated translations (Axel Gembe)
* Email plugin crash fix #1534 (cculianu)
* Minor UI bugfixes. (Axel Gembe, cculianu)

# Release 4.0.9

* Fixed remaining (rare, hopefully) font & emoji rendering issues on some Linux
distributions. (Axel Gembe)
* Added preferences options for "Use FreeType" (Windows) and "fontconfig
overrides" (Linux). (cculianu)
* Updated blockchain checkpoint to block 592911. (Malcolm Smith)
* Added support for "cashacct:" URIs #1547. You can paste these in the Pay-to
edit in the Send tab or, if on Linux, Mac & Windows, click on a cashacct:
link in your browser as well. (cculianu)
* Fixed esoteric crash bug which would occur sometimes when opening the
preferences dialog. This bug was due to bugs in PyQt5 when using QtMultimedia
and the fix involved loading QtMultimedia at app start, rather than on-demand.
#1545 (cculianu)
* Fix #1552: Disallow "Request payment" in addresses tab when address is used.
This would lead to an inconsistent UI; the receive tab would always enforce a
new address anyway, so the option in the right-click menu was misleading at
best in that situation. "Request payment" works as normal if the address is
unused, however. (cculianu)
* Fixed Windows [Link] to be more reproducible and other misc build fixes.
(Axel Gembe, cculianu)
* Fixed very rare uncaught exception due to misbehaving plugin #1554. (cculianu)
* KeepKey & Trezor: Fix WebUSB on Windows 10 1903 by patching libusb, #1556.
(Axel Gembe)
* Cash Accounts: Lookup/Search results offer a "Details..." link now instead
of the "View tx..." link. You can view tx on the details page. (cculianu)
* Qt: Added proper keyboard navigation to the Transaction Dialog window, and
various other places. #1557 (Axel Gembe)
* Android: Added native libsecp256k1 support (Malcolm Smith)
* Bugfix #1240, #892, #1484: Prevent infinite startup hangs due to lockfile
timestamp in the future. (cculianu)
* Email Plugin: Minor fixups and fixed bug #924. (cculianu)
* iOS: Fix #1273 -- Crash due to trying to pass a Python Exception to obj-c as
string. (cculianu)
* Various build and packaging fixes for Windows. (Axel Gembe)
* Added BitPay 2.0 JSON API support. (cculianu)
* Fixup to some plugins such as Scheduled Payments and Inter-Wallet-Transfer
raising uncaught exceptions if they are loaded and enabled and user hits
Ctrl+F (cculianu).
* LabelSync: Prevent error dialog spam when labels plugin fails to update
labels on the server. (cculianu)

# Release 4.0.10

* Lib & Qt: Added Bip38Key encryption support to both the library for plugins
to use as well as to the Qt UI for users to be able to export or encrypt WIF
keys as BIP38 encrypted keys; #1593, #1594. (cculianu)
* Minor internal i18n nits, #1571. (Mark Lundeberg)
* Windows: Switch LibUSB to version 1.0.23-rc2, #1572. (Axel Gembe)
* iOS: Added native secp256k1 to iOS build, drastically improving signing speed.
(cculianu)
* iOS: Added Schnorr signatures. (cculianu)
* Fixed output script classifaction code to be more correct. (Mark Lundeberg)
* Qt: Made generated QR codes look better on HighDPI displays. (cculianu,
zebra-lucky)
* Misc. localization and internationalization fixups. (Axel Gembe)
* OSX: Minor fixup for Mojave font weights being rendered too thick. (cculianu)
* Minor bugfix: Guard against "all zero" transactions coming from malicious
servers, #987. (cculianu)
* Qt Console: Fixed the warning box layout to fit on-screen in all setups,
#1584. (Axel Gembe)
* Qt: Fixed minor warning about alpha value, #1585. (proteanx)
* OSX & Linux AppImage: Bumped bundled Python version to 3.6.9. (cculianu)
* iOS: Added a ruby helper script which, if running Brew, will auto-set-up
more of the Xcode project for the user after creating it with
`make_ios_project.sh`. (jonspock)
* Added SLP awareness to all wallets. Even though one can't easily get an SLP
token into a non-SLP wallet, it is still possible. The EC internals now
track transactions containing SLP tokens and guard against spending such
coins. Coins that have SLP tokens on them are highlighted in green in the
"Coins" tab and cannot be spent from the UI. This is to prevent token
burn, #1602 (cculianu)
* Android build fixes, #1599. (mhsmith)
* More Android fixes: Added stability improvements and various corner
case bugfixes (see github PR #1605 for details). (mhsmith)
* Fiat FX Rate: [Link] URL / API endpoint has changed, thus breaking fiat
exchange rate anources if "Bitpay" was selected. Fixed. (cculianu)
* Updated websockets (electrum-merchant): fixed stale/old code which no longer
ran, added '--payment_url' option, and other miscellany. (cculianu)
* Implemented BIP70 properly on Qt and iOS; #1612. (cculianu)
* MacOS HW Wallets: Fixed SIGSEGV crash due to talking to the device from
multiple threads which is not supported on Darwin. (cculianu)
* Ledger Nano HW support has been vastly improved: It should be less crashy
and provide the user with much more meaningful messages for getting the device
into the proper state to talk to Electron Cash. (cculianu)
* Wallet: Fixed erroneous coinbase maturity logic. Immature mined coins were
erroneously being withheld from spending for an extra confirmation. (cculianu)
* Coins tab: Coinbase coins that are not mature are now highlighted in blue
text and are not allowed to be selected for individual coin spending
(previously you could select them for spending with no way to actually spend
them which was bad UX). (cculianu)
* TxDialog: coinbase tx's now show 0 fee, rather than 'unknown' (cculianu)

# Release 4.0.11

* Added SatoChip hardware wallet support: [Link]


#1668 (Baudoin Collard, cculianu)
* Added API support for plugins to register themselves with the command-line
in order to offer RPC service commands. #1670 (Mark Lundeberg)
* Added "Show crash reporter" to preferences, and re-laid-out the preferences
pane. #1673 (cculianu)
* Fix #1671 -- "No data" for fiat when using the 'history' RPC command has been
now fixed. (cculianu)
* Fix #1679 -- Exporting history now shows fees (if known), as well as input
and output addresses involved in a tx. (cculianu)
* Plugin API fix for @hook. #1669 (cculianu, Mark Lundeberg)
* Internal API optimization for transaction signing #1666 (Mark Lundeberg)
* Added [Link] for both testnet and mainnet as a block explorer
configurable in preferences. #1664 (Axel Gembe)
* CLI: Added --op_return and --op_return_raw options for the 'payto' command.
(cculianu)
* AppImage: Improved binary stripping for more reproducible builds. #1662
(Axel Gembe)
* Updated SSL certificates to Sept. 2019. This should hopefully fix some of the
"Unable to verify SSL" errors some users have seen when using CashShuffle.
(cculianu)
* Fixed a long-standing bug where sometimes Electron Cash would hang forever on
startup due to a stale/old daemon 'lockfile'. (cculianu)
* Qt history tab: Added workaround for persitent 'Unknown' balances when using
advanced scripts to spend funds. (cculianu)
* Qt UI: Add mechanism to prohibit '3..' p2sh by default, which should protect
users from accidentally sending BCH to BTC segwit addresses. This protection
can be disabled in preferences. Issues #1658 and #1225. (cculianu)
* Updated README for better instructions on how to run the development/git
version. (Mark Lundeberg)
* Added servers to [Link]: [Link], [Link]. Removed
server [Link]. (Axel Gembe, greedyhog)
* iOS: Fixes for iOS 13.0+ and other miscellany (cculianu)
* iOS fix: "Downloading headers xx%..." is now more accurate (cculianu)
* iOS fix for bug #1651, crash if prefs screen up when wallet closed. (cculianu)
* [Link]: don't append value when serializing inputs with scriptSig.
#1648, #1628, #1637 (Mark Lundeberg)
* Addresses tab: hide all empty change addresses, not just used ones &
pop open change list by default. #1646 (Mark Lundeberg)
* Android: allow specifying a server which isn't in [Link]. #1644 #1636
(Malcolm Smith)
* Add Swahili to the language list. (Patrick Kariuki)
* Bumped Qt version to 5.13.2 on most platforms. (cculianu)
* Qt prefs: Renamed the default "light" UI style to "Default". On some systems
this style is actually dark in appearance. (cculianu)
* cashaccts: Fixed parse bug in parsing eg 'cashacctname#123,1.23'. (cculianu)
* Misc. menu and dialog nits, polish, cleanups, more consistent Capitalization,
& More. (Tom Zander, cculianu)
* Qt: main window, make sure Ctrl+Q is shown in File->Quit. (cculianu)
* Transations: prefer verbatim scriptSig for (re)serializing complete
transaction inputs. #1637 (Mark Lundeberg)
* Added index_url override to addrequest command. #1636 (Yuki Matsumoto)
* i18n: Use pgettext in a few places, and various fixups. #1624 (Axel Gembe)
* Very many Android fixes. #1614 (Malcolm Smith)
* p2sh: Fix coin tracking / balance, etc for esoteric scriptSigs/redeemScripts
in inputs. This should make it easier to have a wallet that tracks smart
contract addresses and other advanced usages of Bitcoin. #1620 (cculianu)
* synchronizer: Check txid from server against response content. This is a
paranoia check to make sure the server isn't being malicious. (cculianu)
* i18n nit: Translate 'Unknown' string in format_satoshis. (cculianu)
* Removed [Link] #1619 (Georg Engelmann)
* Configure payment_url to include payment request ID. #1617 (Mark Meson)
* Command-line: added `addressconvert` command. (cculianu)
* BIP70 Payment Request Fix. There were potentially subtle bugs in how we
handled BIP70. Nothing major. They have been fixed. #1615 (cculianu & Mark
Meson)
* iOS: Add SLP-awareness & protection to the UI. (cculianu)
* Misc. refactoring, nits, and bugfixes (cculianu, Mark Lundeberg)

# Release 4.0.12

* **TRANSLATIONS!** This release includes a complete coverage of the Spanish


language as well as many other language strings added for German, Portuguese,
and other languages. (various contributors, w/ Jonald Fyookball as organizer)
* Made export history way better (#1682) -- Exporting history from the GUI or
the CLI can now optionally include accurate fee data as well as accurate fiat
amounts (if fiat history is enabled in the GUI). (cculianu)
* Fix #1681 - Gave cashshuffle [Link] file a package name. This caused
issues for some source users whereby the lack of a package name may clash with
modules installed on the user's system. (cculianu)
* Android (phase 4): Add ability to delete closed wallets (#1690) (Andrew#128)
* More graceful and softer shutdown on Ctrl-C / SIGINT (#1695) (Mark Lundeberg)
* Various backend preparations for CashFusion (#1693) (Mark Lundeberg)
* Remove unused SIP dependency for Python 3.8 compatibility (Axel Gemebe)
* SatoChip HW Wallet: Fix crash when cancelling PIN change or seed reset
(Baudoin Collard)
* SatoChip HW Wallet: Fix recovered authentikey does not correspond to
registered authentikey error (#1717) (Baudoin Collard)
* Fix #1718: We had a string format error in Export Private Keys dialog, which
would cause uses that were using a password with '{' in it to experience
crashes. (cculianu)

# Release 4.0.13

- **BIP 39 Seed format** is now the ***native seed format*** for Electron Cash!
(Calin Culianu)
- New wallets will always generate seeds in this format. When restoring from
seed, format auto-detection is implemented (so that old 'Electrum' style
seeds continue to work).
- Additionally, wallets created/restored from BIP39 will no longer have no
"Seed" icon in the GUI (and you can always view their seed; it is never
"forgotten").
- The seed dialog now always shows derivation paths for BIP39 seeds.
- **New integrated Tor capability**. (Axel Gembe, Calin Culianu)
- This capability will be bundled with Electron Cash for the upcoming
***CashFusion*** feature.
- For now, though -- you can use it to start/stop Tor right from inside
Electron Cash -- **no additional Tor browser install needed**!
- Faster Network, #1819: Improved network code for faster wallet startup times.
(Mark B Lundeberg)
- Added "Sign/Verify message" to the 'Contacts' tab right-click menu.
(Calin Culianu)
- Fix #1727 - Don't close Qt app if user hides windows using the system tray
icon Show/Hide feature. (Calin Culianu)
- Wallet rename function added for Android version, plus other fixes.
(Andrew#128, Malcolm Smith)
- Wallet export function added for Android version. (Andrew#128, Malcolm Smith)
- Internal fix-ups to possible error message dialogs when broadcasting a
transaction #1730 (Mark B. Lundeberg)
- Performance boost to base_encode/base_decode for legacy addresses.
(SomberNight/ghost43)
- Updated translations. (Axel Gembe, Georg Engelmann, various other volunteers)
- Updated embedded libsecp256k1 to ABC version 0.20.9.
(Calin Culianu, ABC Authors)
- Server list: Add 'display' key to give Tor servers a short name. (Axel Gembe)
- Network dialog: Various fixups to proxy detection and usage of Tor servers &
onion icon on .onion servers (Axel Gembe, Calin Culianu)
- Various much-needed build system refinements and fixes. (Axel Gembe)
- Qr code reader: Fix to make it more reliable on all setups. (Axel Gembe)
- Updated pre-packages server list, aka `[Link]`.
(Calin Culianu, Andrea Suisani)
- Fixed the long-standing "tx's lose their txid" bug resulting in erroneous
error dialogs popping up on broadcast sometimes. (Calin Culianu)
- Fix #1785 - Allow searching (Ctrl+F) by tx_hash in history tab.
(Calin Culianu)
- About dialog: Update copyright year to 2020 and make localizable. (Axel Gembe)
- Fix #1789: Disallow user delete last address in Imported wallet. You could
then end up with an empty, 0-address wallet, which the rest of the internal
codebase did not like. (Calin Culianu)
- Fix #1774: Tolerate spurious 'error' messages from server. (Calin Culianu)
- Fix #1738 - Handle `protobuf` serialization errors for payment requests.
(Calin Culianu)
- CashFusion back-port #1647: Add change-address reservation subsystem.
(Mark B Lundeberg)
- Add create/restore commands in to daemon mode RPC server #1746.
(MrNaif2018)
- UTXOList (Coins tab): Show number of coins in output_point column.
(Calin Culianu)
- Update ViaBTC explorer address. (Imaginary Username)
- #1802 - Added "payment_received" event which can be used by plugin authors
wishing to author BIP70 payment integraton plugins. (MrNaif2018)
- Fix: Signing payment requests with OpenAlias should now work. (Calin Culianu)
- #1811: `[Link]`, updated greedyhog's server. (greedyhog)
- Max OSX -Binaries are now built with hardened runtime enabled, which is
required now on latest Catalina. (Calin Culianu)
- Fix #1817, Bitcoin Lib: Added tighter validation to bitcoin.deserialize_xkey.
(Calin Culianu)
- Various internal bug-fixes and improvements.
(Calin Culianu, Axel Gembe, Mark B Lundeberg, Andrew#128, Malcolm Smith).

# Release 4.0.14

- Fixed a bug in CashShuffle which would sometimes cause some shuffle tx's
to use the same address twice in the outputs. (cculianu)
See reddit thread:
[Link]

# Release 4.0.15

- Fixed USB HID support for hardware wallets on macOS. (cculianu)


- Documentation: Updated instructions for running from source on macOS #1848.
(Ty Everett)
- Fix #1806 - Fixed crash when no outputs in tx dialog. (cculianu)
- Requirements: Remove protobuf <3.9 constraint #1864. (Axel Gembe)
- Server list updated. (imaginaryusername, Axel Gembe, cculianu)
- Android fixups and improvements:
- Handle base units being renamed or removed (Malcolm Smith)
- Switch to Requests screen when a request is saved (Malcolm Smith)
- Fix crash when opening payment protocol URL from browser (Malcolm Smith)
- Various internal improvements and fixes (Malcolm Smith)
- Bugfix: BIP39 passphrases were being handled incorrectly for upper or mixed
case #1878. (Jochen Hoenicke)
- Added OP_REVERSEBYTES to the list of known script ops for display. (cculianu)
- Made "Connect only to Preferred Servers" False by default. (cculianu)
- Varous macOS Fixups and improvements:
- Mojave+ dark mode now works (cculianu)
- On macOS we now disabled the "dark" theme in favor of the system dark
theme (cculianu)
- Catalina startup times drastically improved (cculianu)

# Release 4.1.0

- ***CashFusion*** is here! To access it, simply right-click on the CashFusion


icon in the bottom-right of the status bar. Thanks to everybody that worked on
it, in particular: Mark Lundeberg, Jonald Fyookball, Axel Gembe, Calin Culianu
and many more that don't fit here.
- Tx Signing has been significantly sped up for transactions with many inputs.
(Mark Lundeberg, cculianu)
- Tezor HW Wallet: Updated to support latest firmware. #1900, #1902 (Axel Gembe)
- Fixes for bugs introduced by newer ecdsa libraries that use gmpy2. In
particular on Fedora 32 things would sometimes explode when signing a tx or
using CashFusion, due to ecdsa API quirks. (cculianu)
- Fixed ZBar (QR camera) issues on Windows. #1916 (Axel Gembe)
- SSL Certs: Accept wildcard certs, accept CA-signed replacing pinned
self-signed. Servers can now use wildcard certs or switch from self-signed to
CA-signed without losing users! (cculianu)
- Update criptolayer server. #1874 (imaginaryusername)
- Add [Link] block explorer. #1920 (Axel Gembe)
- Network: Show problematic pinned certificates and allow unpinning. #1919 (Axel
Gembe)
- Update plugin for Satochip hardware wallet to support latest firmware v0.11.
#1915. (Toporin)
- Tor: Make process shutdown more robust. #1893 (Axel Gembe)
- AudioModem: Fixed to not crash on unsupported platforms. (cculianu)
- Various internal refactorings, fixups, and internal API improvements.
(cculianu, Axel Gembe, Mark Lundeberg)

# Release 4.1.1

- Added support for the ASERTi3-2d DAA for the Nov. 15th, 2020 upgrade #1954
(Calin Culianu)
- Added testnet4 support, accessible with the --testnet4 CLI option (#1974)
- Internal build fixes for OSX (Calin Culianu)
- Internal fix for unit tests #1929 (Axel Gembe)
- CashFusion: Show icon and add message even on non-fusable wallets #1927 (Axel
Gembe)
- dnssec: fix compat with dnspython 1.16 and 2.0.0 #1934 (Axel Gembe)
- tests: fix cashaddr checksum test unreliability #1938 (Axel Gembe)
- CashShuffle: Remove unmaintained tests #1940 (Axel Gembe)
- Tor: Make the messages refer to a specific Tor binary #1941 (Axel Gembe)
- git sanity: enforce "git checkout commithash" actually pulls commit #1949
(SomberNight, Axel Gembe)
- CashFusion: Add more tiers for fusion server #1951 (Jonald Fyookball)
- trezor: bump lib version, implement new passphrase-on-device UI #1947 (Axel
Gembe, matejcik)
- Add [Link] mainnet and testnet explorers #1952 (Axel Gembe)
- Fusion: Remove example server #1953 (Axel Gembe)
- CashFusion: Ensure tor_port_good is defined in plugin (Calin Culianu)
- Build: Fix wine build failing, typo in the git checkout work #1956 (Axel
Gembe)
- CashFusion: Better consolidation logic (Mark Lundeberg)
- CashFusion: Update default server to use SSL #1959 (Mark Lundeberg)
- CashFusion: Enhance fuzzing logic; more funds safety checks (Mark Lundeberg)
- CashFusion: Miscellaneous cleanup (Mark Lundeberg)
- Made PyQt5 optional by default and installable by [full] or [gui] extra
requires (MrNaif2018)
- Android: add plural formulae for Arabic and Polish (Malcolm Smith)
- Android: use Babel so we don't need to handle every plural formula separately
(Malcolm Smith)
- Prompt to start Tor only if user has enabled autofuse for wallet (Calin
Culianu)
- Fix make_locale to be more pythonic (agilewalker)
- Exchange rates: Remove dead exchanges #1982 (Axel Gembe)
- Android: Sign transaction with schnorr #1988 (Jonas Lundqvist)
- CashFusion: Include 'distinct coins' concept when enforcing privacy threshold
(Mark Lundeberg)
- Qt: Set the layout direction based on user-configured language, for
right-to-left languages (Calin Culianu)
- Network dialog: Add capitalized Tor binary name #1989 (Axel Gembe)
- Run history_list_filter hook on updated labels #1990 (Jonas Lundqvist)

# Release 4.2.0
- Added support for scalnet test network, accessed with CLI arg --scalenet.
(Calin Culianu)
- CLI/Server: Added addtransaction arg to payto/paytomany (#1997) (MrNaif2018)
- Ledger: Fix warning about unverified inputs (#2003) (Axel Gembe)
- Ledger: Test firmware version for trusted input requirement, fixes failure
on older firmware < 1.4.0. (#2008) (Axel Gembe)
- Ledger: Update python dependencies (#2009) (Axel Gembe)
- Android: add Load & Sign unbroadcasted tx (#1986) (Matthew Clancy,
Malcolm Smith)
- Added ASERT tests (#2007) (Jonas Lundqvist)
- Added paymentrequest tests (#2011) (Jonas Lundqvist)
- Enable coverage HTML report (#2012) (Jonas Lundqvist)
- Use locale atof when sorting columns (#2015) (Jonas Lundqvist)
- Add Bitcoin Unlimited block explorer (#2016) (Jonas Lundqvist)
- CLI: Added RPA paycode support (#2006) (Jonald Fyookball & Calin Culianu)
- Dockerfile fixes for WINE and Linux AppImage (Calin Culianu)
- Got rid of `imp` rewriting of lib, plugins, and gui dirs in source tree.
(Calin Culianu, Axel Gembe, Malcolm Smith)
- Disable cointext: support from send tab & remove cointext code (#2022)
(Calin Culianu)
- Qt UI: Made all tabs except for "Console" ON by default (Calin Culianu)
- TxDialog: Add "Freeze Coins" button to freeze inputs before broadcast
(Calin Culianu)

# RELEASE NOTES 4.2.1

- CashFusion: Server-side checks to ensure "fast schnorr" is available on the


server. (Mark Lundeberg)
- Fixed a typo in the transaction dialog ("Unfeeze" -> "Unfreeze") #2027
(Axel Gembe)
- CashFusion: Various tweaks to starting logic, stopping behavior, bugfixes,
better handling for confirmed-only case, better handling when network down,
improved logic for wallet waiting to receive fusions. #2028, #2030
(Mark Lundeberg)
- Tor subprocess: Ensure daemonized (Mark Lundeberg)
- Android: Added fiat send, plus various fixes (Malcolm Smith)
- Added [Link] block explorers; added TestNet4 / ScaleNet explorer list
#2036 (Axel Gembe)
- Added a "View on block explorer" option for addresses in the TX dialog #2049
(Axel Gembe)
- Added shortcuts to Windows build for TestNet4 and ScaleNet #2050 (Axel Gembe)
- Fix for ScaleNet: Turns out it has a 2d half-life, not one hour. Bug caused
ScaleNet to stop working post-Nov 15th. Now it should work. (Calin Culianu)
- Various updates to server list. (Axel Gembe)
- Added checkpoint after HF block, also added CLI arg --taxcoin for ABC's coin.
(Calin Culianu)
- Network Dialog: Added advanced request throttling params (Calin Culianu)

# RELEASE NOTES 4.2.2

- Fixed a regression introduced in 4.2.1 where the checkpoint block being after
the asert anchor caused the code in [Link] to have a bad time.
(Calin Culianu)

# RELEASE NOTES 4.2.3

- Fixed rare None dereference. (Calin Culianu)


- Android: fix remaining issues with RTL languages such as Arabic
(Malcolm Smith)
- Ledger: Update USB ids for app-bitcoin version >= 1.5.1 (#2061) (Axel Gembe)
- Taxcoin: Add [Link] block explorer #2067 (Axel Gembe)
- Taxcoin: Add [Link] server #2066 (Axel Gembe)
- NetworkDialog: Fix glitches when restoring selection on update()
(Calin Culianu)
- Removed defunct CashShuffle servers (Calin Culianu)
- Android: move transactions screen from export_history to faster get_history
(#2063) (Malcolm Smith)
- Update macOS build notes (#2073) (Corentin Mercier)
- Android: refactor common list behavior into a base class (Malcolm Smith)
- CashFusion: fix minor race leading to exception #2077 (Mark Lundeberg)
- Android: note that this Chaquopy version is for Electron Cash only
(Malcolm Smith)
- Android: cache config in Python dict for performance (Malcolm Smith)
- Android: catch "not connected" exception in "Load transaction" (Malcolm Smith)
- Android: fix deprecated theme attribute in layout (Malcolm Smith)
- Android: make Send address box automatically parse request URLs
(Malcolm Smith)

# RELEASE NOTES 4.2.4

- Trezor: Fixed connecting autolocked device #2085 (Daniel Gonzalez Gasull)


- Fixed icon directory and added scalable icon #2089 (Emily Roberts)
- Added option to scan current screen for QR code #2091 #2093 (Jonas Lundqvist)
- Android: updated to Chaquopy 9.1.1 (Malcolm Smith)
- Android: improved performance and UI responsiveness (Malcolm Smith)
- Enabled fiat by default #2099 (Malcolm Smith)
- Improved performance of (un)freezing coins (Calin Culianu)
- Disabled Fiat display for testnets (Calin Culianu)
- Reduced time spent saving wallets #2106 #2110 (Malcolm Smith)
- Android: added more details when synchronizing (Malcolm Smith)
- Reduced synchronization time by reducing address saves #2113 (Malcolm Smith)
- Tor: Fixed proxy bypass for stem version >= 1.8.0 (Axel Gembe)
- Android: save wallets periodically during synchronization (Malcolm Smith)
- Android: when a wallet is loded, run a foreground service to prevent the
process from being killed (Malcolm Smith)
- macOS: Workaround for Qt UI not working on Big Sur (Calin Culianu)
- Satochip: use BIP39 by default & improve user interface #2127 (Toporin)
- Android: added adaptive icon (Malcolm Smith)
- Updated copyright year to 2021 #2126 (Marius Kjærstad)
- iOS: Fixed inability to restore Electrum seed wallet (Calin Culianu)
- Warn if a legacy addres is used #2129 (Daniel Gonzalez Gasull)
- AppImage: Build using Ubuntu 18.04 (Bionic) #2144 (Axel Gembe)
- Tor: Updated message parser to support version 0.4.5.x #2145 (Axel Gembe)
- Tor: Updated to version [Link]-rc with some patches #2145 #2147 (Axel Gembe)
- OpenSSL: Updated to version 1.1.1i #2148 (Axel Gembe)
- NSIS: Updated to version 3.06.1 #2150 (Axel Gembe)
- NSIS: Added an installer log. This fixes silent installation and accidental
file deletion #2153 (Axel Gembe)
- macOS: Updated PyQt5 to version 5.15.2 to fix Big Sur (Calin Culianu)
- AppImage: Build all binaries except PyQt5 from source #2159 (Axel Gembe)
- Windows: Updated PyInstaller to version 4.2 #2161 (Axel Gembe)
- Build: Updated Python to version 3.8.7 #2162 (Axel Gembe, Calin Culianu)
- Android: reduced network timeouts #971 (Malcolm Smith)
- Android: changed "sign transaction" to "save transaction" #2032 (Malcolm Smith)
- Reverted RPA paycode support #2170 (Mark B Lundeberg)
- Zbar: Updated to version 0.23.91 #2171 (Axel Gembe)
- Added Vietnamese Dong to CoinGecko exchange pairs #2178 (Hieu Van)
- macOS: Fix to mysterious and intermittent Segfault-on-exit (Calin Culianu)
- Various internal bugfixes and code refactoring #2087 #2095 #2097 #2117 #2140
#2143 #2151 #2155 #2156 #2158 #2160 #2154 #2176 (Daniel Gonzalez Gasull,
Calin Culianu, Axel Gembe, Mark B Lundeberg, Malcolm Smith, Pierre K, Toporin)

# RELEASE NOTES 4.2.5

- appimage build: build was failing on some host systems #2181 (SomberNight)
- Requirements: Restring PyQt5 version to >=5.12.3 and < 5.15.3 (Calin Culianu)
- Re-enabled PyQt 5.15.3 (Calin Culianu)
- OSX Fix: Allow for Mojave+ dark mode to work (requires Qt 5.15.2) (Calin Culianu)
- NSIS: Wait for the uninstaller to finish #2184 (Axel Gembe)
- NSIS: Ensure the process is not running when (un)installing #2184 (Axel Gembe)
- Servers: Add [Link] scalenet server #2186 (Axel Gembe)
- Servers: Fix indentation #2187 (Axel Gembe)
- Build: Use git version with patch for CVE-2021-21300 #2191 (Axel Gembe)
- [Link]: Fix typo #2192 (Axel Gembe)
- AppImage: Include libxcb into the image #2197 (Axel Gembe)
- Add [Link] to manifest #2200 (Jonas Lundqvist)
- Install Wizard: Add derivation path scanner #2199 (Jonas Lundqvist)
- Tweaks and fixups to the DerivationPathScanner (Calin Culianu)
- Build: Add cffi to the requirements #2203 (Axel Gembe)
- Android: add new layout screens for the choice between standard and multi-sig
wallet. (Aldin Kovačević)
- Android: reorganize code for creating a standard wallet.(Aldin Kovačević)
- Tor: Update to version [Link] with some patches #2205 (Axel Gembe)
- OpenSSL: Update to version 1.1.1j #2206 (Axel Gembe)
- Skip path derivation scan if seed is unavailable #2208 (Jonas Lundqvist)
- Shorten boolean expression, use double quotes #2209 (Daniel Gonzalez Gasull)
- Style changes (from backport), small refactorings #2211 (Daniel Gonzalez Gasull)
- Fix PR 2211 #2218 (agilewalker)
- Add [Link] #2222 (Georg Engelmann)
- Removed unreachable line of code #2224 #2234 (Daniel Gonzalez Gasull)
- OpenSSL: Update to version 1.1.1k #2225 (Axel Gembe)
- Python: Update to version 3.8.9 #2226 (Axel Gembe)
- Fixed typo #2227 (Kevin Nowaczyk)
- AppImage: Update OpenSSL to version 1.1.1-1ubuntu2.1~18.04.9
#2231 (Axel Gembe)
- Android: Added initial UI for multisg wallet creation. (Aldin Kovačević)
- Build: Verify the Python checksums #2239 (Axel Gembe)
- Android: Various commits to support multi-sig wallets (Aldin Kovačević)
- Remove CPFP (child pays for parent) (Calin Culianu)
- Update [Link] (Calin Culianu)
- Android: Using 'get_tx_info' to get the status of the transaction.
(Aldin Kovačević)
- Make make_locale check exit status of gettext commands #2259 (Malcolm Smith)
- Android: fix duplicate requirement, add missing string (Malcolm Smith)
- Android: update to Gradle 6.5 and Android Gradle plugin 4.1.2 (Malcolm Smith)
- Android: Added multisig wallets to the Android application #2279
(Aldin Kovačević)
- Look for external plugins in ELECTRON_CASH_PATH #2301 (Jonas Lundqvist)
- Support disabling JSON-RPC server in Daemon #2305 (MrNaif2018)
- [fusion] Increase 'fuzz fee' to be tier/10^6 #1984 (Mark B. Lundeberg)
- Add feerate argument to payto/paytomany #2306 (MrNaif2018)
- Android: catch overflow errors in AmountBox; closes #2288 (Malcolm Smith)
- Android: restore thousands commas in read-only fiat amounts; closes #2246
(Malcolm Smith)
- Android: Make PaymentRequest.has_expired always return a boolean; closes #2298
(Malcolm Smith)
- Android: Add missing interface_lock in Network.get_server_height; closes #2173
(Malcolm Smith)
- iOS: Support OP_RETURN transaction outputs #2307 (JOE LOYA )
- Android: many, many, many commits fixing many things related to v4.2.4-4
(Malcolm Smith)
- CashFusion: Add "spend only fused coins" to Send tab #2316 (Calin Culianu)
- Android: add sweep private keys command (Malcolm Smith)
- Fix daemon running in non-jsonrpc mode (MrNaif2018)
- Various Linux and Windows build fixups (Calin Culianu)
- Fixed build for OSX Mojave (Calin Culianu)
- Make OpenAlias accept 'bitcoincash:' prefix #2321 (Karol Trzeszczkowski)
- Updated checkpoints for mainnet, testnet3, and testnet4 (Calin Culianu)
- Removed support for ABC's "TaxCoin" (Calin Culianu)
- CashFusion Server: Allow testnets to have unlimited connections per IP
(Calin Culianu)
- CashFusion: Add depth checks #2325 (Jonas Lundqvist, Calin Culianu)
- CashFusion: Added a "Fusion Status" column to coins tab (Calin Culianu)
- macOS: Fix popup_widget display if running in dark mode (Calin Culianu)
- Remove [Link] block explorer #2328 (Jonas Lundqvist)
- CashFusion: Clarify status of coins on fused address #2329 (Jonas Lundqvist)
- Add more accurate exchange rate for ARS #2326 (Santiago Chiabotto)

# RELEASE NOTES 4.2.6

- History list - Made fiat balance changes also appear in red (scinklja)
- Implement unconfirmed invoices status (MrNaif2018)
- Add ability to forget config on exit (MrNaif2018)
- Fire payment_received event on confirmation too (MrNaif2018)
- macOS: Set minimum system version to 10.14.0 in [Link] (cculianu)
- Add native introspection opcodes (upcoming May 2022 additions to
script) #2339 (cculianu)
- CashFusion: Default fusion depth, if checked, to 3 (cculianu)
- Trivial fix: Allow plugins to use qt/[Link] filename_field (acidsploit)
- Added [Link] to server list (Josh Green)
- Fixups for iOS 15+ (cculianu)
- Android: Remove pycparser from [Link] (Malcolm Smith)
- Android: improve string conversion script, and make it detect some errors
(Malcolm Smith)
- Fixups for Python 3.10 (cculianu)
- add kisternet v3 onion to testnet (jkister)
- Qt: Add cleanup code to avoid random segfault on exit (cculianu)
- AppImage: Fixed to work on Debian and Tails #2245 (Axel Gembe)

# RELEASE NOTES 4.2.7

- Fix for off-by-one error in op_push in [Link] (cculianu)


- Fix [Link] push_script to implement BIP62 correctly (cculianu)
- backport: [Link]: bugfixes re bits_to_target and target_to_bits
(SomberNight)
- Update copyright year to 2022 (sandakersmann)
- Fix to allow fusions to continue while keeping dust protection
(Emergent Reasons)
- Android: replace deprecated jcenter repository with mavenCentral (mhsmith)
- Remove ADDRTYPE_*_BITPAY (Jonas Lundqvist)
- Add new option: "Retire unused change addresses" #2408 (cculianu)
- Relax qdarkstyle version bound #2396 (MrNaif2018)
- Add support for Satochip hardware wallet v0.12 (Toporin)

# RELEASE NOTES 4.2.8


- Patch for Satochip v0.12 support #2410 (Toporin)
- Add smartBCH LNS name lookup support #2414 (mainnet-pat, cculianu)
- Build: Update the Wine build docker container to use the MSVC compiler
(Axel Gembe)
- Misc build fixups related to the addition of web3 support (cculianu)
- wine-build: add workaround for installing pyinstaller (SomberNight)
- Build: Patch pip vendored distlib to produce deterministic zip archives
(Axel Gembe)
- Build: Install a MSVC linker wrapper to make PE timestamps deterministic
(Axel Gembe, cculianu)
- CashFusion: Add 10BCH fusion tier (SahidMiller)
- CTOR workaround: Always display receives before sends for the same block
(cculianu)
- MacOS-build: Build custom pyinstaller from git (SomberNight, cculianu)
- Update libsqlite3 version for AppImage #2435 (Axel Gembe)
- Update bundled Tor to version [Link] #2434 (Axel Gembe)
- Update OpenSSL to version 1.1.1o #2437 (Axel Gembe)
- Wine: Update to version 7.7 #2436 (Axel Gembe)
- Network: Fix for incorrect usage of python when formatting an errmsg
(cculianu)

# RELEASE NOTES 4.2.9

- LNS: Fix crash in multiple_result_picker (cculianu)


- LNS: Make the web3 dependencies optional #2441. This allows distro packages
to not have to pull them in to provide electron-cash. (cculianu)
- LNS: Fix to the "add to contacts" button + misc code nits (cculianu)
- Qt: Disable destroyed_print_error unless a static flag is set. This fixes
some of the crash issues seen on Windows. (cculianu)
- LNS: Bugfix whereby GUI was being sometimes access from a thread. This
fixes the remaining portion (hopefully) of the crash issues seen on
Windows. (cculianu)
- LNS: Misc fixups and code cleanup (cculianu)

# RELEASE NOTES 4.2.10

- Windows build: Restored reproducibility of the Windows build #2444


(Axel Gembe)
- Removal of dead code (cculianu)
- Fixup for dark mode on some Linux and Windows systems (Pierre K)

You might also like