Skip to content

Releases: ElementsProject/lightning

v24.11: The lightning-dev Mailing List

09 Dec 12:43
v24.11
Compare
Choose a tag to compare

We are pleased to announce the (giant, if slightly delayed) 24.11 release of Core Lightning, named by @ddustin. For a list of all changes, please see the changelog.

Highlights for Users:

  • xpay is a new, experimental plugin for payments. It's rewritten from the ground up, on top of another plugin called askrene, which provides advanced routing advice for payments. The two play together: xpay tells askrene about the results of payment attempts, so it learns over time. The hard work was done by @Lagrang3 who wrote and refined the minimum-cost-flow solver which is the heart of askrene.
    • For reckless souls, xpay-handle-pay can be set to true (even at runtime, using setconfig) to have xpay take over the simple variants of pay.
  • Paying and receiving offers (bolt12 send and receive) are enabled by default! This reflects it finally being included in the BOLT specs in September, to applause from all the different Lightning implementers.
  • We're smarter about remembering where we successfully connected out to a peer, and will always try that again.
  • pyln-client in 25.08 accidentally broke compatibility with older CLN versions. That's fixed.
  • hsmtool generatehsm can now accept all the parameters on the command line.
  • For large nodes:
    • The autoclean plugin would make nodes freeze for 30 seconds at a time when had a lot of work to do: it's now kinder and gentler.
    • gossipd and connectd queues are no longer slow (it was all gossipd's fault, be far too chatty).
    • listpays now takes start and limit parameters to speed it up if you only want recent payments.
  • Some nasty bugs fixed, including one where extended downtime could mean we might never fully resolve unilateral closes (just missing returning the funds to our wallet).

Highlights for Developers:

  • cln-grpc (our rust plugin to provide a GRPC interface) is enabled by default! Because of this, the new grpc-host option was added: we bind only to localhost by default. Almost all the JSON interfaces are now supported, thanks to @daywalker90 who has been tracking these in record time!
  • All the RPC documentation now contains generated, accurate examples of their inputs and outputs.
  • There's a new dev-splice command from @ddustin which lets you provide a splice script for describing complex moves, such as splicing into and out of multiple channels.
  • Tracing infrastructure improved, including tracing across database accesses.
  • exposesecret call (if explicitly enabled) allows backup of HSM secret via RPC api.
  • libplugin is made more uniform: all routines now have a struct command context to use.

Highlights for the Network:

  • We gossip harder: we try to stay connected to 10 nodes (see autoconnect-seeker-peers , picking random ones if we need to. Every hour we ask one peer for all its gossip, and we always send out our own gossip updates to up to 50 peers. This should help everyone stay up-to-date with what's happening in the network.
  • Connectd will connect faster on startup, maintaining up to 10 outgoing connection attempts in parallel.

Since 24.08, we had 559 commits in 102 days from 28 different authors, including four new ones:

  • Michael Cho
  • Lakshya Singh
  • Emmanuel Ferdman
  • alfredo-toledano

Thank you from the Core Lightning Team:
@rustyrussell, @endothermicdev, @cdecker, @nepet, @ShahanaFarooqui, and @niftynei.

v24.11 Release Candidate 3

03 Dec 05:40
v24.11rc3
Compare
Choose a tag to compare
Pre-release

Fixes since rc2:

  • JSON-RPC: decode refused to decode expired bolt12 invoices.
  • xpay: don't excees maxfee overall.
  • Log unknown messages as "UNKNOWN" not "INVALID" so as not to freak people out

v24.11 Release Candidate 2

29 Nov 01:43
v24.11rc2
Compare
Choose a tag to compare
Pre-release

We are pleased to announce the (giant, if slightly delayed) 24.11 release of Core Lightning, named by @ddustin. For a list of all changes, please see the changelog

Highlights for Users:

  • xpay is a new, experimental plugin for payments. It's rewritten from the ground up, on top of another plugin called askrene, which provides advanced routing advice for payments. The two play together: xpay tells askrene about the results of payment attempts, so it learns over time. The hard work was done by @Lagrang3 who wrote and refined the minimum-cost-flow solver which is the heart of askrene.
    • For reckless souls, xpay-handle-pay can be set to true (even at runtime, using setconfig) to have xpay take over the simple variants of pay.
  • Paying and receiving offers (bolt12 send and receive) are enabled by default! This reflects it finally being included in the BOLT specs in September, to applause from all the different Lightning implementers.
  • We're smarter about remembering where we successfully connected out to a peer, and will always try that again.
  • pyln-client in 25.08 accidentally broke compatibility with older CLN versions. That's fixed.
  • hsmtool generatehsm can now accept all the parameters on the command line.
  • For large nodes:
    • The autoclean plugin would make nodes freeze for 30 seconds at a time when had a lot of work to do: it's now kinder and gentler.
    • gossipd and connectd queues are no longer slow (it was all gossipd's fault, be far too chatty).
    • listpays now takes start and limit parameters to speed it up if you only want recent payments.
  • Some nasty bugs fixed, including one where extended downtime could mean we might never fully resolve unilateral closes (just missing returning the funds to our wallet).

Highlights for Developers:

  • cln-grpc (our rust plugin to provide a GRPC interface) is enabled by default! Because of this, the new grpc-host option was added: we bind only to localhost by default. Almost all the JSON interfaces are now supported, thanks to @daywalker90 who has been tracking these in record time!
  • All the RPC documentation now contains generated, accurate examples of their inputs and outputs.
  • There's a new dev-splice command from @ddustin which lets you provide a splice script for describing complex moves, such as splicing into and out of multiple channels.
  • Tracing infrastructure improved, including tracing across database accesses.
  • exposesecret call (if explicitly enabled) allows backup of HSM secret via RPC api.
  • libplugin is made more uniform: all routines now have a struct command context to use.

Highlights for the Network:

  • We gossip harder: we try to stay connected to 10 nodes (see autoconnect-seeker-peers , picking random ones if we need to. Every hour we ask one peer for all its gossip, and we always send out our own gossip updates to up to 50 peers. This should help everyone stay up-to-date with what's happening in the network.
  • Connectd will connect faster on startup, maintaining up to 10 outgoing connection attempts in parallel.

Since 24.08, we had 530 commits in 92 days from 28 different authors, including four new ones:

  • Michael Cho
  • Lakshya Singh
  • Emmanuel Ferdman
  • alfredo-toledano

Thank you from the Core Lightning Team:
@rustyrussell, @endothermicdev, @cdecker, @nepet, @ShahanaFarooqui, and @niftynei.

v24.08.2 -- Steel Backed-up Channels

18 Oct 18:44
v24.08.2
Compare
Choose a tag to compare

This point release addresses few crash fixes and includes an enhancement to remember and update channel hints for payments.

Changed

  • pay: Now remembers and updates channel hints across payments.
  • pay: Discarding an overly long or expensive route does not blacklist channels anymore.
  • grpc: Channel type anchors/even was added to the grpc bindings.

Fixed

  • gossipd: crash errors with large gossip_store (>4MB) growth on longer-running nodes.
  • connectd: crash on erroneous timeout.
  • Protocol: we could get confused on restart and not re-transmit our own channel_updates.
  • rpc: listpeerchannels (and thus, pay) sped up on very large nodes.
  • Improved pathfinding speed for large nodes.

v24.08.1 -- Steel Backed-up Channels

20 Sep 02:20
v24.08.1
Compare
Choose a tag to compare

This hotfix release fixes few crash issues and some other bugs.

Fixed

  • No longer crash if a plugin dies during lightningd startup.
  • Fixed crash when starting channeld for older channel with no local alias.
  • Will not crash for older pre-tlv peers where send_tlvs is NULL.
  • Compilation will fail gracefully if jq is missing or an outdated version is detected.
  • cln-plugin: Change default log level filter back to INFO.
  • Fixed intermittant bug where hsmd (particularly, but also lightningd) could use 100% CPU.
  • Made description optional in Wait(any)invoiceResponse to handle BOLT12.
  • Removed bogus "BROKEN plugin-topology: DEPRECATED API USED: listchannels.include_private" message.

24.08 - Steel Backed-up Channels

30 Aug 00:08
v24.08
Compare
Choose a tag to compare

We are pleased to announce the 24.08 release of Core Lightning, named by @Lagrang3. For a list of all changes, please see the changelog.

Highlights for Users

  • pay now checks for sufficient spendable capacity before computing a route and returns a clear error message if there isn't enough capacity.
  • offers can now self-fetch and self-pay BOLT12 offers and invoices.
  • offers automatically adds a blinded path from a peer if we have no public channels, and supports setting a blinded path for invoicerequest if we're an unannounced node.
  • renepay now prunes the network by disabling undesired channels, un-reserves routes after use, and introduces a new exclude option for channels & nodes to be excluded from routing.
  • Whitespace at the end of (most) options will not complain anymore.
  • I/O optimizations to significantly speed up larger nodes.

Highlights for the Network

  • pay can now pay to bolt12 invoices if entry to blinded hop is specified as a short_channel_id.
  • We can now open unannounced channels with LND nodes again.
  • Onion messages are now supported by default and can be forwarded using short_channel_id.
  • We now request all gossip from the first peer and immediately send updated gossip to current peers instead of waiting for reconnections.
  • Recurring offers had incompatible changes, it will not work against older versions.

Highlights for Developers

  • New experimental plugin askrene accesses min-cost-flow route calculations.
  • pay plugin now includes enhanced logging and improved error codes, and emits channel_hint_updated notifications to share inferred balances across payments.
  • New reckless-rpc plugin allows to issue commands to reckless over rpc.
  • Plugin manager reckless now supports installing Rust plugins, accepts JSON array input and, provides JSON output with the -j/--json option flag.
  • bookkeeper now listens for two new custom events: utxo_deposit and utxo_spend.

Since 24.05, we've had 378 commits by 21 authors in 85 days!

A special thanks to the eight first time contributors:

  • michael1011
  • Epic Curious
  • Tommy Volk
  • Pavol Rusnak
  • Max Rantil
  • Jose Storopoli
  • Joseph Goulden
  • jackstar12

~ @endothermicdev, @cdecker, @nepet, @ShahanaFarooqui, @niftynei and @rustyrussell

v24.08rc3

26 Aug 19:01
v24.08rc3
Compare
Choose a tag to compare
v24.08rc3 Pre-release
Pre-release

Release Candidate 3 for v24.08.

v24.08rc2

16 Aug 04:28
v24.08rc2
Compare
Choose a tag to compare
v24.08rc2 Pre-release
Pre-release

Release candidate 2 for v24.08.

v24.08rc1

13 Aug 15:42
v24.08rc1
Compare
Choose a tag to compare
v24.08rc1 Pre-release
Pre-release

Release candidate 1 for v24.08

24.05 - The Infinitely Divisible Satoshi

05 Jun 12:14
v24.05
Compare
Choose a tag to compare

We are pleased to announce the v24.05 release of Core Lightning, code named "The Infinitely Divisible Satoshi" - named by CLN contributor @daywalker90. For a full list of the changes, please see the changelog

Highlights for Users

  • New rune restrictions can now be applied to invoices with the pinv restriction!
  • Documentation is more thorough and up-to-date as much of it is now generated from the schemas.
  • Stability fixes to gossip and anchor channel spends.
  • Increased file descriptor limits for large nodes.
  • Pruned node operation is better supported by bcli with more robust block fetching.

Highlights for Developers

  • A plethora of grpc methods have been backfilled!
  • Pay can now pay part of an invoice with the partial_msat parameter. Get someone else to pay the remainder!
  • Check can now be used to validate setconfig settings and values. It can also check for approval by the hsmd of keysend payments.

Highlights for the Network

  • Offers will now make an outgoing connection if necessary to reply to an invoice request.
  • Offer invoices now correctly use the node_id and the final cltv delta in blinded paths.

Since the 24.02 release, there have been 380 commits in 109 days by 21 authors!

A special thanks to three first time contributors!
@Se7eNz
@snoppy
@bstin

~ @endothermicdev, @cdecker, @nepet, @ShahanaFarooqui, @niftynei and @rustyrussell