LL
← All projectsLightning Labs

LND

Go implementation of a complete Lightning Network node.

BitcoinLightning NetworkNormal
Repository coverage

1399 commits in the local evidence base

Every captured commit receives deterministic security triage and a separate communication-quality score. Security candidates and broader second-pass signals receive full-patch Ollama analysis.

142security candidates195second-pass queue1287AI analyses
86commits · 30 days
186commits · 60 days
609commits · 180 days
1241commits · 365 days
Backfill bands
Aug 5 → Feb 6405 seen5 candidatesComplete
Feb 6 → Jun 6665 seen28 candidatesComplete
Jun 6 → Jul 689 seen4 candidatesComplete
Jul 6 → Aug 569 seen0 candidatesComplete
Commit communication

Does the history explain itself?

Message quality measures whether a commit identifies its scope, purpose, rationale, testing, and supporting references. It does not change the security-severity score.

67/100 average clarity
322Strong · 80–100
655Adequate · 60–79
391Thin · 40–59
31Opaque · 0–39
1security candidate with opaque commit messaging
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
Olaoluwa Osuntokun20942204474
Elle Mouton26832268167
ziggie44416413165
Yong28513171
LNBiG111173
Jared Tobin909171
bitromortac661153071
yyforyongyu83861068
Erick Cestari26726070
Andras Banki-Horvath11311072
Gijs van Dam33230073
ziggieXXX2026070
Analysis record

Published AI watches

Last scanned 55 minutes ago

Moderate 62 AI analysisMessage 58 · Thin
LL Lightning LabsLND BitcoinLightning Network

Merge pull request #11212 from ziggie1984/disable-legacy-channels

This change stops LND from opening new Lightning channels using the old 'legacy' commitment format. The legacy format makes it harder to recover funds if something goes wrong, because the money owed to you is tied to a secret key that chan…

Prevents opening new channels with the legacy commitment type, whose tweaked to_remote output complicates data-loss recoveryCloses a negotiation path where an empty channel_type TLV bypassed feature checks and forced a legacy channelAdds explicit RPC and wire rejection with a dedicated error code
112cb5f3by ziggieXXX+265−4716 files
Vendor flagged security relevance
Moderate 56 AI analysisMessage 73 · Adequate
LL Lightning LabsLND BitcoinLightning Network

Merge pull request #11223 from gijswijs/legacy-dust-retribution-fix

This update fixes a bug in how LND handles old-style punishment transactions when a channel partner tries to cheat. Previously, tiny (dust) HTLCs were left as blank placeholder entries in the punishment data, which could cause the node to …

nil-pointer dereference risk in breach retribution pathlegacy revocation log handling inconsistency with modern formatdefensive hardening added for trimmed/dust HTLCs
500ca51fby ziggieXXX+168−146 files
No security note in commit
Moderate 62 AI analysisMessage 73 · Adequate
LL Lightning LabsLND BitcoinLightning Network

Merge pull request #11190 from Roasbeef/zpay32-reject-duplicate-payment-hashes

This change tightens how LND reads Lightning invoices (BOLT 11). Previously, if an invoice contained more than one payment hash field, LND would silently keep the first one and ignore the rest. Now it rejects the invoice entirely. The rele…

Behavior change from 'use first duplicate field' to 'reject duplicate fields'New error type ErrDuplicatePaymentHash returned on duplicate payment hash fieldsMalformed/unsupported-length duplicate payment hash now treated as duplicate and rejected
86306f89by Yong+147−106 files
No security note in commit
Moderate 62 AI analysisMessage 98 · Strong
LL Lightning LabsLND BitcoinLightning Network

zpay32: reject duplicate payment hash fields

This change tightens how LND reads Lightning invoices. Previously, if an invoice contained more than one payment hash field, LND would silently keep the first valid one and ignore the rest. Now it rejects such invoices outright. This preve…

Behavioral change from silent first-field acceptance to explicit rejection of duplicate payment hash fieldsPrevents invoice parsing from depending on field ordering when multiple payment hashes are presentCovers malformed first field + valid second field, closing a potential bypass
e2f27063by Olaoluwa Osuntokun+147−106 files
Vendor flagged security relevance
Moderate 53 AI analysisMessage 58 · Thin
LL Lightning LabsLND BitcoinLightning Network

Merge pull request #11132 from yyforyongyu/task-11129-pong

