Skip to content

Commit fb6f067

Browse files
committed
Add changelog entries for 0.0.123
1 parent 97944e2 commit fb6f067

File tree

1 file changed

+92
-0
lines changed

1 file changed

+92
-0
lines changed

CHANGELOG.md

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,95 @@
1+
# 0.0.123 - XXX - "XXX"
2+
3+
## API Updates
4+
5+
* `ChainMonitor::archive_fully_resolved_channel_monitors` is now provided to
6+
remove `ChannelMonitor`s from memory which have been fully resolved on-chain
7+
and now are not needed. It uses the new `Persist::archive_persisted_channel`
8+
to inform the storage layer that such a monitor should be archived (#2964).
9+
* An `OutputSweeper` is now provided which will automatically sweep
10+
`SpendableOutputDescriptor`s, retrying until the sweep confirms (#2825).
11+
* After initiating an outbound channel, a peer disconnection no longer results
12+
in immediate channel closure. Rather, if the peer is reconnected before the
13+
channel times out LDK will automatically retry opening it (#2725).
14+
* `PaymentPurpose` now has separate variants for BOLT12 payments, which
15+
include fields from the `invoice_request` as well as the `OfferId` (#2970).
16+
* `ChannelDetails` now includes a list of in-flight HTLCs (#2442).
17+
* `Event::PaymentForwarded` now includes `skimmed_fee_msat` (#2858).
18+
* The `hashbrown` dependency has been upgraded and the use of `ahash` as the
19+
no-std hash table hash function has been removed. As a consequence, LDK's
20+
`Hash{Map,Set}`s no longer feature several constructors when LDK is build
21+
with no-std, see the `util::hash_tables` module instead. On platforms which
22+
`getrandom` supports, setting the `possiblyrandom/getrandom` feature flag
23+
will ensure hash tables are resistant to HashDoS attacks, though the
24+
`possiblyrandom` crate should detect most common platforms (#2810, #2891).
25+
* `ChannelMonitor`-originated requests to the `ChannelSigner` can now fail and
26+
be retried using `ChannelMonitor::signer_unblocked` (#2816).
27+
* `SpendableOutputDescriptor::to_psbt_input` now includes the `witness_script`
28+
where available as well as new proprietary data which can be used to
29+
re-derive some spending keys from the base key (#2761).
30+
* `OutPoint::to_channel_id` has been removed in favor of
31+
`ChannelId::v1_from_funding_outpoint` in preparation for v2 channels with a
32+
different `ChannelId` derivation scheme (#2797).
33+
* `PeerManager::get_peer_node_ids` has been replaced with `list_peers` and
34+
`peer_by_node_id`, which provide more details (#2905).
35+
* `Bolt11Invoice::get_payee_pub_key` is now provided (#2909).
36+
* `Default[Message]Router` now take an `entropy_source` argument (#2847).
37+
* `ClosureReason::HTLCsTimedOut` has been separated out from
38+
`ClosureReason::HolderForceClosed` as it is the most common case (#2887).
39+
* `ClosureReason::CooperativeClosure` is now split into
40+
`{Counterparty,Locally}Initiated` variants (#2863).
41+
* `Event::ChannelPending::channel_type` is now provided (#2872).
42+
* `PaymentForwarded::{prev,next}_user_channel_id` are now provided (#2924).
43+
* Channel init messages have been refactored towards V2 channels (#2871).
44+
* `BumpTransactionEvent` now contains the channel and counterparty (#2873).
45+
* `util::scid_utils` is now public, with some trivial utilities to examine
46+
short channel ids (#2694).
47+
* `DirectedChannelInfo::{source,target}` are now public (#2870).
48+
* Bounds in `lightning-background-processor` were simplified by using
49+
`AChannelManager` (#2963).
50+
* The `Persist` impl for `KVStore` no longer requires `Sized`, allowing for
51+
the use of `dyn KVStore` as `Persist` (#2883, #2976).
52+
* `From<PaymentPreimage>` is now implemented for `PaymentHash` (#2918).
53+
* `NodeId::from_slice` is now provided (#2942).
54+
* `ChannelManager` deserialization may now fail with `DangerousValue` when
55+
LDK's persistence API was violated (#2974).
56+
57+
## Bug Fixes
58+
* `Future`s used as an `std::...::Future` could grow in size unbounded if it
59+
was never woken. For those not using async persistence and using the async
60+
`lightning-background-processor`, this could cause a memory leak in the
61+
`ChainMonitor` (#2894).
62+
* Inbound channel requests which fail in
63+
`ChannelManager::accept_inbound_channel` would previously have stalled from
64+
the peer's perspective as no `error` message was sent (#2953).
65+
* Blinded path construction has been tuned to select paths more likely to
66+
succeed, improving BOLT12 payment reliability (#2911, #2912, XXX?).
67+
* After a reorg, `lightning-transaction-sync` could have failed to follow a
68+
transaction which LDK needed information about (#2946).
69+
* `RecipientOnionFields`' `custom_tlvs` are now propagated to recipients when
70+
paying with blinded paths (#2975).
71+
* If a peer has relatively high latency, `PeerManager` may have failed to
72+
establish a connection (#2993).
73+
* `ChannelUpdate` messages broadcasted for our own channel closures are now
74+
slightly more robust (#2731).
75+
* In exceedingly rare cases (no cases of this are known), LDK may have created
76+
an invalid serialization for a `ChannelManager` (#2998).
77+
* Message processing latency handling BOLT12 payments has been reduced (#2881).
78+
79+
## Node Compatibility
80+
* LDK's blinded paths were inconsistent with other implementations in several
81+
ways, which have been addressed (#2856, #2936, #2945, XXX)
82+
* LDK's messaging blinded paths now support the latest features which some
83+
nodes may begin relying on soon (#2961).
84+
* CLN v24.02 requires the `gossip_queries` feature for all peers, however LDK
85+
by default does not set it for those not using a `P2PGossipSync` (e.g. those
86+
using RGS). This change was reverted in CLN v24.02.2 however for now LDK
87+
always sets the `gossip_queries` feature. This change is expected to be
88+
reverted in a future LDK release (#2959).
89+
90+
XXX: diff stats
91+
92+
193
# 0.0.122 - Apr 09, 2024 - "That Which Is Untested Is Broken"
294

395
## Bug Fixes

0 commit comments

Comments
 (0)