|
| 1 | +# 0.0.101 - 2021-09-21 |
| 2 | + |
| 3 | +## API Updates |
| 4 | + * Custom message types are now supported directly in the `PeerManager`, |
| 5 | + allowing you to send and receive messages of any type that is not natively |
| 6 | + understood by LDK. This requires a new type bound on `PeerManager`, a |
| 7 | + `CustomMessageHandler`. `IgnoringMessageHandler` provides a simple default |
| 8 | + for this new bound for ignoring unknown messages (#1031, #1074). |
| 9 | + * Route graph updates as a result of failed payments are no longer provided as |
| 10 | + `MessageSendEvent::PaymentFailureNetworkUpdate` but instead included in a |
| 11 | + new field in the `Event::PaymentFailed` events. Generally, this means route |
| 12 | + graph updates are no longer handled as a part of the `PeerManager` but |
| 13 | + instead through the new `EventHandler` implementation of |
| 14 | + `NetGraphMsgHandler`. To make this easy, a new parameter to |
| 15 | + `lightning-background-processor::BackgroundProcessor::start` is added, which |
| 16 | + contains an `Option`al `NetGraphmsgHandler`. If provided as `Some`, relevant |
| 17 | + events will be processed by the `NetGraphMsgHandler` prior to normal event |
| 18 | + handling (#1043). |
| 19 | + * The balances available on-chain to claim after a channel has been closed are |
| 20 | + now exposed via `ChannelMonitor::get_claimable_balances` and |
| 21 | + `ChainMonitor::get_claimable_balances`. The second can be used to get |
| 22 | + information about all closed channels which still have on-chain balances |
| 23 | + associated with them. See enum variants of `ln::channelmonitor::Balance` and |
| 24 | + method documentation for the above methods for more information on the types |
| 25 | + of balances exposed (#1034). |
| 26 | + * When one HTLC out of several as a part of a multi-path payment fails, the |
| 27 | + new field `all_paths_failed` in `Event::PaymentFailed` is set to `false`. |
| 28 | + This implies that the payment has not failed, but only one part. Payment |
| 29 | + resolution is only indicated by an `Event::PaymentSent` event or an |
| 30 | + `Event::PaymentFailed` with `all_paths_failed` set to `true`, which is also |
| 31 | + set for the last remaining part of a multi-path payment (#1053). |
| 32 | + * To better capture the context described above, `Event::PaymentFailed` has |
| 33 | + been renamed to `Event::PaymentPathFailed` (#1084). |
| 34 | + * A new event, `ChannelClosed` is provided by `ChannelManager` when a channel |
| 35 | + is closed, including a reason and error message (if relevant, #997). |
| 36 | + * `lightning-invoice` now considers invoices with sub-millisatoshi precision |
| 37 | + to be invalid, and requires millisatoshi values during construction (thus |
| 38 | + you must call `amount_milli_satoshis` instead of `amount_pico_btc`, #1057). |
| 39 | + * The `BaseSign` interface now includes two new hooks which provide additional |
| 40 | + information about commigment transaction signatures and revocation secrets |
| 41 | + provided by our counterparty, allowing additional verification (#1039). |
| 42 | + * The `BaseSign` interface now includes additional information for cooperative |
| 43 | + close transactions, making it easier for a signer to verify requests (#1064). |
| 44 | + * `Route` has two additional helper methods to get fees and amounts (#1063). |
| 45 | + * `Txid` and `Transaction` objects can now be deserialized from responses when |
| 46 | + using the HTTP client in the `lightning-block-sync` crate (#1037, #1061). |
| 47 | + |
| 48 | +## Bug Fixes |
| 49 | + * Fix a panic when reading a lightning invoice with a non-recoverable |
| 50 | + signature. Further, restrict lightning invoice parsing require payment |
| 51 | + secrets and better handle a few edge cases as required by BOLT 11 (#1057). |
| 52 | + * Fix a panic when receiving multiple messages (such as HTLC fulfill messages) |
| 53 | + after a call to `chain::Watch::update_channel` returned |
| 54 | + `Err(ChannelMonitorUpdateErr::TemporaryFailure)` with no |
| 55 | + `ChannelManager::channel_monitor_updated` call in between (#1066). |
| 56 | + * For multi-path payments, `Event::PaymentSent` is no longer generated |
| 57 | + multiple times, once for each independent part (#1053). |
| 58 | + * Multi-hop route hints in invoices are now considered in the default router |
| 59 | + provided via `get_route` (#1040). |
| 60 | + * The time peers have to respond to pings has been increased when building |
| 61 | + with debug assertions enabled. This avoids peer disconnections on slow hosts |
| 62 | + when running in debug mode (#1051). |
| 63 | + * The timeout for the first byte of a response for requests from the |
| 64 | + `lightning-block-sync` crate has been increased to 300 seconds to better |
| 65 | + handle the long hangs in Bitcoin Core when it syncs to disk (#1090). |
| 66 | + |
| 67 | +## Serialization Compatibility |
| 68 | + * |
| 69 | + * XXX There should at least be an entry for considerations around balances |
| 70 | + * XXX There should at least be an entry for payment error graph updates |
| 71 | + * XXX THere should at least be an entry for duplicate paymentfailed/sent for MPPs sent on old versions |
| 72 | + * XXX probably more. |
| 73 | + |
| 74 | +In total, this release features 68 files changed, 5046 insertions, 1887 |
| 75 | +deletions in 84 commits from 12 authors, in alphabetical order: |
| 76 | + * Antoine Riard |
| 77 | + * Devrandom |
| 78 | + * Galder Zamarreño |
| 79 | + * Giles Cope |
| 80 | + * Jeffrey Czyz |
| 81 | + * Joseph Goulden |
| 82 | + * Matt Corallo |
| 83 | + * Sergi Delgado Segura |
| 84 | + * Tibo-lg |
| 85 | + * Valentine Wallace |
| 86 | + * abhik-99 |
| 87 | + * vss96 |
| 88 | + |
| 89 | + |
1 | 90 | # 0.0.100 - 2021-08-17
|
2 | 91 |
|
3 | 92 | ## API Updates
|
|
0 commit comments