Releases: ElementsProject/lightning
v0.10.2: Bitcoin Dust Consensus Rule
We're pleased to announce the 0.10.2 release of c-lightning, named by @vincenzopalazzo.
This is a recommended upgrade: this release includes the patch for the recently disclosed CVE-2021-41592.
Highlights for Users
- Payments can now be retried without affecting the status of prior attempts.
- The route selection will now use the log-propability-based channel selection to increase success rate and reduce time to completion.
close
now reports the feeranges each side enforced, which allows users to determine which side caused a high or low feerate.- Removal of old HTLC information and vacuuming shrinks large lightningd.sqlite3 by a factor of 2-3.
Highlights for the Network
setchannelfee
now has a grace period during which both old and new fee policies are considered. This prevents a fee update from making the channel unusable until the update propagated.- We now perform quick-close if the peer supports it.
- We send regular pings to detect dead connections (particularly for Tor).
- Errors returning a channel_update no longer return an outdated one.
- Anchor output mutual close allow a fee higher than the final commitment transaction
Highlights for Developers
- Plugins now are notified about an upcoming shutdown, allowing them to store data and clean up before exiting.
- The datastore API (
datastore
,deldatastore
, andlistdatastore
) exposes a simple key-value store, allowing plugin authors to store data in the c-lightning database. ping
now only works if we have a channel with the peer.- Relaxed the sqlite3 version match requirements to be at least a minimum version and a major version match
More details can be found in the changelog.
Thanks to everyone for their contributions and bug reports; please keep them coming.
Since 0.10.1, we've had 333 commits from 19 different authors over 85 days.
A special thanks goes to the 4 first time contributors:
- Dustin Dettmer
- Michael Folkson
- jerzybrzoska
- Devrandom
Cheers,
Christian, Rusty, Lisa.
v0.10.2rc2
v0.10.2rc2
v0.10.2rc1
v0.10.2rc1
v0.10.1: "eltoo: Ethereum Layer Too"
We're pleased to announce the 0.10.1 release of c-lightning, named by @nalinbhardwaj.
This is a recommended upgrade: payment secrets in invoices are now compulsory, and offers and dual funding drafts have been updated, so these (experimental) features are incompatible with previous releases!
NOTE: Users of the rebalance or drain plugins MUST update, as payment secret is now compulsory.
Highlights for Users
experimental-dual-fund
allows advertizement of funding rates which we will contribute to channels automatically, on a 1-month lease.withdraw
andclose
(if peer supports) now supports Taproot (and other future) addresses.listchannels
can now be queried by destination, as well as source.plugin rescan
now automatically reloads plugins which have changed.- We try to restart automatically if we notice subdaemons have been upgraded underneath us.
fundpsbt
will no longer include uneconomic UTXOs (unlessall
).close
will return a stream of notifications if there is a delay in closing.- Unilateral close feerates were reduced from bitcoind's "2 CONSERVATIVE" to "6 ECONOMICAL".
- Tor v2 is deprecated: please upgrade to v3!
- Fixed disconnection bug when an HTLC failed.
- Fixed bug in rapid feerate changes, and make code space them out (LND compat).
- Fixed bug where Tor on different ports could be advertized incorrectly.
- Fixed various bugs to make
pay
more robust.
Highlights for the Network
- payment secrets in invoices are now compulsory, finally closing a potential probing (or, with amountless invoices, stealing) attack.
option_shutdown_anysegwit
allows peers to close channels to any future segwit version address (taproot!).keysend
now understands routehints, for routing to unpublished nodes, and sets the final CLTV to 22, for rust-lightning nodes.invoice
now allows creation of wumbo invoices (> 0.0429 BTC).- We will now discuss old channels with peers who reconnect, even if we consider them closed.
Highlights for Developers
- Manual pages now document exactly the JSON you can expect from each command (and it's tested!)
- Plugins can now publish notifications for other plugins to listen to.
force-feerates
allows complete feerate override (mainly for regtest), and a bug fixed where we could send 0 update_fee on regtest.- The HSM daemon is now separated into libhsmd, which also provides Python bindings.
createonion
can now make variable-sized onions, andsendonion
no longer requiresdirection
andchannel
forfirsthop
.dev-sendcustommsg
is now simplysendcustommsg
.- Many offers API improvements and updates, including unsigned offers (smaller QR codes!).
More details can be found in the changelog.
Thanks to everyone for their contributions and bug reports; please keep them coming.
Since 0.10.0, we've had 526 commits from 15 different authors over 114 days.
A special thanks goes to the 6 first time contributors:
- Nalin Bhardwa
- Nathanael
- LightningHelper
- OpenOms
- Urza
- Valentine Wallace
Cheers,
Lisa, Christian, ZmnSCPxj, Rusty.
0.10.0: Neutralizing Fee Therapy
We're pleased to announce the 0.10.0 release of c-lightning, named by @jsarenik.
This is a major release, consolidating a number of features, fixes and experimental extensions.
Highlights for Users
pay
has been refined and much improved across various less-common scenarios.listpeers
shows the current feerate and unilateral close fee.listforwards
can now filter by channel status, and in or out channel.fundpsbt
andutxopsbt
have a newexcess_as_change
parameter if you don't want to add it yourself.connect
returns the address we actually connected to (anddirection
tells you if they actually connected to us instead).fundchannel_complete
takes a PSBT, removing a common cause of tragic opening failures:txprepare
andwithdraw
now provide a PSBT for convenience too.- In regtest mode, we don't care that bitcoind doesn't give any fee estimates, but use the minimum.
Highlights for the Network
- We now send
warning
messages if an error condition is possibly recoverable, rather than closing the channel and sendingerror
. - We now implement
sync_complete
for gossip_range queries as per latest spec, with backwards compatibility for older nodes. experimental-dual-fund
config option enables the draft dual funding option for compatible nodes, which includes RBF upgrades for opening transactions.
Highlights for Developers
- All hooks are now registerable by multiple plugins at once.
experimental-shutdown-wrong-funding
allows remote nodes to close incorrectly opened channels using the newwrong_funding
option toclose
.
More details can be found in the changelog.
Thanks to everyone for their contributions and bug reports; please keep them coming.
Since 0.9.3, we've had 339 commits from 14 different authors over 69 days.
A special thanks goes to the 3 first time contributors:
- Matthias Debernardini
- Luke Childs
- Alexey Zagarin
Cheers,
Rusty, Lisa, Christian, ZmnSCPxj
0.9.3 Federal Qualitative Strengthening
We're pleased to announce the 0.9.3 release of c-lightning, named by Karol Hosiawa.
This is a minor release, but it also introduces a number of new features that we're really exited about, including a number of usability improvements, better access to lower-level primitives to build on top, and experimental extensions to the lightning protocol.
Highlights for Users
- Much improved parameter verification in
lightning-cli
makes it easier to debug why a call failed. - You can now query for the status of an invoice based on the hash or the invoice.
- Plugins that are started while the node is running can now receive command line arguments as if they were provided at node startup.
- The security of the
hsmtool
used to encrypt and decrypt the node's seed key was improved by switching to a passphrase prompt
instead of a command line argument. - Multiple plugins can now register for the
db_write
hook, which means you can now run multiple backup plugins at the same time. In addition we wrote extensive documentation on how to secure your node from dataloss.
Highlights for the Network
- No more reckless: the default network changed from
testnet
tobitcoin
. - We have experimental support for the onion messages proposal, allowing arbitrary messages to be exchanged between nodes in the network.
- We have experimental support for the offers proposal, enabling reusable invoices, refunds, invoices denominated in currencies other than bitcoins, and much much more. If you ever wanted to have an inline communication step with the other endpoint of a payment then take a look at this.
Highlights for Developers
- pyln now supports both receiving notifications from the RPC interface, as well as sending notifications in methods implemented by plugins. No more waiting in front of a blank screen for your users.
- The new
createinvoice
allows you to create an invoice externally, then have your node sign it and manage it internally. - You can use
sendonionmessage
to send an onion routed message, which recipient can receive using a plugin that register for theonion_message
oronion_message_blinded
hook.
More details can be found in the changelog
Thanks to everyone for their contributions and bug reports; please keep them coming.
Since 0.9.2, we've had 360 commits from 13 different authors over 60 days, an average commit rate of 6.51 commits per day 🤓
A special thanks goes to the 2 first time contributors:
- João Paulo
- Karol Hosiawa
Cheers,
Christian, Rusty, Lisa, ZmnSCPxj
v0.9.2 Now with 0-of-N Multisig
We're pleased to announce the 0.9.2 release of c-lightning, named by Sergi Delgado.
This is a significant release with new CLI-level notifications, better channel state reporting, and stable plugin-hook call ordering.
Note that as of this release c-lightning-generated PSBTs are only considered valid by bitcoind v0.20.1 and above.
Did you know: c-lightning deprecates features with 6 months warning, and you can set allow-deprecated-apis=false
to test?
Highlights for Users
- We now keep track of channel closure rationales. Wonder "why did my channel close" no more. All channel state changes are now listed in
listpeers
'sstate_changes
. - NEW CLI/RPC notifications! Tired of waiting for
close
to finish without getting any updates? With notifications, theclose
command will publish notifications (think CLI status updates) for slow closes. Must haveallow-deprecated-apis
set to false for these to work. - New optional argument
commitment_feerate
on themultifundchannel
command. This is useful for setting one feerate for the funding transaction and another for the channel commitment transactions. - Two new commands added to
hsmtool
!generatehsm
allows you to create an HSMhsm_secret
from a BIP39 pass phrase. (Note that due to c-lightning's current seed derivation process, wallet addresses aren't standard 'BIP39 to BIP32' compliant. Which is a fancy way of saying your pass phrase isn't portable to other, non-clightning wallets.)dumponchaindescriptors
will output the xpub for the HD wallet master key. This will let you track swept c-lightning wallet funds -- anchor outputs and unswept channel outputs won't be visible until swept.
- The starting feerate for mutual closes has been reduced to 'slow', to avoid overpayment.
- In-memory log buffer now is 10MB, down from 100MB.
Highlights for the Network
- We no longer support receiving full gossip from ancient LND nodes
- Fixed re-transmission order of multiple new HTLCS. This was causing channel closures with LND.
Highlights for Developers
- Plugin hook call ordering. Hooks can now specify that they must be called 'before' or 'after' other plugins.
- pyln-client will handle and send RPC command notifications.
- pyln-proto now includes a pure python implementation of the sphinx onion creation and processing.
- PostgresSQL key-value DSNs now supported.
- Plugin hook
htlc_accepted
can now return a customfailure_onion
.
More details can be found at https://github.com/ElementsProject/lightning/blob/v0.9.2/CHANGELOG.md
Thanks to everyone for their contributions and bug reports; please keep them coming.
Since 0.9.1, we've had 321 commits from 15 different authors over ~58 days, an average commit rate of 5.5344 commits per day.
A special thanks goes to the 4 first time contributors:
- YOSHIDA Masanori @siburu
- @grubles
- Jordi Montes @positiveblue
- @lakshit24
Cheers,
Lisa, Christian, Rusty, ZmnSCPxj
v0.9.1: The Antiguan BTC Maximalist Society
We're pleased to announce the 0.9.1 release of c-lightning, named by Jon Griffiths.
This is a significant release with major bugfixes to multi-part payments and various notable speedups and improvements across the board.
Did you know: c-lightning deprecates features with 6 months warning, and you can set allow-deprecated-apis=false
to test?
Highlights for Users
- The sending of multi-part payments has seen a lot of work, covering more corner cases and generally becoming much more robust.
- New official plugins create commands
multiwithdraw
andmultifundchannel
to easily produce a single transaction which does more than one thing; these use the PSBT plumbing created for v0.9.0. - We produce far less log spam when log-level is set to
debug
, so if you've avoided setting that before, I recommend trying now. - Startup checks that bitcoind is the correct version, and relays transactions
- Builtin plugins are now nominated as important, and you can nominate others as important too. The daemon will stop if these fail.
- You can now build a postgres-only installation, without sqlite3.
Highlights for the Network
- Our invoices now supply more than one routehint if we think you'll need to use multi-part-payments.
- We prune channels which are not updated in both directions every 2 weeks.
- Our default CTLV expiry has increased to 34 blocks, or 18 if we're the final node, as per updated specification recommendations (lightning/bolts#785)
Highlights for Developers
- PSBT APIs fleshed out with
utxopsbt
and locktime arguments. - Plugins can easily mark commands and options deprecated.
- The new
channel_state_changed
notification lets plugins easily track channel behavior.
More details can be found at https://github.com/ElementsProject/lightning/blob/v0.9.1/CHANGELOG.md
Thanks to everyone for their contributions and bug reports; please keep them coming.
Since 0.9.0, we've had 391 commits commits from 15 different authors.
A special thanks goes to the 3 first time contributors:
- Matt Whitlock @whitslack
- Sergi Delgado Segura @sr-gi
- Moller40 @Moller40
Cheers,
Christian, Rusty, ZmnSCPxj, and Lisa
v0.9.0-1: (Still) Rat Poison Squared on Steroids
This is a point release addressing some minor issues that slipped through with
the v0.9.0 release, mainly due to the rewrite of the pay
plugin for
multi-part payment support.
For details on the changes included in this point release please refer to the
tracking issue #3928. We suggest upgrading to this version if:
- You are using a wallet that shows incorrect information due to missing
fields in the RPC responses. - Larger payments above 10,000 satoshis to non-public nodes fail due to the
destination being unreachable.
We apologize for the inconvenience, and thank the community for the extensive
testing and feedback so far.
-- Christian
v0.9.0: Rat Poison Squared on Steroids
We're pleased to announce the 0.9.0 release of c-lightning, named by Sebastian Falbesoner.
This is a major release and includes new features, new integrations as well as
major internal refactorings facilitating extensions and future developments.
Highlights for Users
- We can now send multi-part payments as well as keysend spontaneous payments. This complements the support to receive these payments introduced in an earlier release.
- Large payments will now be split automatically into multiple parts that are more likely to succeed right away, and better protect your privacy.
- Should a payment not succeed at first we will adaptively split the amount and retry.
- We added support for watchtower plugins that help protect the node's funds while the node is not currently connected to the network.
Highlights for the Network
- Support for optional fields in some messages has been removed, reducing complexity and replacing them with the more modern TLV extensions
- Splitting payments into smaller parts with MPP increases the traffic on the network and improves privacy by making payments look more homogenous. The added traffic provides cover for other payments.
Highlights for Developers
- Extensible payment flow framework in
libplugin
allowing developers to write custom extensions without having to reinvent the wheel. - Added RPC methods to create, sign and send PSBT transactions allowing c-lightning to be better integrated with wallets and higher-level protocols, such as coin-join and dual-funding.
- Added RPC methods to reserve and unreserve outputs controlled by the node to complement the PSBT support, for multi-step protocols.
- Added extensive accounting support in the form of the
coin_movement
hook that reports any change in the funds controlled by the node. - Refactored the internals to use PSBT everywhere, leveraging
libwally
- A number of new hooks and notifications were added to the plugin interface to allow deeper integration with c-lightning
More details can be found at https://github.com/ElementsProject/lightning/blob/v0.9.0/CHANGELOG.md
Thanks to everyone for their contributions and bug reports; please keep them coming.
Since 0.8.2, we've had 523 commits from 21 different authors.
A special thanks goes to the 8 first time contributors:
- Aiden McClelland @dr-bonez
- Candle @CandleHater
- Joe Miyamoto @joe.miyamoto
- Michal Rostecki @mrostecki
- Reza @rbndg
- Sebastian Falbesoner @theStack
- Vincenzo Palazzo @vincenzopalazzo
- @mb300sd
Cheers,
Christian, Rusty, ZmnSCPxj, and Lisa