|
@ -1,32 +1,52 @@ |
|
|
# Release 4.0.0b0 - Codename? (June XX, 2020) |
|
|
# Release 4.0 - (not released yet. ETA June 2020) |
|
|
|
|
|
|
|
|
* Experimental support for the Lightning Network |
|
|
* Lightning Network support (experimental) |
|
|
- Lightning is disabled by default. It can be enabled, per-wallet, |
|
|
- Our implementation of Lightning relies on Electrum servers to |
|
|
in the GUI, in Wallet>Information (or init_lightning cmd). Currently |
|
|
query channel states. Since servers can lie about the state of a |
|
|
Lightning is restricted to HD p2wpkh wallets (including watch-only |
|
|
channel, users should either use a server that they trust, or |
|
|
and hardware wallets). |
|
|
setup a private watchtower (see below). A watchtower is also |
|
|
|
|
|
recommended for lightning wallets that remain offline for |
|
|
|
|
|
extended periods of time (the default CSV 'to_self_delay' is 1 |
|
|
|
|
|
week). |
|
|
|
|
|
- Lightning funds cannot be restored from seed. Instead, users need |
|
|
|
|
|
to create static backups of their channels. Static backups cannot |
|
|
|
|
|
be used to perform lightning transactions, they can only be used |
|
|
|
|
|
to trigger a remote-force-close of a channel. |
|
|
|
|
|
- Lightning-enabled wallet files must not be copied. Instead, a |
|
|
|
|
|
backup of the wallet can be created from the Qt menu, and it will |
|
|
|
|
|
contain static backups of all its channels. Backups can also be |
|
|
|
|
|
exported for each channel (e.g. via QR code), and imported in |
|
|
|
|
|
another wallet. Since backups are encrypted with a key derived |
|
|
|
|
|
from the wallet's xpub, they can only be imported into another |
|
|
|
|
|
instance of the same wallet, or a watch-only version of it. The |
|
|
|
|
|
force-close is not triggered automatically when the backup is |
|
|
|
|
|
imported; imported backups can live inside a wallet file. |
|
|
|
|
|
- Lightning can be enabled in the GUI (Wallet>Information) or from |
|
|
|
|
|
the CLI (init_lightning). Lightning is currently restricted to HD |
|
|
|
|
|
p2wpkh wallets (including watch-only and hardware wallets). The |
|
|
|
|
|
Qt GUI, CLI/RPC, and the kivy GUI all have LN support, with |
|
|
|
|
|
feature-richness in that order. |
|
|
- LN protocol details: dataloss_protect and static_remotekey are |
|
|
- LN protocol details: dataloss_protect and static_remotekey are |
|
|
required; varonion and payment_secret are implemented, MPP not yet. |
|
|
required; varonion and payment_secret are implemented, MPP not yet. |
|
|
Channels are not announced ('private'), forwarding is disabled. |
|
|
Channels are not announced ('private'), forwarding is disabled. |
|
|
The default 'to_self_delay' CSV is 1 week. |
|
|
Gossip queries are not implemented. |
|
|
- The Qt GUI, CLI/RPC, and the kivy GUI all have LN support, |
|
|
|
|
|
with feature-richness in that order. |
|
|
|
|
|
- Submarine swaps: the GUI integrates a service that offers |
|
|
- Submarine swaps: the GUI integrates a service that offers |
|
|
atomically exchanging on-chain and lightning bitcoins for a fee. |
|
|
atomically exchanging on-chain and lightning bitcoins for a fee. |
|
|
Electrum Technologies runs a central server for this, powered by |
|
|
Electrum Technologies runs a central server for this, powered by |
|
|
the Boltz backend. |
|
|
the Boltz backend. |
|
|
- Static channel backups: a backup for each channel can be exported |
|
|
- Watchtowers: Electrum can run a local watchtower (GUI setting), |
|
|
that can be used to trigger a remote-force-close. These are |
|
|
or it can connect to a remote watchtower. A watchtower contains |
|
|
encrypted from a key derived from the wallet's xpub, and can |
|
|
pre-signed transactions and does not need your private keys. A |
|
|
be imported into another copy of the same wallet or a watch-only |
|
|
local watchtower will watch your channels whenever an Electrum |
|
|
version of it. (the force close is not triggered automatically, |
|
|
instance is running, without needing access to your wallet file. |
|
|
imported backups can live inside a wallet file) |
|
|
An Electrum daemon can be configured to be used as a remote |
|
|
- watchtowers? |
|
|
watchtower by setting 'watchtower_address', 'watchtower_user' and |
|
|
* Support Partially Signed Bitcoin Transactions (BIP-174) has been |
|
|
'watchtower_password'. |
|
|
fully integrated. (#5721) The previously used custom partial tx |
|
|
* Partially Signed Bitcoin Transactions (PSBT, BIP-174) are supported |
|
|
format is removed, i.e. the partial transaction format has been |
|
|
(#5721). The previous Electrum partial transaction format is no |
|
|
incompatibly changed. Users should make sure that all instances of |
|
|
longer supported, i.e. this is an incompatible change. Users should |
|
|
Electrum they use to co-sign or offline sign, are updated together. |
|
|
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: |
|
|
* Hardware wallets: several fixes in general; notable changes: |
|
|
- The BitBox02 is now supported (#5993) |
|
|
- The BitBox02 is now supported (#5993) |
|
|
- Multisig support for Coldcard (#5440) |
|
|
- Multisig support for Coldcard (#5440) |
|
@ -43,8 +63,9 @@ |
|
|
e.g. RBF fee-bumping, LN channel opens, submarine swaps. |
|
|
e.g. RBF fee-bumping, LN channel opens, submarine swaps. |
|
|
- Editable tx preview dialog that allows e.g. changing the locktime, |
|
|
- Editable tx preview dialog that allows e.g. changing the locktime, |
|
|
toggling RBF, and manual coinjoins. |
|
|
toggling RBF, and manual coinjoins. |
|
|
* Http PayServer changes: the electrum-merchant repository has been |
|
|
* HTTP PayServer: The configuration of a bitcoin-accepting website |
|
|
integrated directly into the main codebase. |
|
|
using Electrum has been simplified and requires fewer steps (see |
|
|
|
|
|
documentation). The Payserver supports BIP70 and Lightning payments. |
|
|
* Android: |
|
|
* Android: |
|
|
- We now build two APKs, one for ARMv7 and one for ARMv8 |
|
|
- We now build two APKs, one for ARMv7 and one for ARMv8 |
|
|
- The kivy GUI now supports importing BIP39 seeds |
|
|
- The kivy GUI now supports importing BIP39 seeds |
|
|