1
0
Fork 0
mirror of https://github.com/ACINQ/eclair.git synced 2025-03-13 11:35:47 +01:00
eclair/docs/release-notes/eclair-vnext.md
Bastien Teinturier 3aac8da146
Implement option_simple_close (#2967)
We add support for the latest channel closing protocol described in
https://github.com/lightning/bolts/pull/1205. This is a prerequisite
for taproot channels.

We introduce a new `NEGOTIATING_SIMPLE` state where we exchange the
`closing_complete` and `closing_sig` messages, and allow RBF-ing previous
transactions and updating our closing script.

We stay in that state until one of the transactions confirms, or a force
close is detected. This is important to ensure we're able to correctly
reconnect and negotiate RBF candidates.

We keep this separate from the previous `NEGOTIATING` state to make it
easier to remove support for the older mutual close protocols once we're
confident the network has been upgraded.
2025-02-13 15:20:18 +01:00

3.3 KiB

Eclair vnext

Major changes

Simplified mutual close

This release includes support for the latest mutual close protocol. This protocol allows both channel participants to decide exactly how much fees they're willing to pay to close the channel. Each participant obtains a channel closing transaction where they are paying the fees.

Once closing transactions are broadcast, they can be RBF-ed by calling the close RPC again with a higher feerate:

./eclair-cli close --channelId=<channel_id> --preferredFeerateSatByte=<rbf_feerate>

Peer storage

With this release, eclair supports the option_provide_storage feature introduced in https://github.com/lightning/bolts/pull/1110. When option_provide_storage is enabled, eclair will store a small encrypted backup for peers that request it. This backup is limited to 65kB and node operators should customize the eclair.peer-storage configuration section to match their desired SLAs. This is mostly intended for LSPs that serve mobile wallets to allow users to restore their channels when they switch phones.

Eclair requires a Java 21 runtime

Eclair now targets Java 21 and requires a compatible Java Runtime Environment. It will no longer work on JRE 11 or JRE 17. There are many organisations that package Java runtimes and development kits, for example OpenJDK 21.

API changes

Miscellaneous improvements and bug fixes

Gossip sync limits

On reconnection, eclair now only synchronizes its routing table with a small number of top peers instead of synchronizing with every peer. If you already use sync-whitelist, the default behavior has been modified and you must set router.sync.peer-limit = 0 to keep preventing any synchronization with other nodes. You must also use router.sync.whitelist instead of sync-whitelist.

Verifying signatures

You will need gpg and our release signing key 7A73FE77DE2C4027. Note that you can get it:

To import our signing key:

$ gpg --import drouinf.asc

To verify the release file checksums and signatures:

$ gpg -d SHA256SUMS.asc > SHA256SUMS.stripped
$ sha256sum -c SHA256SUMS.stripped

Building

Eclair builds are deterministic. To reproduce our builds, please use the following environment (*):

  • Ubuntu 24.04.1
  • Adoptium OpenJDK 21.0.4

Use the following command to generate the eclair-node package:

./mvnw clean install -DskipTests

That should generate eclair-node/target/eclair-node-<version>-XXXXXXX-bin.zip with sha256 checksums that match the one we provide and sign in SHA256SUMS.asc

(*) You may be able to build the exact same artefacts with other operating systems or versions of JDK 11, we have not tried everything.

Upgrading

This release is fully compatible with previous eclair versions. You don't need to close your channels, just stop eclair, upgrade and restart.

Changelog

<fill this section when publishing the release with git log v0.11.0... --format=oneline --reverse>