final release notes
This commit is contained in:
@@ -1,29 +1,25 @@
|
|||||||
# Release 4.1.0 - Kangaroo (not released yet)
|
# Release 4.1.0 - Kangaroo (March 30, 2021)
|
||||||
|
|
||||||
This version is our first major release since we implemented the
|
This version is our first major release since we implemented the
|
||||||
Lightning protocol. While our initial Lightning release was mostly
|
Lightning protocol. While our initial Lightning release was mostly
|
||||||
about supporting the protocol, this release brings new features, that
|
about supporting the protocol, this release brings features that are
|
||||||
are specifically aimed at keeping Electrum lightweight and trustless,
|
specifically aimed at keeping Electrum lightweight and trustless,
|
||||||
and avoiding single points of failure. Most of the new features in
|
while avoiding single points of failure. Most of the features listed
|
||||||
this release are user-visible.
|
below are user-visible.
|
||||||
|
|
||||||
* The wallet creation wizard no longer asks for a seed type, and
|
* The wallet creation wizard no longer asks for a seed type, and
|
||||||
creates segwit wallets with bech32 addresses. Older seed types can
|
creates segwit wallets with bech32 addresses. Older seed types can
|
||||||
still be created with the command line.
|
still be created with the command line.
|
||||||
|
* Paid invoices (both incoming and outgoing) are automatically
|
||||||
* Paid Invoices (both incoming and outgoing) are automatically
|
removed from the send/receive lists of the GUI (one confirmation is
|
||||||
removed from the lists visible in the GUI (one confirmation is
|
|
||||||
needed for onchain invoices). Once removed from the list, invoice
|
needed for onchain invoices). Once removed from the list, invoice
|
||||||
details can still be accessed from the transaction history. In Qt,
|
details can still be accessed from the transaction history. In Qt,
|
||||||
invoice lists have been renamed to 'Sending queue' and 'Receiving
|
invoice lists have been renamed to 'Sending queue' and 'Receiving
|
||||||
queue'.
|
queue'.
|
||||||
|
|
||||||
* Lightning:
|
* Lightning:
|
||||||
- recoverable channels (see below)
|
- recoverable channels (see below)
|
||||||
- trampoline payments (see below)
|
- trampoline payments (see below)
|
||||||
- support multi-part-payment
|
- support multi-part-payment
|
||||||
- support upfront-shutdown-script
|
- support upfront-shutdown-script
|
||||||
|
|
||||||
* Recoverable channels (option):
|
* Recoverable channels (option):
|
||||||
- Recovery data is added to the channel funding transaction using
|
- Recovery data is added to the channel funding transaction using
|
||||||
an OP_RETURN. This makes it possible to recover a static backup
|
an OP_RETURN. This makes it possible to recover a static backup
|
||||||
@@ -51,31 +47,27 @@ this release are user-visible.
|
|||||||
output, in case the wallet is lost in a boating accident before
|
output, in case the wallet is lost in a boating accident before
|
||||||
expiration of the CSV delay. For that reason, an additional
|
expiration of the CSV delay. For that reason, an additional
|
||||||
backup is presented to the user if they force-close a channel.
|
backup is presented to the user if they force-close a channel.
|
||||||
|
* Trampoline routing (option): Trampoline is a solution that allows
|
||||||
* Trampoline routing (option): Trampoline is a solution that allows a
|
light clients to delegate path-finding on the Lightning Network, so
|
||||||
light client to delegate path-finding on the Lightning Network,
|
that they do not have to download the entire network
|
||||||
without having to download the full network graph. Trampoline was
|
graph. Trampoline routing was originally proposed by Bastien
|
||||||
originally proposed by Bastien Teinturier and is currently used in
|
Teinturier and is used in the Phoenix wallet. Here is how
|
||||||
Phoenix, with the ACINQ node. Here is how it works in Electrum:
|
Trampoline works in Electrum:
|
||||||
|
- Trampoline is enabled by default, in order to prevent unwanted
|
||||||
- Trampoline is enabled by default in Electrum, in order to prevent
|
download of the network gossip. If trampoline is disabled, the
|
||||||
unwanted download of the network gossip. If trampoline is
|
gossip will be downloaded, regardless of the existence of
|
||||||
disabled, the gossip will be downloaded, regardless of the
|
channels.
|
||||||
existence of channels.
|
|
||||||
|
|
||||||
- Because there is no discovery mechanism for trampoline nodes, the
|
- Because there is no discovery mechanism for trampoline nodes, the
|
||||||
list of available trampolines is hardcoded in the client (it will
|
list of available trampolines is hardcoded in the client (it will
|
||||||
remain so until support for trampoline routing is announced in
|
remain so until support for trampoline routing is announced in
|
||||||
gossip). 3 trampoline nodes are currently available on mainnet:
|
gossip). 3 trampoline nodes are currently available on mainnet:
|
||||||
ACINQ, Electrum and Hodlister.
|
ACINQ, Electrum and Hodlister.
|
||||||
|
|
||||||
- If Trampoline is enabled:
|
- If Trampoline is enabled:
|
||||||
- payments use trampoline routing.
|
- payments use trampoline routing.
|
||||||
- gossip is disabled.
|
- gossip is disabled.
|
||||||
- the wallet can only open channels with trampoline nodes.
|
- the wallet can only open channels with trampoline nodes.
|
||||||
- pre-existing channels with non-trampoline nodes are frozen for
|
- pre-existing channels with non-trampoline nodes are frozen for
|
||||||
sending.
|
sending.
|
||||||
|
|
||||||
- There are two types of trampoline payments: legacy and trampoline
|
- There are two types of trampoline payments: legacy and trampoline
|
||||||
end-to-end. Legacy payments are possible with any receiver, but
|
end-to-end. Legacy payments are possible with any receiver, but
|
||||||
they offer less privacy than end-to-end trampoline
|
they offer less privacy than end-to-end trampoline
|
||||||
@@ -83,7 +75,6 @@ this release are user-visible.
|
|||||||
end-to-end based on the features in the invoice:
|
end-to-end based on the features in the invoice:
|
||||||
- OPTION_TRAMPOLINE_ROUTING_OPT (bit 25) for Electrum
|
- OPTION_TRAMPOLINE_ROUTING_OPT (bit 25) for Electrum
|
||||||
- OPTION_TRAMPOLINE_ROUTING_OPT_ECLAIR (bit 51) for Eclair/Phoenix
|
- OPTION_TRAMPOLINE_ROUTING_OPT_ECLAIR (bit 51) for Eclair/Phoenix
|
||||||
|
|
||||||
- When performing a legacy payment, Electrum will add a second
|
- When performing a legacy payment, Electrum will add a second
|
||||||
trampoline node to the route in order to protect the privacy of
|
trampoline node to the route in order to protect the privacy of
|
||||||
the payer and payee. It will fall back to a single trampoline if
|
the payer and payee. It will fall back to a single trampoline if
|
||||||
@@ -91,21 +82,17 @@ this release are user-visible.
|
|||||||
(Note: two-trampoline payments are currently not possible if the
|
(Note: two-trampoline payments are currently not possible if the
|
||||||
first trampoline is the ACINQ node, and is disabled for that
|
first trampoline is the ACINQ node, and is disabled for that
|
||||||
node.)
|
node.)
|
||||||
|
|
||||||
- Similar to Phoenix, the fee and CLTV delay are found by
|
- Similar to Phoenix, the fee and CLTV delay are found by
|
||||||
trial-and-error. If there is a second trampoline in the route, we
|
trial-and-error. If there is a second trampoline in the route, we
|
||||||
use the same fee/CLTV for both. This trial-and-error is
|
use the same fee/CLTV for both. This trial-and-error is
|
||||||
temporary; the final specification should add fee information in
|
temporary; the final specification should add fee information in
|
||||||
the failure messages, so that we will be able to better fine-tune
|
the failure messages, so that we will be able to better fine-tune
|
||||||
trampoline fees.
|
trampoline fees.
|
||||||
|
|
||||||
* Qt: The increase fee dialog now has advanced options, and offers
|
* Qt: The increase fee dialog now has advanced options, and offers
|
||||||
the choice between different RBF strategies.
|
the choice between different RBF strategies.
|
||||||
|
|
||||||
* Watchtowers: The 'use_local_watchtower' feature is deprecated, and
|
* Watchtowers: The 'use_local_watchtower' feature is deprecated, and
|
||||||
it has been removed from the Qt GUI. The 'use_remote_watchtower'
|
it has been removed from the Qt GUI. The 'use_remote_watchtower'
|
||||||
setting has been renamed to 'use_watchtower'.
|
setting has been renamed to 'use_watchtower'.
|
||||||
|
|
||||||
* Password unification (Android only): When the Android app is
|
* Password unification (Android only): When the Android app is
|
||||||
started, the entered password is checked against all wallets in
|
started, the entered password is checked against all wallets in
|
||||||
the directory. If the test passes:
|
the directory. If the test passes:
|
||||||
@@ -116,16 +103,19 @@ this release are user-visible.
|
|||||||
'Settings' dialog, the description for the password setting is
|
'Settings' dialog, the description for the password setting is
|
||||||
'Change password for this wallet' if the password is not unified,
|
'Change password for this wallet' if the password is not unified,
|
||||||
and becomes 'Change password' if password is unified.
|
and becomes 'Change password' if password is unified.
|
||||||
|
|
||||||
* Submarine swaps are now available on kivy/android.
|
* Submarine swaps are now available on kivy/android.
|
||||||
|
|
||||||
* Android PIN reset: If the password is unified, the PIN can be reset
|
* Android PIN reset: If the password is unified, the PIN can be reset
|
||||||
by providing the password.
|
by providing the password.
|
||||||
|
|
||||||
* Android: on-chain fees have been removed from the settings
|
* Android: on-chain fees have been removed from the settings
|
||||||
dialog. Instead, the fee slider is shown to the user everytime an
|
dialog. Instead, the fee slider is shown to the user everytime an
|
||||||
on-chain transaction will be performed (sending a payment, opening
|
on-chain transaction will be performed (sending a payment, opening
|
||||||
a channel, initiating a submarine swap)
|
a channel, initiating a submarine swap)
|
||||||
|
* BIP-0350: use bech32m for witness version 1+ addresses (4315fa43).
|
||||||
|
We have supported sending to any witness version since Electrum
|
||||||
|
3.0, using BIP-0173 (bech32) addresses. BIP-0350 makes a breaking
|
||||||
|
change in address encoding, and recommends using a new encoding
|
||||||
|
(bech32m) for sending to witness version 1 and later.
|
||||||
|
* Block explorer: allow setting a custom URL in Qt GUI (#6965)
|
||||||
|
|
||||||
|
|
||||||
# Release 4.0.9 - (Dec 18, 2020)
|
# Release 4.0.9 - (Dec 18, 2020)
|
||||||
|
|||||||
Reference in New Issue
Block a user