Skip to content

Commit bd6e91a

Browse files
committed
docs: add 0.20.2 and 0.20.3 release notes to master
Master carries the release notes for 0.20.0 and 0.20.1, and the 0.21 line is complete through 0.21.2, but the 0.20 patch notes stopped being forward-ported after 0.20.1. Copy release-notes-0.20.2.md and release-notes-0.20.3.md over from v0.20.x-branch so master holds the full historical record. Both files are byte-identical to their counterparts on the release branch, and the 0.20.2 notes also match the content published at the v0.20.2-beta tag.
1 parent 7f56541 commit bd6e91a

2 files changed

Lines changed: 201 additions & 0 deletions

File tree

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# Release Notes
2+
- [Bug Fixes](#bug-fixes)
3+
- [New Features](#new-features)
4+
- [Functional Enhancements](#functional-enhancements)
5+
- [RPC Additions](#rpc-additions)
6+
- [lncli Additions](#lncli-additions)
7+
- [Improvements](#improvements)
8+
- [Functional Updates](#functional-updates)
9+
- [RPC Updates](#rpc-updates)
10+
- [lncli Updates](#lncli-updates)
11+
- [Breaking Changes](#breaking-changes)
12+
- [Performance Improvements](#performance-improvements)
13+
- [Deprecations](#deprecations)
14+
- [Technical and Architectural Updates](#technical-and-architectural-updates)
15+
- [BOLT Spec Updates](#bolt-spec-updates)
16+
- [Testing](#testing)
17+
- [Database](#database)
18+
- [Code Health](#code-health)
19+
- [Tooling and Documentation](#tooling-and-documentation)
20+
- [Contributors (Alphabetical Order)](#contributors)
21+
22+
# Bug Fixes
23+
24+
* [Fixed a panic](https://github.com/lightningnetwork/lnd/pull/10914) in the
25+
DNS fallback SRV lookup, which unconditionally type-asserted each DNS Answer
26+
record to `*dns.SRV` and crashed the daemon when the response contained a
27+
non-SRV record. Non-SRV records are now skipped, and an empty `LookupHost`
28+
result for the shim no longer triggers an out-of-bounds index.
29+
30+
- [Fixed on-chain forward interceptor
31+
settlement](https://github.com/lightningnetwork/lnd/pull/10895) after the
32+
incoming channel force closes. Held forwards are now tracked as off-chain or
33+
on-chain entries, allowing an on-chain re-offer to replace the old off-chain
34+
hold so settlement reaches the witness beacon. Go callers of the exported
35+
`htlcswitch.InterceptedPacket` type should use the new `Deadline` field to
36+
distinguish off-chain auto-fail heights from on-chain settlement deadlines,
37+
or `AutoFailHeight()` if they only need the legacy flattened value.
38+
39+
# New Features
40+
41+
## Functional Enhancements
42+
43+
## RPC Additions
44+
45+
## lncli Additions
46+
47+
# Improvements
48+
## Functional Updates
49+
50+
* lnd now [validates the CLTV expiry of HTLCs at the final
51+
hop](https://github.com/lightningnetwork/lnd/pull/10927). A final HTLC whose
52+
CLTV expiry falls outside the node's receive policy is failed back, bringing
53+
the final hop in line with the CLTV delta limits already enforced on the
54+
forwarding path.
55+
As part of this change, the channel policy `TimeLockDelta` is now validated
56+
against LND's supported forwarding bounds: any node that previously set a
57+
per-channel `TimeLockDelta` greater than `2016` (the maximum default value)
58+
will now have its `UpdateChannelPolicy` request rejected, and must lower the
59+
value accordingly below the specified maximum.
60+
61+
## RPC Updates
62+
63+
## lncli Updates
64+
65+
## Breaking Changes
66+
67+
## Performance Improvements
68+
69+
## Deprecations
70+
71+
# Technical and Architectural Updates
72+
## BOLT Spec Updates
73+
74+
## Testing
75+
76+
## Database
77+
78+
## Code Health
79+
80+
## Tooling and Documentation
81+
82+
# Contributors (Alphabetical Order)
83+
84+
* Erick Cestari
85+
* Ziggie
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
# Release Notes
2+
- [Bug Fixes](#bug-fixes)
3+
- [New Features](#new-features)
4+
- [Functional Enhancements](#functional-enhancements)
5+
- [RPC Additions](#rpc-additions)
6+
- [lncli Additions](#lncli-additions)
7+
- [Improvements](#improvements)
8+
- [Functional Updates](#functional-updates)
9+
- [RPC Updates](#rpc-updates)
10+
- [lncli Updates](#lncli-updates)
11+
- [Breaking Changes](#breaking-changes)
12+
- [Performance Improvements](#performance-improvements)
13+
- [Deprecations](#deprecations)
14+
- [Technical and Architectural Updates](#technical-and-architectural-updates)
15+
- [BOLT Spec Updates](#bolt-spec-updates)
16+
- [Testing](#testing)
17+
- [Database](#database)
18+
- [Code Health](#code-health)
19+
- [Tooling and Documentation](#tooling-and-documentation)
20+
- [Contributors (Alphabetical Order)](#contributors-alphabetical-order)
21+
22+
# Bug Fixes
23+
24+
* [Bounded the memory used while syncing the channel
25+
graph](https://github.com/lightningnetwork/lnd/pull/10992). A peer replying
26+
to our `query_channel_range` could previously make us buffer an
27+
unpredictable number of short channel IDs, as the only limit was a coarse
28+
67MB cap on the bytes a single zlib-compressed reply could decompress to.
29+
Replies are now capped at a precise number of short channel IDs, both
30+
per-message and in aggregate across a single query, and the accumulated
31+
reply state is released as soon as any reply fails validation so that a
32+
peer cannot pin it by deliberately forcing an error.
33+
34+
* [Refined invoice update
35+
handling](https://github.com/lightningnetwork/lnd/pull/11024) across MPP, AMP,
36+
and legacy payment paths, including keysend records and preimage-dependent
37+
settlement outcomes.
38+
39+
* [Fixed a data race](https://github.com/lightningnetwork/lnd/pull/11019) in the
40+
legacy cooperative close state machine, which was advanced from both the link
41+
goroutine and the peer goroutine with nothing synchronizing the two. The link
42+
now reports a flushed channel to the peer's channel manager instead of driving
43+
the closer itself, so every step of a close runs on a single goroutine. The
44+
same change has the RBF closer validate the remote party's delivery script in
45+
all cases, rather than only when an upfront shutdown script was on record for
46+
that peer, and rejects an absent script instead of treating it as nothing to
47+
check.
48+
49+
* Outgoing contest resolvers now [retain the corresponding incoming HTLC
50+
expiry](https://github.com/lightningnetwork/lnd/pull/11032) when transitioning
51+
to timeout resolution, allowing the sweeper to continue using an
52+
expiry-aware confirmation target.
53+
54+
# New Features
55+
56+
## Functional Enhancements
57+
58+
## RPC Additions
59+
60+
* The [HTLC interceptor](https://github.com/lightningnetwork/lnd/pull/10942) now
61+
exposes the next hop of a blinded route that identifies it by node ID
62+
(`next_node_id`) rather than by channel.
63+
64+
## lncli Additions
65+
66+
# Improvements
67+
68+
## Functional Updates
69+
70+
* [The HTLC forward interceptor now validates](https://github.com/lightningnetwork/lnd/pull/11028)
71+
that derived auto-fail heights are within the supported range before they are
72+
exposed through the interceptor API.
73+
74+
## RPC Updates
75+
76+
* `ForwardHtlcInterceptRequest.outgoing_requested_chan_id` now holds a reserved
77+
sentinel value (`18446744073709551615`, all bits set) when the
78+
[HTLC interceptor](https://github.com/lightningnetwork/lnd/pull/10942) reports
79+
a blinded forward that identifies the next hop by node ID. The sender of such
80+
a forward requests no channel, so a zero value here would make a client that
81+
detects the exit hop by a zero channel ID classify the forward as a final
82+
receive. Clients that switch on this field must handle the sentinel and read
83+
`outgoing_requested_node_id` for the next hop.
84+
85+
## lncli Updates
86+
87+
## Breaking Changes
88+
89+
## Performance Improvements
90+
91+
## Deprecations
92+
93+
# Technical and Architectural Updates
94+
95+
## BOLT Spec Updates
96+
97+
* [Fixed an issue](https://github.com/lightningnetwork/lnd/pull/10942) where an
98+
lnd node acting as a relaying node (including the introduction node) in a
99+
blinded path failed to forward the payment when the next hop was identified by
100+
node ID (`next_node_id`) rather than a short channel ID. The next hop's public
101+
key is now resolved to one of our channels with that peer using non-strict
102+
forwarding.
103+
104+
## Testing
105+
106+
## Database
107+
108+
## Code Health
109+
110+
## Tooling and Documentation
111+
112+
# Contributors (Alphabetical Order)
113+
114+
* bitromortac
115+
* Olaoluwa Osuntokun
116+
* Ziggie

0 commit comments

Comments
 (0)