By Lisa Neigut & Christian Decker

The c-lightning team is proud to announce the v0.7.1 release of c-lightning. Despite it being a minor release it comes not only with a large number of bug fixes and performance improvements, but it is also packed full of new and exciting features:

Gossip improvements: The gossip daemon is more selective about which peers it synchronizes its network topology from, considerably cutting down the time to synchronize and the bandwidth consumed by the gossip protocol.

The gossip daemon is more selective about which peers it synchronizes its network topology from, considerably cutting down the time to synchronize and the bandwidth consumed by the gossip protocol. Longer default invoice timeouts: The default timeout for invoices is now seven days, a change from the previous value of one hour.

The default timeout for invoices is now seven days, a change from the previous value of one hour. More powerful plugin hooks: with the addition of db_write , htlc_accepted , and invoice_payment hooks, this version of c-lightning provides the greatest ability to plugin developers yet.

with the addition of , , and hooks, this version of c-lightning provides the greatest ability to plugin developers yet. External-wallet channel funding: a few new RPC’s that provide the ability for external wallets to fund channels through a c-lightning node. This relaxes the need to move funds to the internal wallet to open a channel. Note that close channel funds are still routed back to the internal wallet, presently.

a few new RPC’s that provide the ability for external wallets to fund channels through a c-lightning node. This relaxes the need to move funds to the internal wallet to open a channel. Note that close channel funds are still routed back to the internal wallet, presently. More permissible for peer errors: c-lightning is now more permissive in what it accepts from its peers, and will not return errors when the peers sends messages in the incorrect order anymore.

c-lightning is now more permissive in what it accepts from its peers, and will not return errors when the peers sends messages in the incorrect order anymore. And as always: performance, performance, performance.

New, Powerful Plugin Hooks

This release of c-lightning brings powerful new hooks to plugin developers. This new set of hooks opens up c-lightning for best-in class backup facilities, provides a wider range of flexibility for invoice and HTLC fulfillment logic.

db_write : A synchronous plugin hook that is called whenever a change is about to be committed to the database. This is useful for creating a backup of node state in real time.

: A synchronous plugin hook that is called whenever a change is about to be committed to the database. This is useful for creating a backup of node state in real time. invoice_payment : This hook is called whenever a valid payment for an unpaid invoice has arrived. It allows a node to verify that it can still fulfill the invoice before accepting the payment. This hook is analogous to lnd’s hodl invoice facility.

: This hook is called whenever a valid payment for an unpaid invoice has arrived. It allows a node to verify that it can still fulfill the invoice before accepting the payment. This hook is analogous to lnd’s hodl invoice facility. htlc_accepted : This hook is called every time an HTLC is offered to this c-lightning node. It offers an opportunity to programmatically fail or resolve an offered HTLC, or to continue with normal HTLC processing. This hook is useful for delegating htlc-fulfillment to a remote node or facilitating more complex cross-chain payments.

: This hook is called every time an HTLC is offered to this c-lightning node. It offers an opportunity to programmatically fail or resolve an offered HTLC, or to continue with normal HTLC processing. This hook is useful for delegating to a remote node or facilitating more complex cross-chain payments. openchannel : This hook is called whenever a remote peer tries to fund a channel to us. A plugin may either reject the openchannel request with an error message for the peer, or continue as normal.

This is officially the best hook-set that c-lightning has ever offered, and we’re excited to see what new plugins are built on top of these new primitives. For more details on the specifics of these hooks, please see the plugin developer docs.