This change fixes how LND answers network 'ping' messages from other Lightning nodes. Previously, LND would sometimes silently ignore valid pings to limit reply traffic, which violates the Lightning protocol (BOLT 1) and could make a peer …

Protocol compliance fix: BOLT 1 requires a Pong for every valid PingRemoved silent suppression of Pong replies that could cause peer timeout/misbehaviorUnified rate limiting now accounts for amplification bandwidth, not just ping count
d3d1f1d0by Olaoluwa Osuntokun+274−1715 files
Vendor flagged security relevance
Low 33 AI analysisMessage 90 · Strong
LL Lightning LabsLND BitcoinLightning Network

itest: stop creating legacy channels

This commit updates LND's integration tests to stop using an obsolete 'legacy' channel type and adds a test confirming that LND now rejects that legacy type. The commit message says the real fix is elsewhere in the same pull request: previ…

Deprecated commitment format (legacy) is now rejected by RPCTest added to verify legacy channel type is refusedUnused legacy node configuration flag removed
03d8b09dby ziggie+24−85 files
No security note in commit
Moderate 60 AI analysisMessage 73 · Adequate
LL Lightning LabsLND BitcoinLightning Network

Merge pull request #11198 from gijswijs/amp-setlocal-reconstruction-fix

This change fixes a bug in LND's handling of AMP (Atomic Multi-Path) payments. Previously, if one partial payment set failed to reconstruct its secret preimage, the entire invoice was canceled, including unrelated partial payment sets from…

Denial-of-service against reusable static AMP invoices by causing unrelated accepted HTLC sets to be canceledIncorrect invoice state transition from set-local failure to global invoice cancellationAvailability impact on multi-payer AMP invoice scenarios
88959aecby Olaoluwa Osuntokun+155−44 files
Vendor flagged security relevance
Low 29 AI analysisMessage 73 · Adequate
LL Lightning LabsLND BitcoinLightning Network

Merge pull request #11200 from ziggie1984/build-go-1.27.1

This commit updates the Go programming language version used to build LND from 1.25.13/1.26.6 to 1.26.8 (language version) and 1.27.1 (toolchain). It also regenerates many automatically generated RPC files and adjusts linter settings. The …

Go version bump may indirectly address unlisted runtime/standard-library security fixesLarge regenerated protobuf files suggest dependency/toolchain refresh rather than logic changeLinter configuration expanded to suppress new checks, consistent with a toolchain upgrade
ef4820e5by Olaoluwa Osuntokun+4932−412670 files
No security note in commit
Informational 15 AI analysisMessage 92 · Strong
LL Lightning LabsLND BitcoinLightning Network

build: adopt focused golangci-lint v2.13 checks

This commit is a routine build-maintenance change. It updates the project's Go linter configuration to a newer version and fixes the resulting style warnings: a WebSocket header spelling and several documentation comments that didn't start…

bada7ea3by ziggie+27−1911 files
No security note in commit
Informational 15 AI analysisMessage 68 · Adequate
LL Lightning LabsLND BitcoinLightning Network

lnrpc: regenerate protos with Go 1.27

This commit is a housekeeping change that regenerates automatically generated RPC binding files using a newer Go compiler version. The only differences are in code comments (doc-comment formatting), not in actual program logic or API behav…

dd523108by ziggie+4501−369826 files
No security note in commit
Informational 20 AI analysisMessage 100 · Strong
LL Lightning LabsLND BitcoinLightning Network

build: fix Go 1.27 compatibility

This commit is a routine build-and-test maintenance patch to make the LND codebase compile and pass tests with the upcoming Go 1.27 release. It upgrades the project's custom linter tool, refreshes many indirect tool dependencies, adjusts o…

No production code changesNo vulnerability fix or CVE reference presentDependency-only refresh in tools module (development tooling)
6b54a387by ziggie+365−3706 files
No security note in commit
Informational 15 AI analysisMessage 80 · Strong
LL Lightning LabsLND BitcoinLightning Network

build: bump Go language and toolchain versions

This commit is a routine maintenance update that changes which version of the Go programming language is used to build the lnd project. It does not change any application logic, fix a bug, or address a security vulnerability. The project i…

b1f9ca66by ziggie+39−3930 files
No security note in commit
Moderate 60 AI analysisMessage 83 · Strong
LL Lightning LabsLND BitcoinLightning Network

invoices: cancel only the failing AMP set on reconstruction failure

