docs: add release note for onion message rate limiting (#10713)
What changed, and why it matters
This commit only adds documentation to the release notes. It describes an onion-message rate-limiting feature that was already implemented earlier in the same development branch. There are no code changes, no bug fixes, and no security patches in this commit itself.
No action needed for this documentation commit. Review the actual implementation in PR #10713 and the linked docs/onion_message_rate_limiting.md if assessing the security of the rate-limiting feature.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff adds a 22-line release note to docs/release-notes/release-notes-0.21.0.md summarizing a previously merged feature (PR #10713) that adds per-peer and global token-bucket rate limiters for incoming onion messages, a channel-presence gate, and related configuration flags. The commit is purely documentation and contains no functional changes.
Changed components
docs/release-notes/release-notes-0.21.0.mdInspect captured patch +22 / −0
diff --git a/docs/release-notes/release-notes-0.21.0.md b/docs/release-notes/release-notes-0.21.0.md
index 754fedc..b8a3778 100644
--- a/docs/release-notes/release-notes-0.21.0.md
+++ b/docs/release-notes/release-notes-0.21.0.md
@@ -116,6 +116,28 @@
protocol state machine and invalidating nonces after each signing round
completes.
+* [Added rate limiting and a channel-presence gate for incoming onion
+ messages](https://github.com/lightningnetwork/lnd/pull/10713). Two new
+ byte-denominated token-bucket limiters run at ingress — one per peer, one
+ global — so small onion messages pay proportionally less of the budget
+ than spec-max ones. Defaults are `0.5 Mbps` (512 Kbps, 256 KiB burst) per
+ peer and `5 Mbps` (5120 Kbps, 1600 KiB burst) globally, tunable via
+ `protocol.onion-msg-peer-kbps`,
+ `protocol.onion-msg-peer-burst-bytes`,
+ `protocol.onion-msg-global-kbps`, and
+ `protocol.onion-msg-global-burst-bytes`. Setting both the rate and the
+ burst of a given limiter to `0` disables it; setting only one to `0`, or
+ a burst smaller than a maximum-sized onion message, is rejected at
+ startup. Incoming onion messages from peers with no fully open channel
+ are also dropped at ingress as a Sybil-resistance layer; pending
+ channels are excluded. Operators who want to accept onion messages
+ from peers regardless of channel state can set
+ `protocol.onion-msg-relay-all=true` to skip the channel-presence gate;
+ the rate limiters still apply. See
+ [docs/onion_message_rate_limiting.md](../onion_message_rate_limiting.md)
+ for the adversary model, the layers, the defaults, and operator
+ recipes.
+
## RPC Additions
* [Added `DeleteForwardingHistory`
Why this scored 15/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.