|
| 1 | +# 0.0.115 - Apr 24, 2023 - "Rebroadcast the Bugfixes" |
| 2 | + |
| 3 | +## API Updates |
| 4 | + * The MSRV of the main LDK crates has been increased to 1.48 (#2107). |
| 5 | + * Attempting to claim an un-expired payment on a channel which has closed no |
| 6 | + longer fails. The expiry time of payments is exposed via |
| 7 | + `PaymentClaimable::claim_deadline` (#2148). |
| 8 | + * `payment_metadata` is now supported in `Invoice` deserialization, sending, |
| 9 | + and receiving (via a new `RecipientOnionFields` struct) (#2139, #2127). |
| 10 | + * `Event::PaymentFailed` now exposes a failure reason (#2142). |
| 11 | + * BOLT12 messages now support stateless generation and validation (#1989). |
| 12 | + * The `NetworkGraph` is now pruned of stale data after RGS processing (#2161). |
| 13 | + * Max inbound HTLCs in-flight can be changed in the handshake config (#2138). |
| 14 | + * `lightning-transaction-sync` feature `esplora-async-https` was added (#2085). |
| 15 | + * A `ChannelPending` event is now emitted after the initial handshake (#2098). |
| 16 | + * `PaymentForwarded::outbound_amount_forwarded_msat` was added (#2136). |
| 17 | + * `ChannelManager::list_channels_by_counterparty` was added (#2079). |
| 18 | + * `ChannelDetails::feerate_sat_per_1000_weight` was added (#2094). |
| 19 | + * `Invoice::fallback_addresses` was added to fetch `bitcoin` types (#2023). |
| 20 | + * The offer/refund description is now exposed in `Invoice{,Request}` (#2206). |
| 21 | + |
| 22 | +## Backwards Compatibility |
| 23 | + * Payments sent with the legacy `*_with_route` methods on LDK 0.0.115+ will no |
| 24 | + longer be retryable via the LDK 0.0.114- `retry_payment` method (#2139). |
| 25 | + * `Event::PaymentPathFailed::retry` was removed and will always be `None` for |
| 26 | + payments initiated on 0.0.115 which fail on an earlier version (#2063). |
| 27 | + * `Route`s and `PaymentParameters` with blinded path information will not be |
| 28 | + readable on prior versions of LDK. Such objects are not currently constructed |
| 29 | + by LDK, but may be when processing BOLT12 data in a coming release (#2146). |
| 30 | + * Providing `ChannelMonitorUpdate`s generated by LDK 0.0.115 to a |
| 31 | + `ChannelMonitor` on 0.0.114 or before may panic (#2059). Note that this is |
| 32 | + in general unsupported, and included here only for completeness. |
| 33 | + |
| 34 | +## Bug Fixes |
| 35 | + * Fixed a case where `process_events_async` may `poll` a `Future` which has |
| 36 | + already completed (#2081). |
| 37 | + * Fixed deserialization of `u16` arrays. This bug may have previously corrupted |
| 38 | + the historical buckets in a `ProbabilisticScorer`. Users relying on the |
| 39 | + historical buckets may wish to wipe their scorer on upgrade to remove corrupt |
| 40 | + data rather than waiting on it to decay (#2191). |
| 41 | + * The `process_events_async` task is now `Send` and can thus be polled on a |
| 42 | + multi-threaded runtime (#2199). |
| 43 | + * Fixed a missing macro export causing |
| 44 | + `impl_writeable_tlv_based_enum{,_upgradable}` calls to not compile (#2091). |
| 45 | + * Fixed compilation of `lightning-invoice` with both `no-std` and serde (#2187) |
| 46 | + * Fix an issue where the `background-processor` would not wake when a |
| 47 | + `ChannelMonitorUpdate` completed asynchronously, causing delays (#2090). |
| 48 | + * Fix an issue where `process_events_async` would exit immediately (#2145). |
| 49 | + * `Router` calls from the `ChannelManager` now call `find_route_with_id` rather |
| 50 | + than `find_route`, as was intended and described in the API (#2092). |
| 51 | + * Ensure `process_events_async` always exits if any sleep future returns true, |
| 52 | + not just if all sleep futures repeatedly return true (#2145). |
| 53 | + * `channel_update` messages no longer set the disable bit unless the peer has |
| 54 | + been disconnected for some time. This should resolve cases where channels are |
| 55 | + disabled for extended periods of time (#2198). |
| 56 | + * We no longer remove CLN nodes from the network graph for violating the BOLT |
| 57 | + spec in some cases after failing to pay through them (#2220). |
| 58 | + * Fixed a debug assertion which may panic under heavy load (#2172). |
| 59 | + * `CounterpartyForceClosed::peer_msg` is now wrapped in UntrustedString (#2114) |
| 60 | + * Fixed a potential deadlock in `funding_transaction_generated` (#2158). |
| 61 | + |
| 62 | +## Security |
| 63 | + * Transaction re-broadcasting is now substantially more aggressive, including a |
| 64 | + new regular rebroadcast feature called on a timer from the |
| 65 | + `background-processor` or from `ChainMonitor::rebroadcast_pending_claims`. |
| 66 | + This should substantially increase transaction confirmation reliability |
| 67 | + without relying on downstream `TransactionBroadcaster` implementations for |
| 68 | + rebroadcasting (#2203, #2205, #2208). |
| 69 | + * Implemented the changes from BOLT PRs #1031, #1032, and #1040 which resolve a |
| 70 | + privacy vulnerability which allows an intermediate node on the path to |
| 71 | + discover the final destination for a payment (#2062). |
| 72 | + |
| 73 | +In total, this release features 110 files changed, 11928 insertions, 6368 |
| 74 | +deletions in 215 commits from 21 authors, in alphabetical order: |
| 75 | + * Advait |
| 76 | + * Alan Cohen |
| 77 | + * Alec Chen |
| 78 | + * Allan Douglas R. de Oliveira |
| 79 | + * Arik Sosman |
| 80 | + * Elias Rohrer |
| 81 | + * Evan Feenstra |
| 82 | + * Jeffrey Czyz |
| 83 | + * John Cantrell |
| 84 | + * Lucas Soriano del Pino |
| 85 | + * Marc Tyndel |
| 86 | + * Matt Corallo |
| 87 | + * Paul Miller |
| 88 | + * Steven |
| 89 | + * Steven Williamson |
| 90 | + * Steven Zhao |
| 91 | + * Tony Giorgio |
| 92 | + * Valentine Wallace |
| 93 | + * Wilmer Paulino |
| 94 | + * benthecarman |
| 95 | + * munjesi |
| 96 | + |
| 97 | + |
1 | 98 | # 0.0.114 - Mar 3, 2023 - "Faster Async BOLT12 Retries"
|
2 | 99 |
|
3 | 100 | ## API Updates
|
|
0 commit comments