This commit fixes a bug in LND's invoice handling for reusable AMP (Atomic Multi-Path) invoices. Previously, if one payment set failed to reconstruct its preimage, the entire invoice was canceled, even though other valid payment sets on th…

Denial-of-service-like availability impact: a malicious or buggy payer could cause a whole reusable AMP invoice to be canceled, blocking legitimate concurrent payersSet-local failure incorrectly escalated to invoice-global cancellationRegression test added for concurrent-set survival after reconstruction failure
d74ab6faby Gijs van Dam+141−42 files
No security note in commit
Informational 15 AI analysisMessage 68 · Adequate
LL Lightning LabsLND BitcoinLightning Network

bolt12: describe the lnwire dependency

This is a documentation-only change. A package comment was updated to accurately describe that the bolt12 codec library does depend on LND's lnwire package for low-level message types, while clarifying it still does not interact with the r…

5f53171dby bitromortac+3−21 file
No security note in commit
Moderate 60 AI analysisMessage 91 · Strong
LL Lightning LabsLND BitcoinLightning Network

bolt12: cover the amount overflow guard

This commit adds a test to ensure that when a BOLT 12 invoice is validated against a request, the multiplication of the offer amount by the requested quantity cannot overflow and wrap around to zero. Without this guard, a malicious or malf…

Integer overflow / wraparound in amount calculationMissing test coverage for security-critical branchBOLT 12 invoice amount validation
3c8e2bcbby bitromortac+47−01 file
Vendor flagged security relevance
Low 34 AI analysisMessage 73 · Adequate
LL Lightning LabsLND BitcoinLightning Network

Merge pull request #11061 from bitromortac/2604-bolt12-1f

This commit adds the missing cryptographic signature layer for BOLT 12 offers in LND. It builds a Merkle tree from the message fields, signs that tree with a BIP-340 Schnorr signature, and now rejects invoice requests and invoices whose si…

Adds BIP-340 Schnorr signature verification for BOLT 12 invoice_request and invoice messagesMerkle tree commits to canonical re-encoded TLV records; non-minimal feature/amount encodings now rejected to preserve byte-exactnessSignature TLV type 240 and reserved range 240-1000 excluded from the signed Merkle root
1049d301by Yong+2076−7815 files
Vendor flagged security relevance
Low 35 AI analysisMessage 73 · Adequate
LL Lightning LabsLND BitcoinLightning Network

Merge pull request #11125 from bhandras/codex/reorg-aware-output-lock-20260825

This commit adds a new optional wallet feature to LND that lets users lock UTXOs until the transaction spending them reaches a chosen confirmation depth, instead of relying on a wall-clock timeout. It is a feature addition with safety chec…

New RPC fields release_after_spend_confs and confirmed_spend_height added to LeaseOutput and FundPsbtCustom lock ID enforced as required for confirmation-controlled FundPsbt leases; all-zero and reserved internal IDs rejectedCapability check (ResolveOutputLeaser) prevents silent downgrade to time-only lease when confirmation control is requested
80dde144by Yong+1293−10021 files
No security note in commit
Informational 19 AI analysisMessage 58 · Thin
LL Lightning LabsLND BitcoinLightning Network

Merge pull request #10812 from ziggie1984/chanstate-kv-store-move

This commit is a large internal code reorganization for the LND Lightning node. It moves channel state storage logic from the `channeldb` package into a new `chanstate` package, while keeping the same database keys, serialization formats, …

Large refactoring with no change to cryptographic or consensus-critical logicCodec serialization moved verbatim to new package; wire format unchangedDatabase bucket keys and TLV record types preserved
62b0a073by Olaoluwa Osuntokun+3923−310924 files
No security note in commit
Low 25 AI analysisMessage 73 · Adequate
LL Lightning LabsLND BitcoinLightning Network

Merge pull request #10804 from GeorgeTsagk/close-immediately-itest-lnd-7c38

This change fixes a data-handling bug in LND's channel-opening code. When opening a Lightning channel using an optional 'auxiliary funding controller' (used for custom channel types such as Taproot Assets), the funding manager was previous…

Data-correctness fix in funding handshake: negotiated channel configs now exposed to auxiliary funding controllerAuxiliary funding controller receives incomplete channel state before patch, complete state after patchNo explicit security claim, CVE, or advisory referenced in commit or supplied materials
1e127653by Olaoluwa Osuntokun+291−254 files
No security note in commit
Moderate 60 AI analysisMessage 88 · Strong
LL Lightning LabsLND BitcoinLightning Network

