Update Rust crate lightning to v0.2.5 - #64
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/lightning-0.x
branch
from
June 19, 2026 03:01
71fca58 to
10ca4f1
Compare
renovate
Bot
force-pushed
the
renovate/lightning-0.x
branch
from
June 30, 2026 17:05
10ca4f1 to
9cd88ab
Compare
renovate
Bot
force-pushed
the
renovate/lightning-0.x
branch
from
August 5, 2026 17:47
9cd88ab to
7fcc23a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
=0.1.7→=0.2.5Release Notes
lightningdevkit/rust-lightning (lightning)
v0.2.5Compare Source
v0.2.4Compare Source
Bug Fixes
lightningcrate, which now again compiles onrustc1.63 (#4737).v0.2.3Compare Source
API Updates
DefaultMessageRouterwill now always generate blinded message paths thatprovide no privacy (where our node is the introduction node) for nodes with
public channels. This works around an issue which will appear for any nodes
with LND peers that enable onion messaging - such peers will refuse to
forward BOLT 12 messages from unknown third parties, which most BOLT 12
payers rely on today (#4647).
amount_msatsof 0 is rejected in BOLT 12Offers;OfferBuildernow maps 0-amounts to an amount of
None(#4324).Bug Fixes
Features::supports_zero_confno longer clears theZeroConffeatures andFeatures::requires_zero_confnow correctly reports required, rather thansupported, status (#4517).
ChannelMonitorUpdates for some parts arestill being completed asynchronously, further channel updates (e.g.
forwarding another payment) are pending and the node restarts, the channel
could have become stuck (#4520).
ElectrumSyncClientto spuriously fail to sync (#4590).persist again after a single failure from the KVStore (#4597, #4282).
OutputSweeper::regenerate_and_broadcast_spend_if_necessaryno longerresults in future calls to the same method being spuriously ignored (#4598).
their refresh time is reached (#4672).
FilesystemStore::list_all_keyswill no longer fail if there are staleintermediate files lying around from a previous unclean shutdown (#4618).
200%, LDK will no longer spuriously allow a forward that pays us 1 msat too
little in fees (#4697).
both async
ChannelMonitorUpdatepersistence and async signing (#4684).counterparty was able to splice all of their balance out, violating the
reserve requirements they'd otherwise be forced to keep (#4580).
Event::HTLCInterceptedto theLSPS2ServiceHandlertwice nolonger results in spuriously opening a channel early (#4656).
Event::PaymentSent::fee_paid_msatis no longerNonein cases whereChannelManager::abandon_paymentwas called before the payment ultimatelycompletes anyway (#4651).
AnchorDescriptor::previous_utxonow provides the correctscript_pubkeyfor non-zero-commitment-fee anchor channels (#4669).
ChainMonitorusing theConfirmtrait will no longer write somefull
ChannelMonitors to disk several times per block (#4544).OMDomainResolvernow correctly accounts for failed queries when ratelimiting, ensuring we continue to respond to queries after failures (#4591).
ChannelManager::send_payment_with_routewithout aroute_paramsand with an invalid
Routewill no longer panic (#4707).LSPS2ServiceHandler::channel_open_failednow correctly fails interceptedHTLCs rather than allowing them to fail just before expiry (#4677).
StaticInvoice::is_offer_expiredwas corrected to check offer, rather thanstatic invoice, expiry (#4594).
lightning-custom-message's handling ofpeer_connectedevents now ensuresthat sub-handlers will see a
peer_disconnectedevent if a differentsub-handler refused the connection by
Erringpeer_connected(#4595).different in the encoded signature's case (#4701).
lightning-liquidityis configured in the background processor, thereis no longer a stream of
Persisting LiquidityManager...log spam (#4246).expiry (#4558).
InvoiceRequestBuilderwill no longer accept aquantityof0for aBOLT 12
Offer, allowing any quantity up to a bound (#4667).lightning-custom-messagehandlers that returnOk(None)when asked todeserialize a message in their defined range no longer cause panics (#4709).
Security
0.2.3 fixes several underestimates of the anchor reserves required to ensure we
can reliably close channels, several denial-of-service vulnerabilities and a
sanitization issue.
Bolt11Invoice::recover_payee_pub_keyno longer panics if called on aninvoice which set an explicit public key, rather than relying on public key
recovery. Note that this method is called from
PaymentParameters::from_bolt11_invoice(#4717).no longer cause an
unwrapfailure panic (#4716).LSPSDateTimewhich is before 1970 no longer panics. This isreachable when parsing messages from counterparties (#4715).
possiblyrandomdid not properly generate random data except when it wasexplicitly configured to. By default this means LDK is vulnerable to various
HashDoS attacks (#4719).
OMNameResolverwill no longer panic when looking up payment instructionswhich include unicode characters at the start of a TXT record (#4718).
anchor_channel_reservesmodule to calculate reservesrequired to pay for fees when closing anchor channels, zero-fee-commitment
channels were not considered. This could allow a counterparty to open many
channels, leaving us unable to properly force-close (#4592).
anchor_channel_reservesmodule overestimated the value ofUtxos inthe wallet by ignoring the
TxIncost to spend them (#4670).PrintableStringdid not properly sanitize unicode format characters,allowing an attacker to corrupt the rendering of logs or UI (#4593, #4605).
to store in memory. Note that RGS data is still considered a DoS vector in
general and you should only use semi-trusted RGS data (#4713).
full, reducing the ability of such a counterparty to spam our logs (#4714).
ChannelManagerorProbabilisticScorercan no longercause us to allocate large amounts of memory (#4712).
Thanks to Project Loupe for reporting most of the issues fixed in this release.
v0.2.2Compare Source
API Updates
SplicePrototypefeature flag has been updated to refer to feature bit63 - the same as
SpliceProduction. This resolves a compatibility issue witheclair nodes due to the use of the same splicing feature flag (155) they were
using for a pre-standardization version of splicing (#4387).
Bug Fixes
ChannelMonitorUpdatepersistence operations which complete, but arenot marked as complete in a persisted
ChannelManagerprior to restart,followed immediately by a block connection and then another restart could
result in some channel operations hanging leading for force-closures (#4377).
message from a peer was fixed (#4383).
v0.2.1API Updates
AttributionDatastruct is now public, correcting an issue where it wasaccidentally sealed preventing construction of some messages (#4268).
soon as the sleeper returns the exit flag (#4259).
Bug Fixes
ElectrumSyncClientto spuriously fail to sync (#4341).ChannelManager::splice_channelnow properly fails immediately if thepeer does not support splicing (#4262, #4274).
HTLC fails to be forwarded after being accepted (#4312).
payment_hashfield (#4342).v0.1.12Compare Source
v0.1.11Compare Source
Bug Fixes
lightningcrate, which now again compiles onrustc1.63 (#4737).v0.1.10Compare Source
API Updates
DefaultMessageRouterwill now always generate blinded message paths thatprovide no privacy (where our node is the introduction node) for nodes with
public channels. This works around an issue which will appear for any nodes
with LND peers that enable onion messaging - such peers will refuse to
forward BOLT 12 messages from unknown third parties, which most BOLT 12
payers rely on today (#4647).
amount_msatsof 0 is rejected in BOLT 12Offers;OfferBuildernow maps 0-amounts to an amount of
None(#4324).Bug Fixes
ChannelMonitorUpdatepersistence operations which complete, but arenot marked as complete in a persisted
ChannelManagerprior to restart,followed immediately by a block connection and then another restart could
result in some channel operations hanging leading for force-closures (#4377).
ChannelMonitorUpdates for some parts arestill being completed asynchronously, further channel updates (e.g.
forwarding another payment) are pending and the node restarts, the channel
could have become stuck (#4520).
ElectrumSyncClientto spuriously fail to sync (#4590).FilesystemStore::list_all_keyswill no longer fail if there are staleintermediate files lying around from a previous unclean shutdown (#4618).
200%, LDK will no longer spuriously allow a forward that pays us 1 msat too
little in fees (#4697).
both async
ChannelMonitorUpdatepersistence and async signing (#4684).Event::PaymentSent::fee_paid_msatis no longerNonein cases whereChannelManager::abandon_paymentwas called before the payment ultimatelycompletes anyway (#4651).
ChainMonitorusing theConfirmtrait will no longer write somefull
ChannelMonitors to disk several times per block (#4544).OMDomainResolvernow correctly accounts for failed queries when ratelimiting, ensuring we continue to respond to queries after failures (#4591).
ChannelManager::send_payment_with_routewithout aroute_paramsand with an invalid
Routewill no longer panic (#4707).lightning-custom-message's handling ofpeer_connectedevents now ensuresthat sub-handlers will see a
peer_disconnectedevent if a differentsub-handler refused the connection by
Erringpeer_connected(#4595).expiry (#4558).
InvoiceRequestBuilderwill no longer accept aquantityof0for aBOLT 12
Offer, allowing any quantity up to a bound (#4667).lightning-custom-messagehandlers that returnOk(None)when asked todeserialize a message in their defined range no longer cause panics (#4709).
Security
0.1.10 fixes a sanitization issue and several denial-of-service vulnerabilities.
Bolt11Invoice::recover_payee_pub_keyno longer panics if called on aninvoice which set an explicit public key, rather than relying on public key
recovery. This method is called from
payment_parameters_from_invoiceandpayment_parameters_from_variable_amount_invoice(#4717).no longer cause an
unwrapfailure panic (#4716).possiblyrandomdid not properly generate random data except when it wasexplicitly configured to. By default this means LDK is vulnerable to various
HashDoS attacks (#4719).
OMNameResolverwill no longer panic when looking up payment instructionswhich include unicode characters at the start of a TXT record (#4718).
PrintableStringdid not properly sanitize unicode format characters,allowing an attacker to corrupt the rendering of logs or UI (#4593, #4605).
to store in memory. Note that RGS data is still considered a DoS vector in
general and you should only use semi-trusted RGS data (#4713).
full, reducing the ability of such a counterparty to spam our logs (#4714).
ChannelManagerorProbabilisticScorercan no longercause us to allocate large amounts of memory (#4712).
Thanks to Project Loupe for reporting most of the issues fixed in this release.
v0.1.8Compare Source
Bug Fixes
counterparty's
revoke_and_ackmessage and therevoke_and_ackmessage isreceived prior to the asynchronous completion of the MPP-claim
ChannelMonitorUpdate, the channel will no longer hang (#4236).Durations can no longer panic (#4172).Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.