|
| 1 | +# 0.0.118 - Oct 23, 2023 - "Just the Twelve Sinks" |
| 2 | + |
| 3 | +## API Updates |
| 4 | + * BOLT12 sending and receiving is now supported as an alpha feature. You may |
| 5 | + run into unexpected issues and will need to have a direct connection with |
| 6 | + the offer's blinded path introduction points as messages are not yet routed. |
| 7 | + We are seeking feedback from early testers (#2578, #2039). |
| 8 | + * `ConfirmationTarget` has been rewritten to provide information about the |
| 9 | + specific use LDK needs the feerate estimate for, rather than the generic |
| 10 | + low-, medium-, and high-priority estimates. This allows LDK users to more |
| 11 | + accurately target their feerate estimates (#2660). For those wishing to |
| 12 | + retain their existing behavior, see the table below for conversion. |
| 13 | + * `ChainHash` is now used in place of `BlockHash` where it represents the |
| 14 | + genesis block (#2662). |
| 15 | + * `lightning-invoice` payment utilities now take a `Deref` to |
| 16 | + `AChannelManager` (#2652). |
| 17 | + * `peel_onion` is provided to statelessly decode an `OnionMessage` (#2599). |
| 18 | + * `ToSocketAddrs` + `Display` are now impl'd for `SocketAddress` (#2636, #2670) |
| 19 | + * `Display` is now implemented for `OutPoint` (#2649). |
| 20 | + * `Features::from_be_bytes` is now provided (#2640). |
| 21 | + |
| 22 | +For those moving to the new `ConfirmationTarget`, the new variants in terms of |
| 23 | +the old mempool/low/medium/high priorities are as follows: |
| 24 | + * `OnChainSweep` = `HighPriority` |
| 25 | + * `MaxAllowedNonAnchorChannelRemoteFee` = `max(25 * 250, HighPriority * 10)` |
| 26 | + * `MinAllowedAnchorChannelRemoteFee` = `MempoolMinimum` |
| 27 | + * `MinAllowedNonAnchorChannelRemoteFee` = `Background - 250` |
| 28 | + * `AnchorChannelFee` = `Background` |
| 29 | + * `NonAnchorChannelFee` = `Normal` |
| 30 | + * `ChannelCloseMinimum` = `Background` |
| 31 | + |
| 32 | +## Bug Fixes |
| 33 | + * Calling `ChannelManager::close_channel[_with_feerate_and_script]` on a |
| 34 | + channel which did not exist would immediately hang holding several key |
| 35 | + `ChannelManager`-internal locks (#2657). |
| 36 | + * Channel information updates received from a failing HTLC are no longer |
| 37 | + applied to our `NetworkGraph`. This prevents a node which we attempted to |
| 38 | + route a payment through from being able to learn the sender of the payment. |
| 39 | + In some rare cases, this may result in marginally reduced payment success |
| 40 | + rates (#2666). |
| 41 | + * Anchor outputs are now properly considered when calculating the amount |
| 42 | + available to send in HTLCs. This can prevent force-closes in anchor channels |
| 43 | + when sending payments which overflow the available balance (#2674). |
| 44 | + * A peer that sends an `update_fulfill_htlc` message for a forwarded HTLC, |
| 45 | + then reconnects prior to sending a `commitment_signed` (thus retransmitting |
| 46 | + their `update_fulfill_htlc`) may result in the channel stalling and being |
| 47 | + unable to make progress (#2661). |
| 48 | + * In exceedingly rare circumstances, messages intended to be sent to a peer |
| 49 | + prior to reconnection can be sent after reconnection. This could result in |
| 50 | + undefined channel state and force-closes (#2663). |
| 51 | + |
| 52 | +## Backwards Compatibility |
| 53 | + |
| 54 | + * Creating a blinded path to receive a payment then downgrading to LDK prior to |
| 55 | + 0.0.117 may result in failure to receive the payment (#2413). |
| 56 | + * Calling `ChannelManager::pay_for_offer` or |
| 57 | + `ChannelManager::create_refund_builder` may prevent downgrading to LDK prior |
| 58 | + to 0.0.118 until the payment times out and has been removed (#2039). |
| 59 | + |
| 60 | +## Node Compatibility |
| 61 | + * LDK now sends a bogus `channel_reestablish` message to peers when they ask to |
| 62 | + resume an unknown channel. This should cause LND nodes to force-close and |
| 63 | + broadcast the latest channel state to the chain. In order to trigger this |
| 64 | + when we wish to force-close a channel, LDK now disconnects immediately after |
| 65 | + sending a channel-closing `error` message. This should result in cooperative |
| 66 | + peers also working to confirm the latest commitment transaction when we wish |
| 67 | + to force-close (#2658). |
| 68 | + |
| 69 | +## Security |
| 70 | +0.0.118 expands mitigations against transaction cycling attacks to non-anchor |
| 71 | +channels, though note that no mitigations which exist today are considered robust |
| 72 | +to prevent the class of attacks. |
| 73 | + * In order to mitigate against transaction cycling attacks, non-anchor HTLC |
| 74 | + transactions are now properly re-signed before broadcasting (#2667). |
| 75 | + |
| 76 | +In total, this release features 61 files changed, 3470 insertions, 1503 |
| 77 | +deletions in 85 commits from 12 authors, in alphabetical order: |
| 78 | + * Antonio Yang |
| 79 | + * Elias Rohrer |
| 80 | + * Evan Feenstra |
| 81 | + * Fedeparma74 |
| 82 | + * Gursharan Singh |
| 83 | + * Jeffrey Czyz |
| 84 | + * Matt Corallo |
| 85 | + * Sergi Delgado Segura |
| 86 | + * Vladimir Fomene |
| 87 | + * Wilmer Paulino |
| 88 | + * benthecarman |
| 89 | + * slanesuke |
| 90 | + |
| 91 | + |
1 | 92 | # 0.0.117 - Oct 3, 2023 - "Everything but the Twelve Sinks"
|
2 | 93 |
|
3 | 94 | ## API Updates
|
|
0 commit comments