bolt12: verify invoice_request and invoice signatures on read

This change makes LND's BOLT 12 invoice and invoice-request reader actually check that the digital signature is valid, instead of only checking that a signature field exists. Before, an attacker could craft or modify a BOLT 12 message and …

Missing cryptographic verification on parsed BOLT 12 messages replaced with BIP-340 Schnorr signature verificationReader accepted any 64-byte placeholder signature before the patchNew negative tests verify rejection of wrong-signer and tampered Merkle-root fields
aa8bd19fby bitromortac+272−723 files
Vendor flagged security relevance
Repository ledger

Explore captured commits

Expand any commit for its author, full message, clarity score, changed files, triage signals, analysis, and source link.

Lower-prioritypaymentsdb: fix typo in commentby ziggie · 80b3eceb · Mar 12, 2026 · 2 filesMessage 45 · ThinInformational 15Details
Commit message · ziggie

paymentsdb: fix typo in comment

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100

This commit only corrects a typo in two code comments, changing 'BatchedSQLPaymentsQueries' to 'BatchedSQLQueries' so the documentation matches the actual type name. No program code, logic, or behavior was changed.

Lower-prioritypayments/db: fix format in log messageby ziggie · 50205ffe · Mar 12, 2026 · 2 filesMessage 60 · AdequateInformational 15Details
Commit message · ziggie

payments/db: fix format in log message

fixes it for the orignal file and the code migration package where
the code was just copied over.

60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
AI analysis · Informational 15/100

This commit fixes a typo in an error message by adding a missing space between two words. It does not change program behavior or fix any security issue.

Lower-prioritymulti: add omit_hops option to ListPayments RPCby ziggie · 3a15d7e9 · Mar 12, 2026 · 9 filesMessage 68 · AdequateInformational 19Details
Commit message · ziggie

multi: add omit_hops option to ListPayments RPC

Add a new omit_hops field to ListPaymentsRequest that allows clients
to skip loading hop-level route data for HTLC attempts, reducing both
query cost and response size. When set, the route is returned with
only route-level fields (TotalTimeLock, TotalAmount, SourcePubKey)
and no individual hop data or hop-level custom records.

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 19/100

This commit adds a new optional flag called omit_hops to the ListPayments RPC in the LND Lightning node. When enabled, the node skips loading detailed per-hop route information for each payment attempt, returning only summary route fields. This is a performance and data-reduction feature, not a security fix or vulnerability. There is no indication in the commit that it addresses a security issue.

Lower-prioritysqldb: optimise payment index layout in new migration 13by ziggie · 3e7dfff0 · Mar 12, 2026 · 3 filesMessage 73 · AdequateInformational 15Details
Commit message · ziggie

sqldb: optimise payment index layout in new migration 13

Since migration 10 is already merged into master it cannot be edited.
Add a new migration (000013_payments_index_improvements) that carries
forward two index improvements:

- Drop idx_htlc_attempt_index on payment_htlc_attempts(attempt_index)
and idx_route_hops_htlc_attempt_index on
payment_route_hops(htlc_attempt_index). Both are redundant with
existing UNIQUE constraints and only add write/maintenance overhead.

- Add idx_htlc_payment_id_attempt_time on
payment_htlc_attempts(payment_id, attempt_time) to optimise batched
attempt reads that filter by payment_id and order by attempt_time
(FetchHtlcAttemptsForPayments).

- Add idx_htlc_resolutions_type_attempt_index on
payment_htlc_attempt_resolutions(resolution_type, attempt_index) to
optimise the failed-attempt cleanup path that filters by
resolution_type before joining on attempt_index
(DeleteFailedAttempts).

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 15/100

This commit is a routine database performance tuning change. It removes two indexes that duplicate existing uniqueness constraints and adds two new composite indexes to speed up common payment-related queries. There is no security fix or vulnerability here.

Lower-prioritydocs: add removal notice of deprecated hop rpc elementsby ziggie · 3e619318 · Mar 12, 2026 · 1 fileMessage 85 · StrongInformational 15Details
Commit message · ziggie

docs: add removal notice of deprecated hop rpc elements

The previous commit stopped setting the channel capacity when
retrieving the route. This commit makes sure that in the next
release we remove the entries from the rpc interface.

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Why it was queued
documentation-only discount
AI analysis · Informational 15/100

