Releases: ElementsProject/lightning
v22.11rc2
This release introduces a change in the version numbering scheme, that should be backwards compatible.
For a list of all changes, please see v0.12.1..v22.11rc2.
v0.12.1 - Web 8 init (dot one)
We'd like to announce the 0.12.1 release of core-lightning, named by @adi2011.
This is a point release with a few bug fixes and build improvements: it's a recommended upgrade from 0.12.0, with no new features.
For a list of differences, please see v0.12.0..v0.12.1.
Highlights for Users
- Now with fewer bugs!
- Topology plugin could crash when it sees duplicate private channel announcements.
getinfo
no longer displays unannounced addresses; shows correct port for discovered IP addresses.- Newly created channels sometimes were inexplicably disconnected, this has been fixed!
Highlights for the Network
- Bad gossip store reads and gossip propagation fixed.
Highlights for Developers
- Reliance on
mistune
andmrkd
python libraries has been removed.
Since v0.12.0 we've had 26 commits from 5 different contributors over 29 days.
~ @niftynei, Christian, and Rusty
v0.12.0 - Web 8.0 init
We're pleased to announce the 0.12.0 release of core-lightning, named by @adi2011.
Developers: please note the Great Msat Migration in the APIs!
Highlights for Users
- NEW Built-in
bookkeeper
plugin! This plugin tracks all movements of msats for your node, gives you a better idea of your costs and revenues, prints out CSVs that are uploadable to Koinly and CoinTracker, lets you inspect the on-chain footprint of a channel (useful when it goes to chain). Check out the newbkpr-
prefixed commands. - NEW Built-in
commando
plugin! This lets you create runes to allow access to your node from a commando client, which will let you send and receive RPC commands over the lightning network. - NEW Emergency channel backup ("static backup")! Keep track of what peers you have channels with, and in case of node failure ask those peers to close the channel.
- NEW zeroconf channels are possible for whitelisted peers.
hsmtool
has a new command,checkhsm
, which will let you check a BIP30 passphrase against thehsm_secret
.- Multiple
log-file
options will open multiple files for logging. - Various crashes and issues fixed in
connectd
including crash on peer reconnect and large memory usage when many concurrent peers. - PSBT: fixes signature encoding to comply with BIP-0174.
- We added dynamically detected public IP addresses to
getinfo
. - Due to dependency issues on some platforms, a tarball of pre-generated manual pages is included with this release.
Highlights for the Network
- We prefer IPv6 connections when available.
- We now accept spam gossip and use it for routing, but don't relay it.
- We no longer create gossip messages with zlib encoding (but still understand them).
- We treat LND "internal error" as warnings, not force close events (reverts to v0.10.0 behavior).
Highlights for Developers
_msat
fields are added wherever they were missing in the API: they're still currently an "msat"-suffixed string, but will soon bean integer value. Test with deprecated_apis=false.- The
channel_state_changed
notification now fires when a channel moves into stateCHANNELD_AWAITING_LOCKIN
. htlc_accepted_hook
will now expose theshort_channel_id
and the per-channel HTLCid
.pyln-testing
now includes utilities to read and parse the gossip_store.startup_regtest.sh
script now includes afund_ln
method.- Rust binaries such as
cln-grpc
now included in our reproducible builds. - Updated the bolts implementation for pyln-spec.
- Plugins no longer hang indefinitely if
lightningd
closes their connection. - M1 architecture support.
- Upgrade docker base image from Debian buster to bullseye, works with glibc 2.29+.
- Docker images now built with rust plugin
cln-grpc
.
Since v0.11.1 we've had 508 commits from 31 different contributors over 80 days.
A special thanks goes to 9 first time contributors:
- Aditya Sharma
- Alex Myers
- Igor Bubelov
- Justin Moon
- Peter Neuroth
- Swapnil
- Jose A.P.
- Brian Barto
- AutonomoousOrganization
~ @niftynei, Christian, and Rusty
Simon's Carefully Chosen Release Name III
This is a minor release, highly recommended, which fixes several problems with the v0.11 (and v0.11.1) releases:
- Unwanted unilateral closes with LND. v0.11 removed logic to downgrade errors, and this reintroduces it when LND sends "internal error" as the reason for an error (which it seems to do often, but recovers).
- Two more occasional crashes fixed with reconnection logic.
- connectd large memory usage and large CPU usage reduced significantly.
- "Could not load channels from the database" failure on startup fixed, when we had old TORv2 addresses in the database.
- Two fixes to pay/routefinding code, for better payment success.
Thanks to all the people who reported bugs!
Rusty.
Simon's Carefully Chosen Release Name II
This is a minor release, highly recommended, which fixes two problems with the v0.11.0.1 release:
- Unwanted unilateral closes. We could get confused by reconnections, and think that a peer had sent us out-of-date "channel_reestablish" data. This caused us to complain about e.g. "bad reestablish revocation_number: 7457 vs 7462" and send an error and close the channel.
- An overzealous check in
connectd
, particularly when reconnecting with multiple channels, which intermittently crashed the node.
Thanks to all the people who reported bugs!
Rusty.
v0.11.0: Simon's Carefully Chosen Release Name
We're pleased to announce the 0.11.0 release of c-lightning, named on behalf of @SimonVrouwe.
This release is the first under the rebranded "Core Lightning" name.
(Note: binaries are labelled v0.11.0.1 due to a minor bugfix required for reproducible builds).
Highlights for Users
- We now finally support multiple live channels to the same peer!
- If we detect rust support, we'll build the
cln-grpc
plugin for full native GRPC support. - We advertize an external IP address if it's reported by two or more peers (
disable-ip-discovery
oralways-use-proxy
disables). - You can specify two databases with --wallet, and we'll write to both at once (sqlite3 only).
pay
supports BOLT 11 payment metadata: we'll send it if it's in the invoice.- New
setchannel
command (deprecatessetchannelfee
) allows setting max and min HTLC amounts. Trylightning-cli setchannel all 0
for #zerobasefee. pay
can be forced to exclude channels or nodes with theexclude
- Significant speedup in start times for old nodes with many historical HTLCs.
Highlights for the Network
- We send the remote node's IP address in the
init
message, so they can tell what it is. (lightning/bolts#917) - We are more aggressive in sending our own gossip to peers, to help propagation.
- Default port is set by network, so regtest and testnet defaults are different. (lightning/bolts#968)
- We never generate legacy onions, it's always TLV. We still forward legacy onions for now.
- We flush sockets before closing, so errors are more likely to reach the peer.
- Experimental support for announcing DNS addresses in node_announcement (lightning/bolts#911)
Highlights for Developers
pay
has amaxfee
parameter, which sets a simple LND-style upper fee (vs usingmaxfeepercent
andexemptfee
)- You can create invoices with only a description hash, using
deschashonly
. We still store the full description, so use restraint! pay
has deprecated paying solely by description hash: you should provide the full description, too.delinvoice
has a newdesconly
parameter to simply trim the descriptions, but leave the rest intact.- We have a rust crate
cln-rpc
to easily interact with our JSON-RPC. msggen
tool allows easy generation of language bindings for our JSON RPC interface.
More details can be found in the changelog.
Thanks to everyone for their contributions and bug reports; please keep them coming.
Since 0.10.2, we've had 712 commits from 37 different authors over 170 days.
A special thanks goes to the 18 first time contributors (a new record!):
- Aaron Dewes
- Tim W
- manreo
- Gregory Sanders
- zero fee routing
- Stephen Webel
- Michael Dance
- Marnix
- lightning-developer
- kiwiidb
- Jules Comte
- JohnOnGit
- GoofyAF
- Denis Ahrens
- Clay Shoaf
- benthecarman
- azuchi
- Anand Suresh
Cheers,
Christian, Rusty, Lisa.
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.