Releases: ACINQ/eclair
Eclair v0.12.0
This release adds support for creating and managing Bolt 12 offers and a new channel closing protocol (option_simple_close
) that supports RBF.
We also add support for storing small amounts of (encrypted) data for our peers (option_provide_storage
).
We've also made more progress on splicing, which is getting into the final stage of cross-compatibility tests.
This cannot be used yet with other implementations, but will likely be available in the next release.
This release also contains various performance improvements, more configuration options and bug fixes.
One notable performance improvement is a change in one of our database indexes (see #2946), which may take a few seconds to complete when restarting your node.
The detailed release notes can be found here.
Verifying signatures
You will need gpg
and our release signing key E04E48E72C205463. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf2.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
To import our signing key:
$ gpg --import drouinf2.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 21, 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.
Eclair v0.11.0
This release adds official support for Bolt 12 offers and makes progress on liquidity management features (splicing, liquidity ads, on-the-fly funding). We also stop accepting channels that don't support anchor outputs and update our dependency on Bitcoin Core.
We're still actively working with other implementations to finalize the specification for some of these experimental features. You should only activate them if you know what you're doing, and are ready to handle backwards-incompatible changes!
This release also contains various performance improvements, more configuration options and minor bug fixes.
The detailed release notes can be found here.
Verifying signatures
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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 22.04
- AdoptOpenJDK 11.0.22
- Maven 3.9.2
Use the following command to generate the eclair-node package:
mvn 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.
Eclair v0.10.0
This release adds official support for the dual-funding feature, an up-to-date implementation of Bolt 12 offers, and a fully working splicing prototype. We're waiting for the specification work to be finalized for some of those features, and other implementations to be ready for cross-compatibility tests. You should only activate them if you know what you're doing, and are ready to handle backwards-incompatible changes!
This release also contains various on-chain fee improvements, more configuration options, performance enhancements and various minor bug fixes.
The detailed release notes can be found here.
Verifying signatures
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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 22.04
- AdoptOpenJDK 11.0.22
- Maven 3.9.2
Use the following command to generate the eclair-node package:
mvn 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.
v0.9.0
This release contains a lot of preparatory work for important (and complex) lightning features: dual-funding, splicing and Bolt 12 offers.
These features are now fully implemented in eclair
, but we're waiting for the specification work to be finalized and other implementations to be ready for cross-compatibility tests.
You should only activate them if you know what you're doing, and are ready to handle potential backwards-incompatible changes!
We also make plugins more powerful, introduce mitigations against various types of DoS, and improve performance in many areas of the codebase.
The detailed release notes can be found here
Verifying signatures
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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 22.04
- AdoptOpenJDK 11.0.6
- Maven 3.9.2
Use the following command to generate the eclair-node package:
mvn 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.
Eclair v0.8.0
This release adds official support for two important lightning features: zero-conf channels and channel aliases. It also adds experimental support for dual-funding and a lot of preparatory work for Bolt 12 offers.
The detailed release notes can be found here
Verifying signatures
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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 20.04
- AdoptOpenJDK 11.0.6
- Maven 3.8.1
Use the following command to generate the eclair-node package:
mvn 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.
Eclair v0.7.0-patch-disconnect
Eclair v0.7.0-patch-disconnect
This is a patch release which adds two commits:
- Add option to disable sending remote addr in init (#2285)
- Resume reading after processing unknown messages (#2332)
It addresses unwanted disconnections with peers that use unknown messages.
Verifying signatures
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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 20.04
- AdoptOpenJDK 11.0.6
- Maven 3.8.1
Use the following command to generate the eclair-node package:
mvn clean install -DskipTests
That should generate eclair-node/target/eclair-node-0.7.0-cad88bf-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.
Eclair v0.7.0
Eclair v0.7.0
This release adds official support for two long-awaited lightning features: anchor outputs and onion messages.
Support for the PostreSQL database backend is also now production ready!
This release also includes a few bug fixes and many new (smaller) features.
It is fully compatible with 0.6.2 (and all previous versions of eclair).
Because this release changes the default type of channels that your node will use, make sure you read the release notes carefully!
The release notes can be found here.
Verifying signatures
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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 20.04
- AdoptOpenJDK 11.0.6
- Maven 3.8.1
Use the following command to generate the eclair-node package:
mvn clean install -DskipTests
That should generate eclair-node/target/eclair-node-0.7.0-a804905-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.
Eclair v0.6.2
Eclair v0.6.2
This releases fixes a known vulnerability, makes several performance improvements, includes a few bug fixes and many new features.
It is fully compatible with 0.6.1 (and all previous versions of eclair).
This release requires a few actions from node operators when upgrading: make sure you read the release notes carefully!
The release notes can be found here.
Verifying signatures
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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 20.04
- AdoptOpenJDK 11.0.6
- Maven 3.8.1
Use the following command to generate the eclair-node package:
mvn clean install -DskipTests
That should generate eclair-node/target/eclair-node-0.6.2-6817d6f-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.
Eclair v0.6.1
Eclair v0.6.1
This release makes major performance improvements, includes a few bug fixes and several new features.
It is fully compatible with 0.6.0 (and all previous versions of eclair).
Major changes
Performance improvements
Sqlite
Eclair now uses write-ahead logging in Sqlite (#1871). WAL is better suited to our DB access patterns, and is both much more performant and safer than the default rollback journal that we were using previously.
- WAL is significantly faster in most scenarios.
- WAL provides more concurrency as readers do not block writers and a writer does not block readers.
- Disk I/O operations tends to be more sequential using WAL.
- WAL uses many fewer fsync() operations.
This small change improves performance by more than 5x.
Payment Handling
Invoice generation (#1878) and handling of incoming payments (#1880) are now processed in parallel, resulting in a higher throughput under load.
Improved Postgres support
This is the continuation of an effort to make PosgreSQL production-ready. The database schema has been reworked (#1866) and is now better organized, with appropriate types for timestamps (#1862). There have been several concurrency-related bug fixes.
We have also added JSONB
columns for local channels and for network announcements (#1865). All individual data fields can now be accessed from SQL and indexed, which is very convenient for advanced analysis and tuning of a routing node.
Upfront shutdown script
This release adds support for option_upfront_shutdown_script
(feature bits 4/5).
This feature lets you specify a closing address when you open a channel: your peer will ensure that when you close, your funds can only go to that address.
It can be useful to protect against future hacks of your node, because the attacker won't be able to close your channels and send the funds to an address that he controls. However, it doesn't prevent the attacker from exfiltrating funds by paying lightning invoices, so you shouldn't rely on this feature alone to make your node hack-proof.
This option is disabled by default, but can be enabled in your eclair.conf
.
Note that if you enable it, the closing address will be automatically generated by your bitcoind
node.
Transaction publishing improvements
This release reworks our internal transaction publishing architecture (see #1844 for details).
The new architecture is more flexible, provides better logging and makes it easy to add dynamic fee bumping in the future for anchor output channels.
It will also make it easier to automatically use CPFP to ensure funding transactions confirm before the 2016 blocks timeout is reached.
API changes
This release updates a few APIs:
parseinvoice
displays Bolt 11 invoices routing hints (#1833)- Plugins can inject their own routes into the API instead of spawning a separate HTTP server (#1805 and #1819)
Miscellaneous improvements and bug fixes
- Eclair now uses Bitcoin Core 0.21.1 by default (#taproot)
- Eclair now supports warning messages
- Eclair uses additional entropy on top of the operating system RNG to mitigate random number generation failures (#1774)
Verifying signatures
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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 20.04
- AdoptOpenJDK 11.0.6
- Maven 3.8.1
Use the following command to generate the eclair-node package:
mvn clean install -DskipTests
That should generate eclair-node/target/eclair-node-0.6.1-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 eclair v0.6.0. You don't need to close your channels, just stop eclair, upgrade and restart.
Changelog
a658fa2 Set version to 0.6.1-SNAPSHOT (#1813)
76894bd Add additional PRNG (#1774)
9a20aad Allow plugins to inject their own routes into API (#1805)
d437ea1 Improve API plugin support (#1819)
98cae45 Rename pending_relay to pending_commands (#1822)
e8c33ba Various improvements and fixes (#1817)
f829a2e Add json type hints on channel data (#1824)
4dc2910 Make result set an iterable (#1823)
6f6c458 Add metrics on channels processing time (#1826)
43a89f8 Add a random delay before processing blocks (#1825)
af618bc Symmetrical HTLC limits (#1828)
dbecb28 Include routing hints in parseinvoice API call response (#1833)
2b6d564 Expose eclair datadir to plugins (#1837)
bd6bad1 Fix eventually statements (#1835)
a7bb2c2 Do not store CannotAffordFees
errors (#1834)
d4b25d5 Udpate to Bitcoin Core 0.21.1 (#1841)
e750474 Use bitcoin-lib 0.19 (#1839)
bbfbad5 Validate payment secret when decoding (#1840)
afb1b41 Update bolt 3 spec test vectors (#1669)
d43d06f Rework TxPublisher (#1844)
45204e2 Schedule backup at regular interval (#1845)
85ed433 Reject 0-value trampoline payments (#1851)
f857368 Make trampoline payments use per-channel fee and cltv (#1853)
f52c3dd Decode warning messages (#1854)
516929b Fix default file backup config (#1857)
4ca5c62 Remove println in tests (#1861)
291c128 Reduce some log levels (#1864)
d9a03a5 Use warning messages for connection issues (#1863)
af8394a Add support for dual db backend (#1746)
3a573e2 Improve message for CannotRetrieveFeerates
error (#1859)
bd57d41 Add a globalbalance api call (#1737)
08faf3b Add json columns in Postgres (#1865)
f8feb19 Use schemas in Postgres (#1866)
cea3fc0 Use proper data type for timestamps in Postgres 2 (#1862)
95fffe3 Reduce pg transaction isolation (#1860)
547d7e7 Create chain directory (#1872)
e9df4ee Channels data format migration (#1849)
733c6e7 Refactor global balance tests (#1874)
ca51a2d Enable WAL mode on Sqlite (#1871)
3ae9a4a Additional reestablish test (#1875)
d02760d Fail unsigned outgoing htlcs on force-close (#1832)
3bb7ee8 Parallel payment request generation (#1878)
5182402 Fix flaky channel integration tests (#1879)
b4183ed Fetch incoming payments in parallel (#1880)
8c49f77 Fix payment handler tests (#1882)
01b4073 Implement option-upfront-shutdown-script (#1846)
79729c7 Update README (#1881)
c22596b Update dependencies and enable fatal warnings (#1885)
adf36de Fix yet another flaky test (#1886)
3f1c250 Fix watcher flaky test (#1883)
c8c5e76 Update akka-http-json4s dependency (#1889)
5fa8fed Set version to 0.6.1 (#1887)
Eclair v0.6.0
This release makes some core features mandatory, includes a few important bug fixes and several performance improvements.
It is fully compatible with 0.5.1 (and all previous versions of eclair).
Major changes
Mandatory payment secrets
This release makes two important features mandatory:
var_onion_optin
(added to the spec in July 2019)payment_secret
(added to the spec in December 2019)
These features have been widely deployed and protect against privacy attacks and stealing payments to 0-value invoices (as described here).
You won't be able to connect to nodes that don't support these features nor pay invoices that don't include a payment_secret
.
Improved detection of stale blocks
Eclair uses ZMQ to receive blocks and transactions from your bitcoin node.
While ZMQ is usually very reliable, we discovered that its pub/sub model has some limitations.
If a subscriber encounters network failures, it will silently disconnect without notifying the publisher.
This never happens when your bitcoin node is on the same machine as eclair, but may happen when bitcoin is running on a remote machine and a VPN is used between the two machines.
Eclair now sets a TCP keep-alive on the ZMQ socket to work around this limitation and quickly reconnect.
The blockchain watchdogs have also been improved to run at fixed intervals if no blocks are received.
They will poll secondary blockchain sources (bitcoinheaders.net, blockstream.info, mempool.space and blockcypher.com) to detect that your eclair node is missing blocks.
Electrum support removed
This release removes support for using Electrum instead of Bitcoin Core for your bitcoin wallet.
Electrum support was necessary for mobile wallets, but wasn't recommended for server deployments.
Wallets are migrating to our Kotlin lightning stack, so eclair can now target exclusively server deployments.
Eclair depends on many low-level bitcoind
RPCs for fee bumping which aren't available yet in Electrum.
Improved Postgres support
We previously introduced beta support for using PostgreSQL as database backend in eclair v0.4.1.
We've fixed some bugs since then and improved the integration, but please note that PostgreSQL support is still in beta.
We're actively working on finalizing this integration and making PostgreSQL production-ready in a future release.
Support for future segwit versions
This release adds support for option_shutdown_anysegwit
(spec PR available here).
Current segwit bitcoin addresses (P2WPKH and P2WSH) only use segwit version 0, but this change lets nodes use bitcoin addresses with other version numbers (taproot will use version 1).
API changes
This release updates a few APIs:
- Features are now displayed as a map (feature name -> support) in API responses (#1715)
- Channel internal state tracking force-close scenarios has been enriched (#1728)
- A
--blocking=<bool>
option has been added to thepayinvoice
API (#1751)
We've also updated our internal API DSL, which paves the way for more plugin integration in a future release.
Head over to our API documentation for more details.
Miscellaneous improvements and bug fixes
- Eclair now defaults to Bech32 addresses (#1717)
- Anchor output commitment feerate is now configurable (#1718)
- All outputs of revoked anchor output commitments are claimed (there is a subtle edge case, see #1738)
- Internal codec packages and database versions have been reworked to improve future backwards-compatibility
- Several improvements have been made to our path-finding algorithms, improving tail latency
- A bug affecting reconnections to peers has been fixed (#1760)
- A bug affecting transaction outputs ordering (which can lead to channel force-close) has been fixed (#1806)
Verifying signatures
You will need gpg
and our release signing key 7A73FE77DE2C4027. Note that you can get it:
- from our website: https://acinq.co/pgp/drouinf.asc
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
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 20.04
- AdoptOpenJDK 11.0.6
- Maven 3.8.1
Use the following command to generate the eclair-node package:
mvn clean install -DskipTests
That should generate eclair-node/target/eclair-node-0.6.0-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 eclair v0.5.1. You don't need to close your channels, just stop eclair, upgrade and restart.
Changelog
- 163700a Set version to 0.5.2-SNAPSHOT (#1714)
- 844829a Features should be a Map (#1715)
- afa378f Fix Bolt 3 spec change that broke our test suite (#1719)
- c4c0248 Use bech32 addresses by default (#1717)
- 92e53dc Configurable anchor output max commitment feerate (#1718)
- ea8f940 Fix potential race condition in node-relay (#1716)
- 9ff2f83 Refactor and simplify API dsl (#1690)
- 6364ae3 Reject trampoline payments with expired outgoing cltv (#1727)
- 2772138 Better handling of TemporaryChannelFailure (#1726)
- ded5ce0 Add metadata to local_channels table (#1724)
- 8dc64db Fix API regression (#1729)
- 4bc2dec Reorganize internal codecs (master) (#1732)
- 6d28cbc Rework XxxCommitPublished types (#1728)
- 6e72785 fixup! Rework XxxCommitPublished types (#1728) (#1735)
- 7819fae Move protocol codecs to their own package (#1736)
- 3d3766e Clarify some comments and add tests (#1734)
- f39718a Add high-level architecture diagrams (#1733)
- f202587 Clarify commit tx fee anchor cost (#1721)
- c37eb1a Handle aggregated anchor outputs htlc txs (#1738)
- e5429eb Avoid visiting vertices multiple times in Dijkstra's algorithm (#1745)
- c6a76af Introduce actor factories (#1744)
- 75cb777 Prevent loops and improve shortest paths perf (#1747)
- 936f36b Refactor Postgres code (#1743)
- ac2b784 Fix flaky relay-htlc-add test (#1752)
- 5729b28 Add blocking option to payinvoice API (#1751)
- 89d2489 Remove Electrum support (#1750)
- b25e552 Remove Docker test dependency (#1753)
- 1321761 Make signing payment requests faster (#1754)
- 5f68bf9 Database nits (#1755)
- 1e2abae Index database metrics by backend (#1758)
- 6518bb4 Posgres: fix concurrency in channels db (#1762)
- 3da0b80 Add a list of community plugins (#1763)
- 48c0c4c Extract tx publishing from watchers (#1749)
- 357f7f9 Catch all connection failures and reconnect (#1760)
- 205653d Make db errors fatal in channels (#1764)
- ccae92d (Minor) Minimize conflicts with feature branches (#1765)
- eb834e2 Do not explicitly provide address for ServerSocket in tests (#1766)
- d0e79fa Add shorter CI timeout (#1769)
- 15ddc17 Add trampoline info to auditDB (#1767)
- 32a86a4 Ignore tests with ServerSocket (#1776)
- 33d52b6 More database nits (#1773)
- e092677 Rework the db version management (#1775)
- 4a1dfd2 Reenable ServerSocket tests (#1777)
- e14c40d Use proper data type for timestamps in Postgres (#1778)
- 62dd393 Use bouncycastle instead of spongycastle (#1772)
- 3669428 Don't log ClosingType object (#1781)
- 223a14c Remove bintray (#1785)
- 9e4042f Migrate ZmqWatcher to akka-typed (#1759)
- 90fbcd3 Index trampoline payments by hash and secret (#1770)
- 3079cb4 Remove unused class (#1792)
- a8d4e07 Use less strict isolation level for channel meta (#1790)
- 55b50ec ZMQ actors should subscribe to a single topic (#1793)
- c641549 Fix computation of path weight (#1794)
- 340fd29 Update default path-finding weight ratios (#1796)
- 55a629f Update instructions for downloading Tor Bundle (#1784)
- 898c17b Remove ConnectionControlPlugin trait (#1797)
- 0805d51 Do not retry sending if payment gets confirmed on chain (#1799)
- ec276f8 Use satoshi for htlc ordering (#1806)
- 9c3ee59 Check blockchain watchdogs regularly (#1808)
- 9141998 Make payment_secret mandatory (#1810)
- 1fbede7 Add TCP keep-alive on ZMQ socket (#1807)
- 5a92f84 Add support for option_shutdown_anysegwit (#1801)
- e2b3b47 Update Tor doc for Windows (#1811)
- f746ade Set version to 0.6.0 (#1812)
Special thanks to @tompro who reworked our internal API DSL.