This commit only updates the release notes document to announce that several old, deprecated fields in the `lnrpc.Hop` message will be removed in a future version. It does not change any code, API behavior, or fix any vulnerability. It is a documentation-only notice.

Lower-priorityrouterrpc: dont query for the channel capacityby ziggie · 21fa0710 · Mar 12, 2026 · 2 filesMessage 80 · StrongInformational 19Details
Commit message · ziggie

routerrpc: dont query for the channel capacity

During route retrieval don't query for the channel capacity. We
default to the static incomingAmt of the route. That was already
done previously when the channel was closed or private. The
channel capacity has been deprecated for quite a while so it is
acceptable to avoid the performance hit querying the graph db.

In the next release this field will be removed.

80/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode
AI analysis · Informational 19/100

This change removes a database lookup for channel capacity when returning a payment route through the RPC interface. Instead of fetching the real channel capacity from the graph database, it now reports the amount flowing through each hop as a stand-in capacity. This is a performance and deprecation cleanup, not a security fix. The included test corrects a subtle bug where every hop was being assigned the route's total amount rather than the amount actually entering that hop.

Lower-prioritymulti: remove payment tombstoneby ziggie · c2e8618f · Mar 12, 2026 · 2 filesMessage 70 · AdequateLow 30Details
Commit message · ziggie

multi: remove payment tombstone

The invoice tombstone acts as a system wide kv db tombstone so
there is no need for a specific payment tombstone. Moreover a
TODO is added to redesign the current setting of the invoice
tombstone because it is also fragile to crashes after
the tombstone is set and the sql transaction of the migration
fails to commit.

Additionally the missing cleanup calls are added in case we return
early because of an error.

70/100 · AdequateMessage clarity
✓ Descriptive subject✓ Provides detailed explanatory context✓ Explains rationale or failure mode
AI analysis · Low 30/100

This commit removes a separate 'tombstone' marker for payment data migrations and instead relies on a single invoice tombstone to prevent users from switching back to an older database format. It also adds missing cleanup calls when database setup fails and flags a pre-existing crash-safety weakness in how the invoice tombstone is set during SQL migrations. It is a hardening/refactoring change rather than a fix for an active exploit.

Lower-priorityinput: add template vs builder byte-for-byte equivalence testsby Olaoluwa Osuntokun · 8a5d241a · Mar 12, 2026 · 3 filesMessage 83 · StrongInformational 15Details
Commit message · Olaoluwa Osuntokun

input: add template vs builder byte-for-byte equivalence tests

Add regression tests that compare every ScriptTemplate-based function
against the original ScriptBuilder implementations extracted from git
history. This ensures the template migration produces identical script
bytes for all 22 script types (segwit v0 + taproot).

The legacy builder functions are kept as private test helpers in
script_utils_legacy_test.go, extracted verbatim from the pre-template
commit.

83/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidence
AI analysis · Informational 15/100

This commit only adds new test code. It does not change any production code. The tests compare newly added 'ScriptTemplate' functions against older 'ScriptBuilder' versions to make sure they produce identical Bitcoin scripts byte-for-byte. It is a regression-test addition, not a security fix or vulnerability.

Lower-priorityinput: use template to unify taproot "prod script" definitionby Olaoluwa Osuntokun · 833f17fe · Mar 12, 2026 · 1 fileMessage 50 · ThinInformational 11Details
Commit message · Olaoluwa Osuntokun

input: use template to unify taproot "prod script" definition

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 11/100

This commit is a code cleanup and documentation change in LND's Bitcoin script construction code. It rewrites several script templates to use a consistent 'prod script' style (CHECKSIGVERIFY instead of CHECKSIG+DROP) and adds explanatory comments. The actual Bitcoin opcodes produced appear functionally equivalent to the previous versions, just written more uniformly. There is no indication this fixes a security vulnerability.

Lower-priorityinput: add cut out for final taproot scripts from specby Olaoluwa Osuntokun · 50639114 · Mar 12, 2026 · 1 fileMessage 73 · AdequateInformational 11Details
Commit message · Olaoluwa Osuntokun

input: add cut out for final taproot scripts from spec

In this commit, we add an initial cut out to allow us to swap in the
taproot scripts (which changed slightly) once we start using the final
"production" feature bit.

The changes to the scripts are pretty mechanic: we avoid using `OP_DROP`
and instead use a `_VERIFY` earlier in the script to consume the stack
item.

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 11/100

