Skip to content

Commit

Permalink
final release notes
Browse files Browse the repository at this point in the history
  • Loading branch information
ecdsa committed Mar 30, 2021
1 parent f830939 commit e0b5701
Showing 1 changed file with 23 additions and 33 deletions.
56 changes: 23 additions & 33 deletions RELEASE-NOTES
Original file line number Diff line number Diff line change
@@ -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
Lightning protocol. While our initial Lightning release was mostly
about supporting the protocol, this release brings new features, that
are specifically aimed at keeping Electrum lightweight and trustless,
and avoiding single points of failure. Most of the new features in
this release are user-visible.

about supporting the protocol, this release brings features that are
specifically aimed at keeping Electrum lightweight and trustless,
while avoiding single points of failure. Most of the features listed
below are user-visible.
* The wallet creation wizard no longer asks for a seed type, and
creates segwit wallets with bech32 addresses. Older seed types can
still be created with the command line.

* Paid Invoices (both incoming and outgoing) are automatically
removed from the lists visible in the GUI (one confirmation is
* Paid invoices (both incoming and outgoing) are automatically
removed from the send/receive lists of the GUI (one confirmation is
needed for onchain invoices). Once removed from the list, invoice
details can still be accessed from the transaction history. In Qt,
invoice lists have been renamed to 'Sending queue' and 'Receiving
queue'.

* Lightning:
- recoverable channels (see below)
- trampoline payments (see below)
- support multi-part-payment
- support upfront-shutdown-script

* Recoverable channels (option):
- Recovery data is added to the channel funding transaction using
an OP_RETURN. This makes it possible to recover a static backup
Expand Down Expand Up @@ -51,61 +47,52 @@ this release are user-visible.
output, in case the wallet is lost in a boating accident before
expiration of the CSV delay. For that reason, an additional
backup is presented to the user if they force-close a channel.

* Trampoline routing (option): Trampoline is a solution that allows a
light client to delegate path-finding on the Lightning Network,
without having to download the full network graph. Trampoline was
originally proposed by Bastien Teinturier and is currently used in
Phoenix, with the ACINQ node. Here is how it works in Electrum:

- Trampoline is enabled by default in Electrum, in order to prevent
unwanted download of the network gossip. If trampoline is
disabled, the gossip will be downloaded, regardless of the
existence of channels.

* Trampoline routing (option): Trampoline is a solution that allows
light clients to delegate path-finding on the Lightning Network, so
that they do not have to download the entire network
graph. Trampoline routing was originally proposed by Bastien
Teinturier and is used in the Phoenix wallet. Here is how
Trampoline works in Electrum:
- Trampoline is enabled by default, in order to prevent unwanted
download of the network gossip. If trampoline is disabled, the
gossip will be downloaded, regardless of the existence of
channels.
- Because there is no discovery mechanism for trampoline nodes, the
list of available trampolines is hardcoded in the client (it will
remain so until support for trampoline routing is announced in
gossip). 3 trampoline nodes are currently available on mainnet:
ACINQ, Electrum and Hodlister.

- If Trampoline is enabled:
- payments use trampoline routing.
- gossip is disabled.
- the wallet can only open channels with trampoline nodes.
- pre-existing channels with non-trampoline nodes are frozen for
sending.

- There are two types of trampoline payments: legacy and trampoline
end-to-end. Legacy payments are possible with any receiver, but
they offer less privacy than end-to-end trampoline
payments. Electrum decides whether to perform legacy or
end-to-end based on the features in the invoice:
- OPTION_TRAMPOLINE_ROUTING_OPT (bit 25) for Electrum
- OPTION_TRAMPOLINE_ROUTING_OPT_ECLAIR (bit 51) for Eclair/Phoenix

- When performing a legacy payment, Electrum will add a second
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 two-trampoline strategy has failed for all trampolines.
(Note: two-trampoline payments are currently not possible if the
first trampoline is the ACINQ node, and is disabled for that
node.)

- Similar to Phoenix, the fee and CLTV delay are found by
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
temporary; the final specification should add fee information in
the failure messages, so that we will be able to better fine-tune
trampoline fees.

* Qt: The increase fee dialog now has advanced options, and offers
the choice between different RBF strategies.

* Watchtowers: The 'use_local_watchtower' feature is deprecated, and
it has been removed from the Qt GUI. The 'use_remote_watchtower'
setting has been renamed to 'use_watchtower'.

* 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:
Expand All @@ -116,16 +103,19 @@ this release are user-visible.
'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.

* Submarine swaps are now available on kivy/android.

* Android PIN reset: If the password is unified, the PIN can be reset
by providing the password.

* Android: on-chain fees have been removed from the settings
dialog. Instead, the fee slider is shown to the user everytime an
on-chain transaction will be performed (sending a payment, opening
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)
Expand Down

0 comments on commit e0b5701

Please sign in to comment.