|
35 | 35 | * `ChannelMonitorUpdate::update_id`s no longer have a magic value (of
|
36 | 36 | `u64::MAX`) for updates after a channel has been closed. They are now
|
37 | 37 | always monotonically increasing (#3355).
|
| 38 | + * The MSRV of `lightning-transaction-sync` has been increased to rustc 1.75 due |
| 39 | + to its HTTP client dependencies (#3528). |
38 | 40 | * The default `ProbabilisticScoringFeeParameters` values now recommend specific
|
39 | 41 | ratios between different penalties, and default penalties now allow for
|
40 | 42 | higher fees in order to reduce payment latency (#3495).
|
|
44 | 46 | requirements for nodes using anchor channels (#3340).
|
45 | 47 | * A `MigratableKVStore` trait was added (and implemented for
|
46 | 48 | `FilesystemStore`), enabling easy migration between `KVStore`s (#3481).
|
| 49 | + * `InvoiceRequest::amount_msats` now returns the `offer`-implied amount if a |
| 50 | + Bitcoin-denominated amount was set in the `offer` and no amount was set |
| 51 | + directly in the `invoice_request` (#3535). |
47 | 52 | * `Event::OpenChannelRequest::push_msat` has been replaced with an enum in
|
48 | 53 | preparation for the dual-funding protocol coming in a future release (#3137).
|
49 | 54 | * `GossipVerifier` now requires a `P2PGossipSync` which holds a reference to
|
|
78 | 83 | ## Bug Fixes
|
79 | 84 | * Fixed a rare case where a BOLT 12 payment may be made duplicatively if the
|
80 | 85 | node crashes while processing a BOLT 12 `invoice` message (#3313).
|
| 86 | + * Fixed a bug where a counterparty can cause funds of ours to be locked up |
| 87 | + by broadcasting a revoked commitment transaction and following HTLC |
| 88 | + transactions in specific formats when using an anchor channel. The funds can |
| 89 | + be recovered by upgrading to 0.1 and replaying the counterparty's broadcasted |
| 90 | + transactions (using `Confirm::transactions_confirmed`) (#3537). |
81 | 91 | * Fixed a bug where a malicious sender could cause a payment `Event` to be
|
82 | 92 | generated with an `OfferId` using a payment with a lower amount than the
|
83 | 93 | corresponding BOLT 12 offer would have required. The amount in the
|
|
107 | 117 | delivered to peers even if the peer is behind in processing relayed gossip.
|
108 | 118 | This ensures our own gossip propagates well even if we have very limited
|
109 | 119 | upload bandwidth (#3142).
|
| 120 | + * Fixed a bug where calling `OutputSweeper::transactions_confirmed` with |
| 121 | + transactions from anything but the latest block may have triggered a spurious |
| 122 | + assertion in debug mode (#3524). |
110 | 123 |
|
111 | 124 | ## Performance Improvements
|
112 | 125 | * LDK now verifies `channel_update` gossip messages without holding a lock,
|
|
146 | 159 | will have `balance_msat` equal to `next_outbound_htlc_limit_msat` (#3243).
|
147 | 160 |
|
148 | 161 | ## Security
|
| 162 | +0.1 fixes a funds-theft vulnerability when paying BOLT 12 offers. |
| 163 | + * When paying a BOLT 12 offer, if the recipient responds to our |
| 164 | + `invoice_request` with an `invoice` which had an amount different from the |
| 165 | + amount we intended to pay (either from the `offer` or the `amount_msats` |
| 166 | + passed to `ChannelManager::pay_for_offer`), LDK would pay the amount from the |
| 167 | + `invoice`. As a result, a malicious recipient could cause us to overpay the |
| 168 | + amount we intended to pay (#3535). |
149 | 169 | * Various denial-of-service issues in the formerly-alpha `lightning-liquidity`
|
150 | 170 | crate have been addressed (#3436, #3493).
|
151 | 171 |
|
|
0 commit comments