This commit prepares the code to support two versions of certain Bitcoin scripts used in Lightning's experimental Taproot channels: a current draft version and a final 'production' version. The production version removes some unnecessary cleanup instructions (OP_DROP) and instead uses verification-style instructions (CHECKSIGVERIFY, CHECKSEQUENCEVERIFY) earlier in the script. This is a code organization and forward-compatibility change; it does not by itself fix a known vulnerability or change active behavior, because the new production scripts are not yet enabled by default.

Lower-prioritybuild: update to latest btcd versionby Olaoluwa Osuntokun · d3deeb45 · Mar 11, 2026 · 2 filesMessage 57 · ThinLow 30Details
Commit message · Olaoluwa Osuntokun

build: update to latest btcd version

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Low 30/100

This commit simply updates a core Bitcoin library dependency (btcd) to a newer version in LND's build files. The change itself does not show any specific security fix, bug, or vulnerability. It is a routine dependency bump that could include many upstream changes, but the commit message and diff do not identify any security issue.

Lower-priorityinput: switch to using new txscript.ScriptTemplate functionby Olaoluwa Osuntokun · f26ad679 · Mar 11, 2026 · 2 filesMessage 73 · AdequateInformational 16Details
Commit message · Olaoluwa Osuntokun

input: switch to using new txscript.ScriptTemplate function

In this commit, we switch to using the new txscript.ScriptTemplate
function. This allows us to write the script in plain text, using some
hidden template operations to swap in items like keys or sigs.

This reduces in less code and boiler plate over all, the code that
defines the script now reads as if it was a comment.

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 16/100

This commit is a code cleanup: it rewrites many Bitcoin script-building helpers in LND to use a new text-based template function instead of manually assembling script pieces. The scripts themselves appear unchanged in behavior; only the way they are written in source code changed. There is no indication this fixes a security bug or introduces a known vulnerability.

AI review queuedlnrpc: regenerate protobuf definitions for grpc v1.79.1by Olaoluwa Osuntokun · 07f2d1aa · Mar 10, 2026 · 17 filesMessage 73 · AdequateInformational 15Details
Commit message · Olaoluwa Osuntokun

lnrpc: regenerate protobuf definitions for grpc v1.79.1

In this commit, we regenerate all protobuf Go stubs to match the
updated grpc and protobuf library versions. This is a mechanical
change with no functional differences; the generated code simply
uses the newer protobuf runtime APIs.

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a routine, mechanical update of automatically generated protobuf Go code to match newer versions of the protobuf and gRPC libraries. The commit message explicitly states there are no functional differences. The visible changes are only in generated boilerplate: field ordering, removal of the `protoimpl.UnsafeEnabled` guard, use of the `unsafe` package for string-to-byte conversions of descriptor data, and newer protoc-gen-go version comments. No application logic, RPC definitions, or security behavior changed.

AI review queuedci: update pinned grpc dependency to v1.79.1by Olaoluwa Osuntokun · 54688752 · Mar 10, 2026 · 1 fileMessage 80 · StrongInformational 15Details
Commit message · Olaoluwa Osuntokun

ci: update pinned grpc dependency to v1.79.1

In this commit, we update the CI workflow pinned dependency check
for google.golang.org/grpc from v1.59.0 to v1.79.1. While btcwallet
only requires v1.73.0, we upgrade to the latest stable release for
bug fixes and improvements.

80/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Why it was queued
documentation-only discountsecond-pass: broader security terminology
AI analysis · Informational 15/100

This commit changes a single line in a GitHub CI workflow file, bumping the pinned version of a Google gRPC library used during automated testing from v1.59.0 to v1.79.1. It does not modify any application code, cryptographic logic, network handling, or user-facing behavior. There is no indication in the commit that this fixes a known security vulnerability.

AI review queuedmod: bump google.golang.org/grpc to v1.79.1by Olaoluwa Osuntokun · ae286f27 · Mar 10, 2026 · 2 filesMessage 68 · AdequateLow 34Details
Commit message · Olaoluwa Osuntokun

mod: bump google.golang.org/grpc to v1.79.1

In this commit, we bump the grpc dependency from the v1.73.0 version
(pulled in transitively by btcwallet) to v1.79.1 which is the latest
release and includes several bug fixes. This also bumps a number of
related transitive deps including google.golang.org/protobuf to v1.36.10
and several golang.org/x packages.

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
second-pass: broader security terminology
AI analysis · Low 34/100

