Skip to content

Releases: ACINQ/eclair

Eclair v0.2-beta7

15 Oct 16:32
c564f51
Compare
Choose a tag to compare
Eclair v0.2-beta7 Pre-release
Pre-release

This is a maintenance release of eclair, which is now compatible with Bitcoin Core v0.17.0 (see our README).It will also work with Bitcoin Core v0.16.3.

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

Upgrading

This release is compatible with Eclair v0.2-beta6. You don't need to close your channels, just stop eclair, upgrade and restart.

Change log

  • Only persist trimmed htlcs (#724)

  • Add instructions for Bitcoin Core 0.17.0 (#732)

  • Update scalatest and remove junit runner (#728)

  • Simplify bitcoind version check (#731)

  • Complete commit logs

Eclair v0.2-beta6

26 Sep 15:59
3fc5da0
Compare
Choose a tag to compare
Eclair v0.2-beta6 Pre-release
Pre-release

This is a maintenance release of eclair, which includes several improvements and bug fixes, including:

  • improved reporting, more readable and parseable logs, with a default rolling policy (one log file per day)
  • support for channel range queries, a feature which will speed-up routing table synchronization. This is an important feature for light nodes (mobile nodes, ...)
  • an audit database which keeps tracks of received/sent/relayed payments and miners fee, and new audit, networkfees and channelstats API calls
  • a "smooth" fee rate estimator, which will prevent channels from being closed when onchain fees change suddenly and peers don't agree on onchain fee rates
  • temporary bans of peers that send too many bad routing info items (such as channels announcements for channels that have already been closed)

We strongly recommend that users upgrade their nodes.

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

Upgrading

This release is compatible with Eclair v0.2-beta5. You don't need to close your channels, just stop eclair, upgrade and restart.

Change log

  • Make publishTransaction idempotent (#711)
  • Tests: use bitcoind 0.16.3 (#715)
  • Replace update_fee in commitments (#709)
  • Fix handling of born again channels (#717)
  • Ignore 'origin htlc not found' in CLOSING (#708)
  • Routing sync fixes (#712)
  • Fixed regression in rebroadcast (#713)
  • Set default max-htlc-value-in-flight-msat=50mBTC (#707)
  • Improve integration tests (#710)
  • Remember pruned channels (#706)
  • Ignore bad announcements sent by peers (#705)
  • Added LocalCommitConfirmed event (#701)
  • Improve startup error handling (#696)
  • Correctly handle multiple channel_range_replies (#704)
  • Added catch-all handler for local commit (minor) (#699)
  • Switched commitment log level to info (minor) (#700)
  • Handle overriden htlcs in remote close scenario (#697)
  • Multiple fixes in payment lifecycle (#693)
  • Mention Docker in our build instructions (fixes #669) (#685)
  • Fixed htlc absolute expiry checks (#687)
  • Removed max body size in http client (#686)
  • Add a "smooth" fee provider (#684)
  • Add logging customisation info (#680)
  • (trivial) restore gitter logo color
  • Add an issue template (#683)
  • Use user-provided fee rate for funding tx (fixes #639)
  • Fixed some logs and added ChannelPersisted event (#674)
  • Send query_short_channel_ids sequentially (#672)
  • Handle unknown remote commit in recovery logic (#667)
  • Get full blocks when looking for spending tx (#666)
  • Fail unsigned outgoing htlcs at CLOSING (#660)
  • Audit: Keep track of sent/received/relayed payments and relay/network fees (#654)
  • Fix Bitcoin JSON RPC client's rounding errors (#616)
  • Send an event when an error occurs in a channel (#663)
  • Clean up ExecutionContext/ActorSystem (#652)
  • Use "unsigned long" comparison for short channel ids (#656)
  • Improve initial routing sync (#453)
  • Relay payments to channel with highest balance (#648)
  • Set MIN_CLTV_EXPIRY to 9 as per BOLT 11 (#650)
  • Added context to logs (#638)
  • Electrum: add wallet and watcher tests (via Docker) (#592)
  • Revert "electrum: make docker tests run on windows/mac"
  • electrum: make docker tests run on windows/mac
  • Can generate payment request with extra routing information (#637)
  • Proper parsing of public-ips config parameter
  • Complete commit logs

Thank you @btcontract @gustavonalle @n1bor @nayuta-gondo @rorp !

Eclair v0.2-beta5

20 Jun 11:56
8aa51f4
Compare
Choose a tag to compare
Eclair v0.2-beta5 Pre-release
Pre-release

This is a maintenance release of eclair, which includes several improvements and bug fixes, including:

  • a fix for an unnecessary check on outgoing HTLCs that caused interoperability issues with c-lightning
  • additional BOLT compliance checks
  • the ability to specify payment request expiries from the API

We strongly recommend that users upgrade their nodes.

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

Upgrading

This release is compatible with Eclair v0.2-beta4. You don't need to close your channels, just stop eclair, upgrade and restart.

Change log

  • Check when relay fee is insufficient (#634)
  • Add api call to update channel relay fees (#620)
  • Adding ability to set expiry when creating a new invoice (#632)
  • Add missing BOLT 2 checks (fixes #613) (#618)
  • Routing: remove final CLTV expiry check on outgoing HTLCs (#627)
  • Complete commit logs

Thank you @btcontract @n1bor !

Eclair v0.2-beta4

31 May 09:36
e6fe077
Compare
Choose a tag to compare
Eclair v0.2-beta4 Pre-release
Pre-release

This is a maintenance release of eclair, which includes several improvements and bug fixes, including:

  • a fix for a fee estimation bug which sometimes could have produced transactions that could not be relayed
  • a simple scheme for notifying users when a payment has been completed

We strongly recommend that users upgrade their nodes.

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

Upgrading

This release is compatible with Eclair v0.2-beta3. You don't need to close your channels, just stop eclair, upgrade and restart.

Change log

  • Filter out non-spendable outputs from bitcoind 'listunspent' call during setup (#605)
  • Set a minimum feerate-per-kw of 253 (fixes #602) (#608)
  • Inform clients about incoming payments via websocket connection (#610)
  • Complete commit logs

Thank you @araspitzu @btcontract !

Eclair v0.2-beta3

18 May 13:52
1dd8aa5
Compare
Choose a tag to compare
Eclair v0.2-beta3 Pre-release
Pre-release

This is a maintenance release of eclair, which includes several improvements and bug fixes, including a few interop-related bugs, and a bug in our electrum wallet (which is used in our Android app, not on server/desktop nodes).

Verifying signatures

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

To import our signing key:

$ gpg --import padioupm.asc

To verify the release file checksums and signatures:

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

Upgrading

This release is compatible with Eclair v0.2-beta2. You don't need to close your channels, just stop eclair, upgrade and restart.

Change log

  • Electrum: resolve server address only when connecting (#554)
  • Electrum: correctly extract pubkeyScript from tx witness (#555)
  • Electrum: fix wallet balance issue (#600)
  • Support signing multiple similar/identical HTLCs (#553)
  • Handle IPv4-mapped/tor2/tor3 addresses (#559)
  • Remove utxo lock when call to signrawtransaction fails (#579)
  • Add configurable min funding satoshis limit (#580)
  • Complete commit logs

Thank you @gustavonalle @btcontract @GiorgioRegni @rorp!

Eclair v0.2-beta2

04 Apr 17:48
7598615
Compare
Choose a tag to compare
Eclair v0.2-beta2 Pre-release
Pre-release

This is a maintenance release of eclair, which fixes a bug in our bitcoin fee estimator. We strongly recommend that you upgrade your eclair node.

Verifying signatures

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

To import our signing key:

$ gpg --import padioupm.asc

To verify the release file checksums and signatures:

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

Upgrading

This release is compatible with Eclair v0.2-beta1. You don't need to close your channels, just stop eclair, upgrade and restart.

Change log

Eclair v0.2-beta1

28 Mar 19:41
c39ce69
Compare
Choose a tag to compare
Eclair v0.2-beta1 Pre-release
Pre-release

🎉 This is the first release of eclair that can be configured to run on mainnet (on previous versions, by design, users would have had to change a few lines of code and recompile to run on mainnet).

We've learned a lot from months of deployment on testnet and believe it is mature enough but, as with any beta software, you still need to be careful and not put too much money into it.

Verifying signatures

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

To import our signing key:

$ gpg --import padioupm.asc

To verify the release file checksums and signatures:

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

BOLT Compatiblity

Eclair is fully compatible with all Lightning BOLTs and has been tested against other implementations.

Eclair uses Bitcoin Core to monitor the blockchain and will react to "cheating attempts" (the publishing by a peer of an old channel commit tx that is more favourable to them) and publish a penalty transaction which spends the cheating transaction. Previous versions of eclair only stole the offender's main output as punishment, this versions steal all outputs, including HTLCs.

Bitcoin Compatibility

Our server (eclair-node) and GUI applications (eclair-node-gui) do not embed their own wallet but instead call into you bitcoin core wallet using its RPC API. There a few things you need to enable on your bitcoin node (see our README) but eclair's interaction with the wallet are limited (creating funding transactions when you open channel and retrieving wallet addresses to send the funds to when you close channels) and should have a minimal impact on your setup. For example, eclair will work with encrypted bitcoin wallets (of course in that case you will have to temporarily unlock it when you create funding transactions).

Upgrading

⚠️ This release doesn't introduce breaking changes in the database format, but the data directory layout had to be modified to clearly separate data from testnet and mainnet.

If you are upgrading an existing installation of eclair (on testnet of course, since this is the first mainnet version), you don't have to close all your channels. You need to:

  • stop eclair
  • go into your datadir directory
  • create a testnet directory and move all your *.sqlite files into this new directory
  • restart eclair

The layout of you data directory will be:

├── eclair.log # application logs
├── testnet
│   ├── eclair.sqlite # channel database. do not delete if you have open channels !
│   └── network.sqlite # network database
└── seed.dat # node seed

ℹ️ if you want to run different instances of eclair on different chains (testnet, mainnet, regtest...) on the same machine at the same time, we strongly recommend that you use specific data directories for each chain (you can then start eclair with the -Declair.datadir=... option)

Eclair databases are versioned and in the future it will be possible to upgrade eclair without having to close all your channels first.

Routing payments

Eclair can send, relay and receive payments. When sending payments, it will try and calculate the cheapest (but not necessarily shortest) route using its local routing table.

Change log

  • Add support for mainnet (#513)
  • Extend penalty to stealing HTLC outputs (#517)
  • Addition of API calls checkinvoice and findroute (#475) (thanks @n1bor)
  • Eclair now requires Bitcoin Core v0.16.0 or higher
  • In electrum mode, eclair now uses a pool of electrum clients connected to different servers
  • Store db files in a chain-specific subdirectory of datadir
  • Track version of each logical database (#495)
  • Specify that we need at least jdk 1.8u161 to build (#491)
  • Simplified blacklisting of nodes in case of payment failures (#489)
  • Set a configurable maxPaymentFee as safety (#493)
  • Proper clean up of private channels (#488)
  • Update Funding tx id value in GUI when funding is signed (#511) (thanks @natewave)
  • Complete commit logs

Eclair v0.2-alpha11

16 Mar 11:01
v0.2-alpha11
dbb4f5b
Compare
Choose a tag to compare
Eclair v0.2-alpha11 Pre-release
Pre-release

⚠️ This release introduces breaking changes in the database format. Before upgrading, please close your existing channels, then reset your datadir (by default C:\Users\<user>\.eclair on Windows, /home/<user>/.eclair on Linux). You may keep your seed.dat and eclair.conf in order to preserve your nodeid.

ℹ️ Note that this is the last release before mainnet beta.

This release is BOLTs compliant, with one caveat: if a revoked commitment tx is published, only the offender's main output will be stolen as punishment, not the HTLCs.

Changelog

  • Added support for dataloss protection option (#410) (Thanks @btcontract)
  • Better handling of initial routing sync and rebroadcast (#455, #464)
  • Better closing tx management, with handling of numerous edge cases (#423)
  • Reworked routing algorithm, now we choose the cheapest route, not the shortest (#461)
  • Improve key management for added security (#372)
  • Add detailed message to remote failures (#431)
  • Bash completion script for eclair-cli (#443) (Thanks @Stadicus)
  • Removed Bitcoinj support, was deprecated in favor of Electrum for months (#447)
  • Various fixes and performance improvements
  • Complete commit logs

Installation

See these instructions.

Eclair v0.2-alpha10

16 Feb 17:09
Compare
Choose a tag to compare
Eclair v0.2-alpha10 Pre-release
Pre-release

This release is compatible with alpha9, there is no need to clean up the .eclair directory when updating.

This release is BOLTs compliant.

Caveat: If a revoked commitment tx is published, only the offender's main output will be stolen as punishment, not the HTLCs.

Changelog

  • Network announcements are stored in a separate database and not revalidated at startup (#421)
  • Using akka TPC pull mode and improved router for reduced RAM usage (#422)
  • Explicitely ack all relayed messages (#390) (Thanks @btcontract)
  • Batch requests to bitcoind json-rpc api (#429)
  • Improved queuing of initial_routing_sync requests (#440)
  • Various fixes and GUI improvements (Thanks @dimitris-t @practicalswift @verretor @n1bor)
  • Complete commit logs

Installation

See these instructions.

Eclair v0.2-alpha9

23 Jan 15:12
Compare
Choose a tag to compare
Eclair v0.2-alpha9 Pre-release
Pre-release

This release includes a breaking change in local database format, please close all channels before updating

This release is BOLTs compliant.

Caveat: If a revoked commitment tx is published, only the offender's main output will be stolen as punishment, not the HTLCs.

Changelog

  • Fixed memory leak and reduce memory usage (#365)
  • Fixed encoding of failure messages (#366)
  • Fixed infinite payment retry loop when receiving unparseable failure messages (#391)
  • JSON-RPC API is disabled by default, it requires a password and CORS is disabled (#354)
  • Added preimage in PaymentSent (#374)
  • Made payment request expiry configurable (#341) (Thanks @btcontract)
  • Added customizable display unit (#396)
  • Various fixes (Thanks @verretor @KevinKelbie @Christewart)
  • Complete commit logs

Installation

See these instructions.