Skip to content

Commit 396677d

Browse files
committed
Draft release notes for 0.0.114
1 parent 8311581 commit 396677d

File tree

3 files changed

+66
-27
lines changed

3 files changed

+66
-27
lines changed

CHANGELOG.md

+66
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,69 @@
1+
# 0.0.114 - XXX - "Faster Async BOLT12 Retries"
2+
3+
## API Updates
4+
* `InvoicePayer` has been removed and its features moved directly into
5+
`ChannelManager`. As such it now requires a simplified `Router` and supports
6+
`send_payment_with_retry` (and friends) (#1812, #1916, #1929, #2007, etc).
7+
* `Sign`/`BaseSign` has been renamed `ChannelSigner`, with `EcdsaChannelSigner`
8+
split out in anticipation of future taproot support (#1967).
9+
* The catch-all `KeysInterface` was split into `EntropySource`, `NodeSigner`,
10+
and `SignerProvider`. `KeysManager` implements all three (#1910, #1930).
11+
* A `lightning-transaction-sync` crate has been added which implements keeping
12+
LDK in sync with the chain via an esplora server (#1870). Note that it can
13+
only be used on nodes that *never* ran a previous version of LDK.
14+
* `Score` is updated in `BackgroundProcessor` instead of via `Router` (#1996).
15+
* `ChainAccess::get_utxo` (now `UtxoAccess`) can now be resolved async (#1980).
16+
* BOLT12 `Offer`, `InvoiceRequest`, `Invoice` and `Refund` structs as well as
17+
associated builders. Such invoices cannot yet be paid due to missing support
18+
for blinded path payments (#1927, #1908, #1926).
19+
* A `lightning-custom-message` crate has been added to make combining multiple
20+
custom messages into one enum/handler easier (#1832).
21+
* `lightning-net-tokio` no longer requires an `Arc` on `PeerManager` (#1968).
22+
* `ChannelManager::list_recent_payments` was added (#1873).
23+
* `lightning-background-processor` `std` is now optional in async mode (#1962).
24+
* `create_phantom_invoice` can now be used in `no-std` (#1985).
25+
* The required final CLTV delta on inbound payments is now configurable (#1878)
26+
* `historical_estimated_channel_liquidity_probabilities` was added (#1961)
27+
* `ChannelManager::fail_htlc_backwards_with_reason` was added (#1948).
28+
* Macros which implement serialization using TLVs or straight writing of struct
29+
fields are now public (#1823, #1976, #1977).
30+
31+
## Backwards Compatibility
32+
* Any inbound payments with a custom final CLTV delta will be rejected by LDK
33+
if you downgrade prior to receipt (#1878).
34+
* `Event::PaymentPathFailed::network_update` will always be `None` if an
35+
0.0.114-generated event is read by a prior version of LDK (#2043).
36+
* `Event::PaymentPathFailed::all_paths_removed` will always be false if an
37+
0.0.114-generated event is read by a prior version of LDK. Users who rely on
38+
it to determine payment retries should migrate to `Event::PaymentFailed`, in
39+
a separate release prior to upgrading to LDK 0.0.114 if downgrading is
40+
supported (#2043).
41+
42+
## Performance Improvements
43+
* Channel data is now stored per-peer and channel updates across multiple
44+
peers can be operated on simultaneously (#1507).
45+
* Routefinding is roughly 1.5x faster (#1799).
46+
* Deserializing a `NetworkGraph` is roughly 6x faster (#2016).
47+
* Memory usage for a `NetworkGraph` has been reduced substantially (#2040).
48+
* `KeysInterface::get_secure_random_bytes` is roughly 200x faster (#1974).
49+
50+
## Bug Fixes
51+
* Fixed a panic in `KeysManager` when the high bit of `starting_time_nanos`
52+
is set (#1935).
53+
* Resolved a memory leak when using `ChannelManager::send_probe` (#2037).
54+
* Fixed a deadlock on some platforms at least when using async `ChannelMonitor`
55+
updating (#2006).
56+
* Removed debug-only assertions which were reachable in threaded code (#1964).
57+
* Return an `Err` if `lightning-persister` fails to read the directory listing
58+
rather than panicing (#1943).
59+
* `peer_disconnected` will now never be called without `peer_connected` (#2035)
60+
61+
## Security
62+
0.0.114 fixes a denial-of-service vulnerability which is reachable from
63+
untrusted input in deployments accepting inbound connections or channels.
64+
* The number of pending un-funded channels as well as peer without funded
65+
channels is now limited to avoid denial of service (#1988).
66+
167
# 0.0.113 - Dec 16, 2022 - "Big Movement Intercepted"
268

369
## API Updates

pending_changelog/1878.txt

-11
This file was deleted.

pending_changelog/2043.txt

-16
This file was deleted.

0 commit comments

Comments
 (0)