docs: release-note zero-value WitnessUtxo remote-sign fix
What changed, and why it matters
This commit is only a documentation update adding a release-note entry for an already-merged bug fix. The underlying fix changes how LND's remote-signer PSBT preparation handles zero-value previous outputs. It allows signing workflows for special Bitcoin transactions (BIP-322 'to_sign' transactions) where a previous output is required to have zero value. Previously, the remote signer silently dropped these inputs, causing a later signing step to fail with an error. There is no direct code change in this commit, only a description of the prior fix.
Review the actual code change in PR #10815 to confirm the fix correctly handles zero-value PrevOutputFetcher entries without introducing unintended signing behavior. Since this commit is only a release note, no immediate action is required beyond ensuring the note accurately reflects the fix.
Security signals we found
Bug fix described relates to PSBT signing flow failure
Previously skipped zero-value WitnessUtxo entries could break valid signing paths
No code change in this commit; only release-note documentation
Evidence from the diff
The commit adds a release-note bullet for PR #10815. The described fix concerns the remote-signer PSBT preparation stage: when populating WitnessUtxo for inputs that the remote signer itself does not sign, the code now accepts zero-value entries from the sign descriptor’s PrevOutputFetcher. This is needed for virtual previous outputs such as BIP-322’s to_spend output (the prevout of input 0 in a BIP-322 to_sign transaction). Before the fix, the prep stage skipped these inputs, and walletkit.SignPsbt later rejected the PSBT with ‘input (index=N) doesn’t specify any UTXO info’. The commit itself only edits docs/release-notes/release-notes-0.21.0.md.
Changed components
docs/release-notes/release-notes-0.21.0.mdRemote-signer PSBT preparation (described, not modified here)walletkit.SignPsbt (downstream consumer affected by the described bug)Inspect captured patch +11 / −0
diff --git a/docs/release-notes/release-notes-0.21.0.md b/docs/release-notes/release-notes-0.21.0.md
index 1f96ba1..0c101ee 100644
--- a/docs/release-notes/release-notes-0.21.0.md
+++ b/docs/release-notes/release-notes-0.21.0.md
@@ -22,6 +22,17 @@
# Bug Fixes
+* The [remote-signer PSBT prep](https://github.com/lightningnetwork/lnd/pull/10815)
+ now accepts zero-value entries from a sign descriptor's
+ `PrevOutputFetcher` when populating `WitnessUtxo` on non-signed
+ inputs. This unblocks signing flows that reference virtual prev
+ outputs whose value is mandated to be zero, most notably BIP-322's
+ `to_spend` output (the prev of input 0 of every BIP-322 `to_sign`
+ transaction). Previously the prep stage silently skipped such
+ inputs and the resulting PSBT was rejected downstream by
+ `walletkit.SignPsbt` with `input (index=N) doesn't specify any
+ UTXO info`.
+
* [Fixed `OpenChannel` with
`fund_max`](https://github.com/lightningnetwork/lnd/pull/10488) to use the
protocol-level maximum channel size instead of the user-configured
Why this scored 29/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.