Skip to content

Commit 86da66b

Browse files
committed
Update CHANGELOG for 0.0.104
1 parent 8332072 commit 86da66b

File tree

1 file changed

+89
-0
lines changed

1 file changed

+89
-0
lines changed

CHANGELOG.md

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,92 @@
1+
# 0.0.104 - XXX
2+
3+
## API Updates
4+
* A `PaymentFailed` event is now provided to indicate a payment has failed
5+
fully. This event is generated either after
6+
`ChannelManager::abandon_payment` is called for a given payment, or the
7+
payment times out, and there are no further pending HTLCs for the payment.
8+
This event should be used to detect payment failure instead of
9+
`PaymentPathFailed::all_paths_failed`, unless no payment retries occur via
10+
`ChannelManager::retry_payment` (#1202).
11+
* Payment secrets are now generated deterministically using material from
12+
the new `KeysInterface::get_inbound_payment_key_material` (#1177).
13+
* A `PaymentPathSuccessful` event has been added to ease passing success info
14+
to a scorer, along with a `Score::payment_path_successful` method to accept
15+
such info (#1178, #1197).
16+
* `Score::channel_penalty_msat` has additional arguments describing the
17+
channel's capacity and the HTLC amount being sent over the channel (#1166).
18+
* A new log level `Gossip` has been added, which is used for verbose
19+
information generated during network graph sync. Enabling the
20+
`max_level_trace` feature or ignoring `Gossip` log entries reduces log
21+
growth during initial start up from many GiB to several MiB (#1145).
22+
* The `allow_wallclock_use` feature has been removed in favor of only using
23+
the `std` and `no-std` features (#1212).
24+
* `NetworkGraph` can now remove channels which we haven't heard updates for in
25+
two weeks with `NetworkGraph::remove_stale_channels{,with_time}`. The first
26+
is called automatically if a `NetGraphMsgHandler` is passed to
27+
`BackgroundProcessor::start` (#1212).
28+
* `InvoicePayer::pay_pubkey` was added to enable sending "keysend" payments to
29+
supported recipients, using the `InvoicePayer` to handle retires (#1160).
30+
* `user_payment_id` has been removed from `PaymentPurpose`, and
31+
`ChannelManager::create_inbound_payment{,_for_hash}` (#1180).
32+
* Updated documentation for several `ChannelManager` functions to remove stale
33+
references to panics which no longer occur (#1201).
34+
* The `Score` and `LockableScore` objects have moved into the
35+
`routing::scoring` module instead of being in the `routing` module (#1166).
36+
* The `Time` parameter to `ScorerWithTime` is no longer longer exposed,
37+
instead being fixed based on the `std`/`no-std` feature (#1184).
38+
* `ChannelDetails::balance_msat` was added to access a channel's balance
39+
without the reserve values, lining up with on-chain claim amounts (#1203).
40+
* An explicit `UserConfig::accept_inbound_channels` flag is now provided,
41+
removing the need to set `min_funding_satoshis` to > 21 million BTC (#1173).
42+
* Inbound Channels which fail to see the funding transaction confirm within
43+
2016 blocks are automatically force-closed with
44+
`ClosureReason::FundingTimedOut` (#1083).
45+
* We now accept a channel_reserve value of 0 from counterparties, as it is
46+
insecure for our counterparty but not us (#1163).
47+
* `NetAddress::OnionV2` parsing was removed as version 2 onion services are no
48+
longer supported in modern Tor (#1204).
49+
* Generation and signing of anchor outputs is now supported in the
50+
`KeysInterface`, though no support for them exists in the channel itself (#1176)
51+
52+
## Bug Fixes
53+
* Fixed a race condition in `InvoicePayer` where paths may be retried after
54+
the retry count has been exceeded. In this case the
55+
`Event::PaymentPathFailed::all_paths_failed` field is not a reliable payment
56+
failure indicator. There is no acceptable alternative indicator (#1202).
57+
* Reduced the blocks-before-timeout we expect of outgoing HTLCs before
58+
refusing to forward. This check was overly strict and resulted in refusing
59+
to forward some HTLCs to a next hop which had a lower security threshold
60+
than us (#1119).
61+
* LDK no longer attempt to update the channel fee for outbound channels when
62+
we cannot afford the new fee. This could have caused force-closure by our
63+
channel counterparty (#1054).
64+
* Fixed several bugs which may have prevented the reliable broadcast of our
65+
own channel announcements and updates (#1169).
66+
* Fixed a rare bug which may have resulted in spurious route finding failures
67+
when using last-hop hints and MPP with large value payments (#1168).
68+
* `KeysManager::spend_spendable_outputs` no longer adds a change output which
69+
is below the dust threshold for non-standard change scripts (#1131).
70+
* Fixed a minor memory leak when attempting to send a payment which fails due
71+
to an error when updating the `ChannelMonitor` (#1143).
72+
* Fixed a bug where a `FeeEstimator` which returns values which are rounded to
73+
the next sat/vbyte may result in force-closures (#1208).
74+
* Handle MPP timeout HTLC error codes, instead of considering the recipient to
75+
have sent an invalid error, removing them from the network graph (#1148)
76+
77+
## Serialization Compatibility
78+
* All above new Events/fields are ignored by prior clients. All above new
79+
Events/fields are not present when reading objects serialized by prior
80+
versions of the library.
81+
* Payment secrets are now generated deterministically. This reduces the memory
82+
footprint for inbound payments, however, newly-generated inbound payments
83+
using `ChannelManager::create_inbound_payment{,_for_hash}` will not be
84+
receivable using versions prior to 0.0.104.
85+
`ChannelManager::create_inbound_payment{,_for_hash}_legacy` are provided for
86+
backwards compatibility (#1177).
87+
* `PaymentPurpose::InvoicePayment::user_payment_id` will be 0 when reading
88+
objects written with 0.0.104 when read by 0.0.103 and previous (#1180).
89+
190
# 0.0.103 - 2021-11-02
291

392
## API Updates

0 commit comments

Comments
 (0)