Releases: ElementsProject/lightning
v25.02.1 - Onion Packet Filler Accreditation II
Several bug-fixes were addressed in this release, including:
- wallet: we could miss our own returned outputs on mutual closes if our peer didn't support option_shutdown_anysegwit. Any such outputs will be found by an automatic rescan upon upgrading.
- lightningd now properly handles duplicate HTLCs on closing and no longer spams the log.
- Unilateral closes now calculate fees with the correct HTLC timeout and no longer pay egregious fees.
- Fixed an occasional crash on bitcoind_getrawblockbyheight callback.
- fixed tracepoint crashes in autoclean/chanbackup.
topology
crash on invoice creation if a peer had a really high feerate.make
cleans up the old clnrest directory prior to building and installing the new rust version of the plugin.
See the changelog for a full list.
Thank you from the Core Lightning Team:
@endothermicdev, @rustyrussell, @cdecker, @nepet, @ShahanaFarooqui, and @niftynei.
v24.11.2 The lightning-dev Mailing List III
Several bug-fixes were addressed in this release, including:
- wallet: we could miss our own returned outputs on mutual closes if our peer didn't support option_shutdown_anysegwit. Any such outputs can be found by
rescan
after this upgrade, or by upgrading to v25.02.1 which will trigger the rescan automatically. - lightningd now properly handles duplicate HTLCs on closing and no longer spams the log.
- Unilateral closes now calculate fees with the correct HTLC timeout and no longer pay egregious fees.
- Corrected an occasional lightningd crash on bitcoind_getrawblockbyheight when the parent has already been freed.
- fixed tracepoint crashes in autoclean/chanbackup.
topology
crash on invoice creation if a peer had a really high feerate.
See the changelog for a full list.
Thank you from the Core Lightning Team:
@endothermicdev, @rustyrussell, @cdecker, @nepet, @ShahanaFarooqui, and @niftynei.
v25.02 Onion Packet Filler Accreditation
This release named by @s373nZ .
Please note: the reproducible build is currently non-deterministic due to the compilation step of the new clnrest plugin. We don't want that to hold up the release, however. The issue is known and will be addressed in a subsequent point release.
Highlights for users:
- Channel backup turns our peers into watchtowers by now allowing your node to generate penalty transactions!
- blacklisted runes can now be restored via
relist
. - xpay has many, many bugfixes, and is now almost seamlessly compatible when
xpay-handle-pay
is used. lightning-cli
has neater help output, and doesn't crash occasionally on xpay notifications.setconfig
does more safety checks and uses a separate "config.setconfig" file for runtime changes: you can also now set transient=true if you don't want the config files changed.- Fixed a bug where we would fail to collect our own funds if we force closed a channel we had leased with --experimental-dual-fund.
Highlights for the network:
- Splicing: stricter checking for better interoperability with Eclair.
Highlights for developers:
- clnrest is now a rust plugin.
listpeerchannels
now contains fieldstheir_max_htlc_value_in_flight
andour_max_htlc_value_in_flight
to better calculate channel limits.- New notifications
plugin_stopped
andplugin_started
. fetchinvoice
now has BIP353 DNS payment instruction support.
Since 24.11.1, we had 261 commits in 76 days from 21 different authors, including three new ones:
- Nishant Bansal
- gudnuf
- Erick λ
See the CHANGELOG for more details!
Thank you from the Core Lightning Team:
@endothermicdev, @rustyrussell, @cdecker, @nepet, @ShahanaFarooqui, and @niftynei.
v25.02 Release Candidate 3
v25.02 Release Candidate 2
Fixes since rc1:
- xpay: Corrected the CLTV values in blinded paths which sometimes caused spurious failures.
- onchaind: Correctly collect our own (delayed) funds if we have a unilateral close when we are still offering a lease.
- Protocol: We now renegotiate an interrupted close, even if we don't need it, instead of sending an error.
See the CHANGELOG for more details.
v25.02rc1 - 2025-02-24
v25.02 release candidate: NAME-GOES-HERE
This release was named by XXX
Highlights for users:
- Channel backup turns our peers into watchtowers by now allowing your node to generate penalty transactions!
- blacklisted runes can now be restored via
relist
. - xpay has many, many bugfixes, and is now almost seamlessly compatible when
xpay-handle-pay
is used. lightning-cli
has neater help output, and doesn't crash occasionally on xpay notifications.setconfig
does more safety checks and uses a separate "config.setconfig" file for runtime changes: you can also now set transient=true if you don't want the config files changed.- Fixed a bug where we would fail to collect our own funds if we force closed a channel we had leased with --experimental-dual-fund.
Highlights for the network:
- BOLT12 offers now use a blinded path if the node has no advertised address.
- Splicing: stricter checking for better interoperability with Eclair.
Highlights for developers:
- clnrest is now a rust plugin.
listpeerchannels
now contains fieldstheir_max_htlc_value_in_flight
andour_max_htlc_value_in_flight
to better calculate channel limits.- New notifications
plugin_stopped
andplugin_started
. fetchinvoice
now has BIP353 DNS payment instruction support.
Since 24.11.1, we had 242 commits in 68 days from 21 different authors, including three new ones:
- Nishant Bansal
- gudnuf
- Erick λ
See the CHANGELOG for more details!
Thank you from the Core Lightning Team:
@endothermicdev, @rustyrussell, @cdecker, @nepet, @ShahanaFarooqui, and @niftynei.
v24.11.1: The lightning-dev Mailing List II
This is a quick release due to the popularity of xpay, especially using the (reckless!) `xpay-handle-pay option.
Highlights:
xpay
compatibility improved significantly forxpay-handle-pay
: the JSON return should be identical, and it handles maxfeepercent and exemptfee parameters.xpay
results inlistpays
will includedestination
andamount_msat
fields.xpay
doesn't spam the logs at INFO level any morexpay
now works through unannounced channels (oops!)- Alpine/OpenBSD compilation fix
You can see the full CHANGELOG for all details.
Happy xpay season from the Core Lightning Team!
v24.11: The lightning-dev Mailing List
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.
v24.11 Release Candidate 3
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
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 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.