|
| 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 | + |
1 | 67 | # 0.0.113 - Dec 16, 2022 - "Big Movement Intercepted"
|
2 | 68 |
|
3 | 69 | ## API Updates
|
|
0 commit comments