Eclair v0.4.2 Release Notes

Release Date: 2020-10-19 // over 3 years ago
  • ๐Ÿš€ This release includes many exciting new features, API changes as well as several bug fixes and improvements.
    Its is fully compatible with 0.4.1 (and all previous versions of eclair).

    Major changes

    ๐Ÿ”Œ Plugins

    ๐Ÿ”Œ Third-party plugins are now able to add new feature bits to eclair and handle unknown custom messages.
    ๐Ÿ”Œ This lets plugin developers offer services to their customers that are not available in the Lightning specification (e.g. swap-in/swap-out), while staying fully compatible with the network.

    ๐Ÿ‘€ See #1528 for more details.

    Anchor Outputs

    ๐Ÿš€ This release adds experimental support for anchor outputs channels.
    The main benefit of this type of channels is that it is possible to bump the on-chain fees of commitment transactions and htlc transactions once they are in the mempool to speed up their confirmation.

    Eclair is fully compatible with the anchor output specification, but automatic fee bumping has not been implemented yet, hence we do not recommend activating the feature.
    ๐Ÿš€ Some attacks that are specific to anchor outputs have also been discovered recently and haven't been fully addressed yet, but will be fixed in future releases.

    Keysend

    ๐Ÿš€ This release adds support for spontaneous payments using keysend.
    It is fully compatible with lnd and c-lightning and makes it easy for public LN nodes to receive donations.

    API changes

    ๐Ÿš€ This release contains many new APIs and improvements to existing ones:

    • โž• Add signmessage/verifymessage APIs: this allows signing arbitrary messages with the node's key and is compatible with lnd and c-lightning
    • We publish new channel events to the websocket (channel-opened, channel-state-changed and channel-closed)
    • The sendtoroute API now lets you choose the channels that must be used, making it easy to rebalance your local channels

    ๐Ÿ“š Head over to our API documentation for more details.

    ๐Ÿ›  Miscellaneous improvements and bug fixes

    • ๐Ÿ”จ Many actors have been refactored to use Akka Typed instead of classic actors.
      ๐Ÿ‘ This leads to a cleaner design, better types and more help from the compiler to detect unhandled messages.
    • ๐Ÿ‘ We added support for Bitcoin Core 0.20.1.
    • ๐Ÿ‘€ We added support for non-default Bitcoin Core wallets (see #1540 for details)
    • ๐Ÿ”ง We fixed the override-features configuration parameter, which wasn't overriding features everywhere. This parameter can be very useful for example to sync only from specific nodes, or advertize wumbo support only to nodes that you trust.

    ๐Ÿ‘Œ 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 19.10
    • AdoptOpenJDK 11.0.6
    • Maven 3.6.3

    ๐Ÿ“ฆ Use the following command to generate the eclair-node package:

    mvn clean install -DskipTests
    

    That should generate eclair-node/target/eclair-node-0.4.2-XXXXXXX-bin.zip with sha256 checksums that matches 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 Eclair v0.4.1. You don't need to close your channels, just stop eclair, upgrade and restart.

    ๐Ÿ”„ Changelog