|
| 1 | +# 0.0.105 - 2022-02-28 |
| 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 |
| 11 | + a 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 surfaces |
| 57 | + which are 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 that were pending at startup to be missing in calls |
| 75 | + to `KeysInterface` methods (#1251). |
| 76 | + * Any phantom invoice payments received on a node that 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 108 files changed, 6914 insertions, 2095 |
| 82 | +deletions in 102 commits from 15 authors, in alphabetical order: |
| 83 | + * Conor Okus |
| 84 | + * Devrandom |
| 85 | + * Elias Rohrer |
| 86 | + * Jeffrey Czyz |
| 87 | + * Jurvis Tan |
| 88 | + * Ken Sedgwick |
| 89 | + * Matt Corallo |
| 90 | + * Naveen |
| 91 | + * Tibo-lg |
| 92 | + * Valentine Wallace |
| 93 | + * Viktor Tigerström |
| 94 | + * dependabot[bot] |
| 95 | + * hackerrdave |
| 96 | + * naveen |
| 97 | + * vss96 |
| 98 | + |
| 99 | + |
1 | 100 | # 0.0.104 - 2021-12-17
|
2 | 101 |
|
3 | 102 | ## API Updates
|
|
0 commit comments