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 calledaskrene
, which provides advanced routing advice for payments. The two play together:xpay
tellsaskrene
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 ofaskrene
.- For reckless souls,
xpay-handle-pay
can be set to true (even at runtime, usingsetconfig
) to have xpay take over the simple variants ofpay
.
- For reckless souls,
- 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
andconnectd
queues are no longer slow (it was all gossipd's fault, be far too chatty).listpays
now takesstart
andlimit
parameters to speed it up if you only want recent payments.
- The
- 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 newgrpc-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.