Skip to content

Releases: ElementsProject/lightning

0.9.3 Federal Qualitative Strengthening

20 Jan 17:39
v0.9.3
Compare
Choose a tag to compare

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 to bitcoin.
  • 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 the onion_message or onion_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

23 Nov 17:46
v0.9.2
Compare
Choose a tag to compare

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's state_changes.
  • NEW CLI/RPC notifications! Tired of waiting for close to finish without getting any updates? With notifications, the close command will publish notifications (think CLI status updates) for slow closes. Must have allow-deprecated-apis set to false for these to work.
  • New optional argument commitment_feerate on the multifundchannel 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 HSM hsm_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 custom failure_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:

Cheers,
Lisa, Christian, Rusty, ZmnSCPxj

v0.9.1: The Antiguan BTC Maximalist Society

15 Sep 20:20
v0.9.1
Compare
Choose a tag to compare

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 and multifundchannel 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:

Cheers,
Christian, Rusty, ZmnSCPxj, and Lisa

v0.9.0-1: (Still) Rat Poison Squared on Steroids

12 Aug 18:53
v0.9.0-1
Compare
Choose a tag to compare

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

31 Jul 21:29
v0.9.0
Compare
Choose a tag to compare

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:

Cheers,

Christian, Rusty, ZmnSCPxj, and Lisa

v0.9.0rc4

29 Jul 13:03
v0.9.0rc4
Compare
Choose a tag to compare
v0.9.0rc4 Pre-release
Pre-release
v0.9.0rc4

v0.9.0rc3

24 Jul 20:34
v0.9.0rc3
Compare
Choose a tag to compare
v0.9.0rc3 Pre-release
Pre-release
v0.9.0rc3

v0.9.0rc2

18 Jul 16:15
v0.9.0rc2
Compare
Choose a tag to compare
v0.9.0rc2 Pre-release
Pre-release
v0.9.0rc2

v0.9.0rc1

15 Jul 17:27
v0.9.0rc1
Compare
Choose a tag to compare
v0.9.0rc1 Pre-release
Pre-release
v0.9.0rc1

v0.8.2.1: (Still) Scaling the Ethereum Blockchain

08 May 19:44
v0.8.2.1
Compare
Choose a tag to compare

This is a point release, with a single change: it makes large-channels compatible with Eclair (and, incompatible with v0.8.2 c-lightning), as reported by @mb300sd in #3703.

  • If you never enabled large-channels in your configuration file, this is exactly the same as v0.8.2.
  • If you did, you won't be able to open any channels with large-channel-supporting Eclair node (e.g. Bitrefill) using v0.8.2: they will get an error when they try to announce. You need to upgrade to v0.8.2.1.
  • If you already have large channels (i.e. between c-lightning nodes), they'll continue to work just fine.

We apologize for the mistake, and we are (too slowly) developing protocol tests to ensure this kind of issue does not occur in future.