This commit updates several software building blocks (dependencies) used by the Lightning Network Daemon (LND), most notably the gRPC networking library from version 1.73.0 to 1.79.1, plus related Google and Go standard-library packages. The commit message says the new versions include bug fixes, but does not say any of those bugs are security issues. Because the diff only shows version number changes and no code changes, we cannot confirm from this commit alone that a specific vulnerability is being fixed. It is best treated as a routine maintenance update that may incidentally close known bugs in upstream libraries.

Security candidatemod+multi: bump neutrino to v0.16.2, btcwallet to 70a94ea39e9cby Olaoluwa Osuntokun · 641ff68c · Mar 10, 2026 · 12 filesMessage 88 · StrongLow 32Details
Commit message · Olaoluwa Osuntokun

mod+multi: bump neutrino to v0.16.2, btcwallet to 70a94ea39e9c

In this commit, we update our two core chain backend dependencies:
neutrino is bumped from v0.16.1 to v0.16.2, and btcwallet is updated
to commit 70a94ea39e9c (a pre-release past v0.16.17).

The updated btcwallet changes the `chain.Interface` `Start` method
signature from `Start() error` to `Start(context.Context) error`. The
same change was made to neutrino's `ChainService.Start`. We update all
call sites and interface implementations across the codebase to pass a
`context.Background()` at non-test call sites, and `t.Context()` in
tests.

The affected packages are: chainntnfs/bitcoindnotify, chainreg,
config_builder, lnmock, lntest/unittest, lnwallet/btcwallet,
lnwallet/test, and routing/chainview.

88/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Names security-relevant behavior explicitly
Why it was queued
signing boundarysigning or wallet path
AI analysis · Low 32/100

This commit updates two core software building blocks (neutrino and btcwallet) used by the Lightning Network Daemon (LND). The main visible change is that the 'Start' method of these building blocks now requires a context parameter, so the LND code is adjusted to pass one. The commit also pulls in newer versions of many supporting libraries. There is no direct evidence in the commit message or diff that this fixes a specific security vulnerability; it looks like a routine dependency and API-signature update. However, because it bumps chain-backend and cryptographic libraries, it could indirectly include security fixes from those upstream projects.

Lower-prioritychore: fix linter issues in brontide.goby Gijs van Dam · e8074935 · Mar 9, 2026 · 1 fileMessage 80 · StrongInformational 15Details
Commit message · Gijs van Dam

chore: fix linter issues in brontide.go

Post merge of #10089, a linter issues was introduced in `brontide.go`.
This commit fixes that issue.

80/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body✓ Links an issue, advisory, or supporting reference
AI analysis · Informational 15/100

This is a trivial code cleanup commit that adds a blank line to satisfy a Go linter rule. It does not change program behavior, fix a bug, or address any security issue.

Lower-prioritydocs: add release notes for GetDebugInfo include_log flagby saubyk · 92c0f55f · Mar 7, 2026 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · saubyk

docs: add release notes for GetDebugInfo include_log flag

62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
documentation-only discount
AI analysis · Informational 15/100

This commit only updates the release notes document. It describes a new optional flag for the GetDebugInfo RPC and related lncli commands that controls whether log files are included in responses. There is no code change, no vulnerability, and no security fix in this commit itself.

Lower-prioritycmd/commands: add --include_log flag to getdebuginfo CLIby saubyk · 94bb6650 · Mar 7, 2026 · 1 fileMessage 73 · AdequateInformational 15Details
Commit message · saubyk

cmd/commands: add --include_log flag to getdebuginfo CLI

Add an --include_log boolean flag to the getdebuginfo and
encryptdebugpackage commands. When set, the log file content is included
in the response. The encryptdebugpackage command description is updated
to reflect the new default behavior.

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 15/100

This commit adds a new optional --include_log flag to two LND command-line tools (getdebuginfo and encryptdebugpackage). When the user explicitly sets this flag, log file content is included in the debug output or encrypted support package. By default, logs are not included. There is no security vulnerability here; it is a user-controlled privacy/feature change.

Lower-priorityrpcserver: skip log reading when include_log flag is not setby saubyk · 0e80b24c · Mar 7, 2026 · 1 fileMessage 73 · AdequateInformational 18Details
Commit message · saubyk

rpcserver: skip log reading when include_log flag is not set

