Skip to content

Commit 51451b9

Browse files
committed
draft release notes
1 parent e4dab7a commit 51451b9

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

CHANGELOG.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,41 @@
1+
# 0.1.6 - Oct XXX, 2025 - "Async Preimage Claims"
2+
3+
## Performance Improvements
4+
* `NetworkGraph::remove_stale_channels_and_tracking` has been sped up by more
5+
than 20x in cases where many entries need to be removed (such as after
6+
initial gossip sync, #4080).
7+
8+
## Bug Fixes
9+
* Delivery of on-chain resolutions of HTLCs to `ChannelManager` has been made
10+
more robust to prevent loss in some exceedingly rare crash cases. This may
11+
marginally increase payment resolution event replays on startup (#3984).
12+
* Corrected forwarding of new gossip to peers which we are sending an initial
13+
gossip sync to (#4107).
14+
* A rare race condition may have resulted in outbound BOLT12 payments
15+
spuriously failing while processing the `Bolt12Invoice` message (#4078).
16+
* If a channel is updated multiple times after a payment is claimed while using
17+
async persistence of the `ChannelMonitorUpdate`s, and the node then restarts
18+
with a stale copy of its `ChannelManager`, the `PaymentClaimed` may have been
19+
lost (#3988).
20+
* If an async-persisted `ChannelMonitorUpdate` for one part of an MPP claim
21+
does not complete before multiple `ChannelMonitorUpdate`s for another channel
22+
in the same MPP claim complete, and the node restarts twice, the preimage may
23+
be lost and the part of the MPP payment not claimed (#3928).
24+
25+
## Security
26+
0.1.6 fixes a denial of service vulnerability and a funds-theft vulnerability.
27+
* When a channel has been force-closed, we have already claimed some of its
28+
HTLCs on-chain, and we later learn a new preimage allowing us to claim
29+
further HTLCs on-chain, we could in some cases generate invalid claim
30+
transactions leading to loss of funds (#XXX).
31+
* When a `ChannelMonitor` is created for a channel which is never funded with
32+
a real transaction, `ChannelMonitor::get_claimable_balances` would never be
33+
empty. As a result, `ChannelMonitor::check_and_update_full_resolution_status`
34+
would never indicate the monitor is prunable, and thus
35+
`ChainMonitor::archive_fully_resolved_channel_monitors` would never remove
36+
it. This allows a peer which opens channels without funding them to bloat our
37+
memory and disk space, eventually leading to denial-of-service (#4081).
38+
139
# 0.1.5 - Jul 16, 2025 - "Async Path Reduction"
240

341
## Performance Improvements

0 commit comments

Comments
 (0)