Skip to content

Commit d6c16aa

Browse files
committed
Add CHANGELOG entries for 0.0.119
1 parent ef2156a commit d6c16aa

6 files changed

+119
-19
lines changed

CHANGELOG.md

+119
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,122 @@
1+
# 0.0.119 - Dec 15, 2023 - "Spring Cleaning for Christmas"
2+
3+
## API Updates
4+
* The LDK crate ecosystem MSRV has been increased to 1.63 (#2681).
5+
* The `bitcoin` dependency has been updated to version 0.30 (#2740).
6+
* `lightning-invoice::payment::*` have been replaced with parameter generation
7+
via `payment_parameters_from[_zero_amount]_invoice` (#2727).
8+
* `{CoinSelection,Wallet}Source::sign_tx` are now `sign_psbt`, providing more
9+
information, incl spent outputs, about the transaction being signed (#2775).
10+
* Logger `Record`s now include `channel_id` and `peer_id` fields. These are
11+
opportunistically filled in when a log record is specific to a given channel
12+
and/or peer, and may occasionally be spuriously empty (#2314).
13+
* When handling send or reply onion messages (e.g. for BOLT12 payments), a new
14+
`Event::ConnectionNeeded` may be raised, indicating a direct connection
15+
should be made to a payee or an introduction point. This event is expected to
16+
be removed once onion message forwarding is widespread in the network (#2723)
17+
* Scoring data decay now happens via `ScoreUpDate::time_passed`, called from
18+
`lightning-background-processor`. `process_events_async` now takes a new
19+
time-fetch function, and `ScoreUpDate` methods now take the current time as a
20+
`Duration` argument. This avoids fetching time during pathfinding (#2656).
21+
* Receiving payments to multi-hop blinded paths is now supported (#2688).
22+
* `MessageRouter` and `Router` now feature methods to generate blinded paths to
23+
the local node for incoming messages and payments. `Router` now extends
24+
`MessageRouter`, and both are used in `ChannelManager` when processing or
25+
creating BOLT12 structures to generate multi-hop blinded paths (#1781).
26+
* `lightning-transaction-sync` now supports Electrum-based sync (#2685).
27+
* `Confirm::get_relevant_txids` now returns the height at which a transaction
28+
was confirmed. This can be used to assist in reorg detection (#2685).
29+
* `ConfirmationTarget::MaxAllowedNonAnchorChannelRemoteFee` has been removed.
30+
Non-anchor channel feerates are bounded indirectly through
31+
`ChannelConfig::max_dust_htlc_exposure` (#2696).
32+
* `lightning-invoice` `Description`s now rely on `UntrustedString` for
33+
sanitization (#2730).
34+
* `ScoreLookUp::channel_penalty_msat` now uses `CandidateRouteHop` (#2551).
35+
* The `EcdsaChannelSigner` trait was moved to `lightning::sign::ecdsa` (#2512).
36+
* `SignerProvider::get_destination_script` now takes `channel_keys_id` (#2744)
37+
* `SpendableOutputDescriptor::StaticOutput` now has `channel_keys_id` (#2749).
38+
* `EcdsaChannelSigner::sign_counterparty_commitment` now takes HTLC preimages
39+
for both inbound and outbound HTLCs (#2753).
40+
* `ClaimedHTLC` now includes a `counterparty_skimmed_fee_msat` field (#2715).
41+
* `peel_payment_onion` was added to decode an encrypted onion for a payment
42+
without receiving an HTLC. This allows for stateless verification of if a
43+
theoretical payment would be accepted prior to receipt (#2700).
44+
* `create_payment_onion` was added to construct an encrypted onion for a
45+
payment path without sending an HTLC immediately (#2677).
46+
* Various keys used in channels are now wrapped to provide type-safety for
47+
specific usages of the keys (#2675).
48+
* `TaggedHash` now includes the raw `tag` and `merkle_root` (#2687).
49+
* `Offer::is_expired_no_std` was added (#2689).
50+
* `PaymentPurpose::preimage()` was added (#2768).
51+
* `temporary_channel_id` can now be specified in `create_channel` (#2699).
52+
* Wire definitions for splicing messages were added (#2544).
53+
* Various `lightning-invoice` structs now impl `Display`, now have pub fields,
54+
or impl `From` (#2730).
55+
* The `Hash` trait is now implemented for more structs, incl P2P msgs (#2716).
56+
57+
## Performance Improvements
58+
* Memory allocations (though not memory usage) have been substantially reduced,
59+
meaning less overhead and hopefully less memory fragmentation (#2708, #2779).
60+
61+
## Bug Fixes
62+
* Since 0.0.117, calling `close_channel*` on a channel which has not yet been
63+
funded would previously result in an infinite loop and hang (#2760).
64+
* Since 0.0.116, sending payments requiring data in the onion for the recipient
65+
which was too large for the onion may have caused corruption which resulted
66+
in payment failure (#2752).
67+
* Cooperative channel closure on channels with remaining output HTLCs may have
68+
spuriously force-closed (#2529).
69+
* In LDK versions 0.0.116 through 0.0.118, in rare cases where skimmed fees are
70+
present on shutdown the `ChannelManager` may fail to deserialize (#2735).
71+
* `ChannelConfig::max_dust_exposure` values which, converted to absolute fees,
72+
exceeded 2^63 - 1 would result in an overflow and could lead to spurious
73+
payment failures or channel closures (#2722).
74+
* In cases where LDK is operating with provably-stale state, it panics to
75+
avoid funds loss. This may not have happened in cases where LDK was behind
76+
only exactly one state, leading instead to a revoked broadcast and funds
77+
loss (#2721).
78+
* Fixed a bug where decoding `Txid`s from Bitcoin Core JSON-RPC responses using
79+
`lightning-block-sync` would not properly byte-swap the hash. Note that LDK
80+
does not use this API internally (#2796).
81+
82+
## Backwards Compatibility
83+
* `ChannelManager`s written with LDK 0.0.119 are no longer readable by versions
84+
of LDK prior to 0.0.113. Users wishing to downgrade to LDK 0.0.112 or before
85+
can read an 0.0.119-serialized `ChannelManager` with a version of LDK from
86+
0.0.113 to 0.0.118, re-serialize it, and then downgrade (#2708).
87+
* Nodes that upgrade to 0.0.119 and subsequently downgrade after receiving a
88+
payment to a blinded path may leak recipient information if one or more of
89+
those HTLCs later fails (#2688).
90+
* Similarly, forwarding a blinded HTLC and subsequently downgrading to an LDK
91+
version prior to 0.0.119 may result in leaking the path information to the
92+
payment sender (#2540).
93+
94+
In total, this release features 148 files changed, 13780 insertions, 6279
95+
deletions in 280 commits from 22 authors, in alphabetical order:
96+
* Arik Sosman
97+
* Chris Waterson
98+
* Elias Rohrer
99+
* Evan Feenstra
100+
* Gursharan Singh
101+
* Jeffrey Czyz
102+
* John Cantrell
103+
* Lalitmohansharma1
104+
* Matt Corallo
105+
* Matthew Rheaume
106+
* Orbital
107+
* Rachel Malonson
108+
* Valentine Wallace
109+
* Willem Van Lint
110+
* Wilmer Paulino
111+
* alexanderwiederin
112+
* benthecarman
113+
* henghonglee
114+
* jbesraa
115+
* olegkubrakov
116+
* optout
117+
* shaavan
118+
119+
1120
# 0.0.118 - Oct 23, 2023 - "Just the Twelve Sinks"
2121

3122
## API Updates

pending_changelog/113-channel-ser-compat.txt

-4
This file was deleted.

pending_changelog/electrum.txt

-3
This file was deleted.

pending_changelog/multihop-blinded-recv.txt

-4
This file was deleted.

pending_changelog/route-blinding-intro-node.txt

-4
This file was deleted.

pending_changelog/skimmed_fee_ser.txt

-4
This file was deleted.

0 commit comments

Comments
 (0)