docs: add release notes for race condition fixes
What changed, and why it matters
This commit only adds release notes describing previously fixed race conditions in LND's channel graph database. Race conditions can cause crashes or inconsistent data when multiple parts of the program access the same information simultaneously, but the actual code fixes are in a separate pull request referenced here. The commit itself does not change any program code.
Review the actual code changes in PR #10420 to verify the race condition fixes were complete and correctly implemented. This commit alone requires no deployment action.
Security signals we found
Race condition in public key caching methods
Unsynchronized cache access in DisconnectBlockAtHeight
Release notes describe prior security-relevant fix
Evidence from the diff
The commit is a documentation-only update to docs/release-notes/release-notes-0.21.0.md. It describes PR #10420, which fixed check-then-act races in Node.PubKey() and ChannelEdgeInfo.NodeKey1/NodeKey2() related to parsed public key caching, and improper cache access in DisconnectBlockAtHeight without locking. The diff contains no source code changes, only release note text.
Changed components
docs/release-notes/release-notes-0.21.0.mdchannel graph database (described only)Node.PubKey() (described only)ChannelEdgeInfo.NodeKey1/NodeKey2() (described only)DisconnectBlockAtHeight (described only)Inspect captured patch +8 / −0
diff --git a/docs/release-notes/release-notes-0.21.0.md b/docs/release-notes/release-notes-0.21.0.md
index d15df41..5bd5c65 100644
--- a/docs/release-notes/release-notes-0.21.0.md
+++ b/docs/release-notes/release-notes-0.21.0.md
@@ -31,6 +31,14 @@
or key) existed. The manager now correctly regenerates both files when either
is missing, preventing "file not found" errors on startup.
+- [Fixed race conditions](https://github.com/lightningnetwork/lnd/pull/10420) in
+ the channel graph database. The `Node.PubKey()` and
+ `ChannelEdgeInfo.NodeKey1/NodeKey2()` methods had check-then-act races when
+ caching parsed public keys. Additionally, `DisconnectBlockAtHeight` was
+ accessing the reject and channel caches without proper locking. The caching
+ has been removed from the public key parsing methods, and proper mutex
+ protection has been added to the cache access in `DisconnectBlockAtHeight`.
+
# New Features
- Basic Support for [onion messaging forwarding](https://github.com/lightningnetwork/lnd/pull/9868)
Why this scored 46/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.