By default, GetDebugInfo now returns only the configuration map. The log
file is only read and included when the include_log flag is set to true,
avoiding the cost of reading large log files when only config data is
needed.

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 18/100

This change makes the GetDebugInfo RPC call read the log file only when explicitly requested via a new include_log flag. Previously, every call to GetDebugInfo would read the entire log file, which could be slow or consume memory if the log file was very large. The patch is a performance and resource-usage improvement, not a fix for a clear security vulnerability.

Lower-prioritylnrpc: add include_log field to GetDebugInfoRequestby saubyk · f0e22873 · Mar 7, 2026 · 4 filesMessage 73 · AdequateLow 27Details
Commit message · saubyk

lnrpc: add include_log field to GetDebugInfoRequest

Add an `include_log` bool field to GetDebugInfoRequest proto message.
When set to true, the server will include the log file content in the
response in addition to the configuration map.

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Low 27/100

This commit adds a new optional flag called include_log to the GetDebugInfo API request in LND. When set to true, the server will return the contents of its log file along with the existing configuration map. The change is purely a protobuf/API schema update; the actual server-side logic that reads and returns the log file is not visible in this diff. Because log files can contain sensitive information (connection details, errors, paths, or in rare cases accidentally logged secrets), adding an easy way to retrieve them over the API could increase the impact of any future RPC authentication weakness or misconfiguration. However, the commit itself does not introduce a vulnerability, and the default behavior remains unchanged (logs are not returned unless explicitly requested).

Lower-prioritydocs: add release-notesby Eduardo Bravo · b3225ce3 · Mar 5, 2026 · 2 filesMessage 40 · ThinInformational 15Details
Commit message · Eduardo Bravo

docs: add release-notes

40/100 · ThinMessage clarity
✓ Subject identifies a change✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Informational 15/100

This commit only updates release notes and simplifies a Dockerfile line by hardcoding the Go version instead of using a build argument. There is no security-relevant code change.

Lower-priorityscripts/bw-compat: use docker logs for log collectionby ziggie · 2b4dc4ea · Mar 5, 2026 · 1 fileMessage 73 · AdequateInformational 15Details
Commit message · ziggie

scripts/bw-compat: use docker logs for log collection

Switch collect_logs from docker cp to docker logs to reliably capture
container output. The previous approach used docker cp to copy lnd log
files from inside named volumes, which silently fails in CI — the
directory gets created and the success echo prints, but no files are
ever copied, causing upload-artifact to report "No files were found".

docker logs reads directly from Docker's captured stdout/stderr buffer,
bypassing the volume entirely, and works as long as the container exists.

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 15/100

This commit fixes a CI log-collection script. It changes how test logs are gathered from Docker containers so that logs are reliably saved as artifacts. There is no security issue here—just a debugging/observability improvement for internal backward-compatibility tests.

Lower-prioritydocs(docker): update README for improved clarity and accuracyby Eduardo Bravo · dba80c63 · Mar 5, 2026 · 4 filesMessage 62 · AdequateInformational 15Details
Commit message · Eduardo Bravo

docs(docker): update README for improved clarity and accuracy

62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Informational 15/100

This commit is a documentation and Docker configuration update for LND's development/test environment. It updates README instructions, bumps the btcd version used in Docker images, modernizes Docker Compose syntax, and adjusts default lnd RPC listening settings. There is no security-relevant code change affecting production LND users.

Security candidateMerge pull request #9637 from Roasbeef/chan-type-requiredby Olaoluwa Osuntokun · cd755cda · Mar 5, 2026 · 2090 filesMessage 73 · AdequateInformational 15Details
Commit message · Olaoluwa Osuntokun

Merge pull request #9637 from Roasbeef/chan-type-required

feature: start to set the require bit for channel_type

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Links an issue, advisory, or supporting reference
Why it was queued
cryptography-sensitive pathseed or entropy pathsigning or wallet pathboot or update pathauthentication pathparser or protocol pathmerge-commit duplicate discount
AI analysis · Informational 15/100

This commit is a massive repository import or rebase that adds the entire LND codebase plus many new GitHub workflow, documentation, and configuration files. The stated title refers to a Lightning protocol feature ('start to set the require bit for channel_type'), but the supplied diff does not show any code changes related to channel_type; it only shows newly added repository scaffolding. There is no evidence in the provided materials of a security vulnerability or a security-relevant code change.