Skip to content

Commit 31e470a

Browse files
committed
Fill out CHANGELOG for 0.0.105
1 parent 5208f0c commit 31e470a

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed

CHANGELOG.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,88 @@
1+
# 0.0.105 - XXX
2+
3+
## API Updates
4+
* `Phantom node` payments are now supported, allowing receipt of a payment on
5+
any one of multiple nodes without any coordination across the nodes being
6+
required. See the new `PhantomKeysManager`'s docs for more, as well as
7+
requirements on `KeysInterface::get_inbound_payment_key_material` and
8+
`lightning_invoice::utils::create_phantom_invoice` (#1199).
9+
* In order to support phantom node payments, several `KeysInterface` methods
10+
now accept a `Recipient` parameter to select between the local node_id and a
11+
phantom-specific one.
12+
* `ProbabilisticScorer`, a `Score` based on learning the current balances of
13+
channels in the network, was added. It attempts to better capture payment
14+
success probability than the existing `Scorer`, though may underperform on
15+
nodes with low payment volume. We welcome feedback on performance (#1227).
16+
* `Score::channel_penalty_msat` now always takes the channel value, instead of
17+
an `Option` (#1227).
18+
* `UserConfig::manually_accept_inbound_channels` was added which, when set,
19+
generates a new `Event::OpenChannelRequest`, which allows manual acceptance
20+
or rejection of incoming channels on a per-channel basis (#1281).
21+
* `Payee` has been renamed to `PaymentParameters` (#1271).
22+
* `PaymentParameters` now has a `max_total_cltv_expiry_delta` field. This
23+
defaults to 1008 and limits the maximum amount of time an HTLC can be pending
24+
before it will either fail or be claimed (#1234).
25+
* The `lightning-invoice` crate now supports no-std environments. This required
26+
numerous API changes around timestamp handling and std+no-std versions of
27+
several methods that previously assumed knowledge of the time (#1223, #1230).
28+
* `lightning-invoice` now supports parsing invoices with expiry times of more
29+
than one year. This required changing the semantics of `ExpiryTime` (#1273).
30+
* The `CounterpartyCommitmentSecrets` is now public, allowing external uses of
31+
the `BOLT 3` secret storage scheme (#1299).
32+
* Several `Sign` methods now receive HTLC preimages as proof of state
33+
transition, see new documentation for more (#1251).
34+
* `KeysInterface::sign_invoice` now provides the HRP and other invoice data
35+
separately to make it simpler for external signers to parse (#1272).
36+
* `Sign::sign_channel_announcement` now returns both the node's signature and
37+
the per-channel signature. `InMemorySigner` now requires the node's secret
38+
key in order to implement this (#1179).
39+
* `ChannelManager` deserialization will now fail if the `KeysInterface` used
40+
has a different node_id than the `ChannelManager` expects (#1250).
41+
* A new `ErrorAction` variant was added to send `warning` messages (#1013).
42+
* Several references to `chain::Listen` objects in `lightning-block-sync` no
43+
longer require a mutable reference (#1304).
44+
45+
## Bug Fixes
46+
* Fixed a regression introduced in 0.0.104 where `ChannelManager`'s internal
47+
locks could have an order violation leading to a deadlock (#1238).
48+
* Fixed cases where slow code (including user I/O) could cause us to
49+
disconnect peers with ping timeouts in `BackgroundProcessor` (#1269).
50+
* Now persist the `ChannelManager` prior to `BackgroundProcessor` stopping,
51+
preventing race conditions where channels are closed on startup even with a
52+
clean shutdown. This requires that users stop network processing and
53+
disconnect peers prior to `BackgroundProcessor` shutdown (#1253).
54+
* Fields in `ChannelHandshakeLimits` provided via the `override_config` to
55+
`create_channel` are now applied instead of the default config (#1292).
56+
* Fixed the generation of documentation on docs.rs to include API surface
57+
which is hidden behind feature flags (#1303).
58+
* Added the `channel_type` field to `accept_channel` messages we send, which
59+
may avoid some future compatibility issues with other nodes (#1314).
60+
* Fixed a bug where, if a previous LDK run using `lightning-persister` crashed
61+
while persisting updated data, we may have failed to initialize (#1332).
62+
* Fixed a rare bug where having both pending inbound and outbound HTLCs on a
63+
just-opened inbound channel could cause `ChannelDetails::balance_msat` to
64+
underflow and be reported as large, or cause panics in debug mode (#1268).
65+
* Moved more instances of verbose gossip logging from the `Trace` level to the
66+
`Gossip` level (#1220).
67+
* Delayed `announcement_signatures` until the channel has six confirmations,
68+
slightly improving propagation of channel announcements (#1179).
69+
* Several fixes in script and transaction weight calculations when anchor
70+
outputs are enabled (#1229).
71+
72+
## Serialization Compatibility
73+
* Using `ChannelManager` data written by versions prior to 0.0.105 will result
74+
in preimages for HTLCs which were pending at startup to be missing in calls
75+
to `KeysInterface` methods (#1251).
76+
* Any phantom invoice payments received on a node which is not upgraded to
77+
0.0.105 will fail with an "unknown channel" error. Further, downgrading to
78+
0.0.104 or before and then upgrading again will invalidate existing phantom
79+
SCIDs which may be included in invoices (#1199).
80+
81+
In total, this release features 103 files changed, 6268 insertions, 2044
82+
deletions in 85 commits from 14 authors, in alphabetical order:
83+
XXX: Fill in
84+
85+
186
# 0.0.104 - 2021-12-17
287

388
## API Updates

0 commit comments

Comments
 (0)