|
1 |
| -# 0.0.99 - WIP |
| 1 | +# 0.0.99 - 2021-07-09 |
| 2 | + |
| 3 | +## API Updates |
| 4 | + |
| 5 | + * `lightning_block_sync::poll::Validate` is now public, allowing you to |
| 6 | + implement the `lightning_block_sync::poll::Poll` trait without |
| 7 | + `lightning_block_sync::poll::ChainPoller` (#956). |
| 8 | + * `lightning::ln::peer_handler::PeerManager` no longer requires that no calls |
| 9 | + are made to referencing the same `SocketDescriptor` after |
| 10 | + `disconnect_socket` returns. This makes the API significantly less |
| 11 | + deadlock-prone and simplifies `SocketDescriptor` implementations |
| 12 | + significantly. The relevant changes have been made to `lightning_net_tokio` |
| 13 | + and `PeerManager` documentation has been substantially rewritten (#957). |
| 14 | + * `lightning::util::message_signing`'s `sign` and `verify` methods now take |
| 15 | + secret and public keys by reference instead of value (#974). |
| 16 | + * Substantially more information is now exposed about channels in |
| 17 | + `ChannelDetails`. See documentation for more info (#984 and #988). |
| 18 | + * The latest best block seen is now exposed in |
| 19 | + `ChannelManager::current_best_block` and |
| 20 | + `ChannelMonitor::current_best_block` (#984). |
| 21 | + * Feerates charged when forwarding payments over channels is now set in |
| 22 | + `ChannelConfig::fee_base_msat` when the channel is opened. For existing |
| 23 | + channels, the value is set to the value provided in |
| 24 | + `ChannelManagerReadArgs::default_config::channel_options` the first time the |
| 25 | + `ChannelManager` is loaded in 0.0.99 (#975). |
| 26 | + * We now reject HTLCs which are received to be forwarded over private channels |
| 27 | + unless `UserConfig::accept_forwards_to_priv_channels` is set. Note that |
| 28 | + `UserConfig` is never serialized and must be provided via |
| 29 | + `ChannelManagerReadArgs::default_config` at each start (#975). |
| 30 | + |
| 31 | +## Bug Fixes |
| 32 | + |
| 33 | + * We now forward gossip messages to peers instead of only relaying |
| 34 | + locally-generated gossip or sending gossip messages during initial sync |
| 35 | + (#948). |
| 36 | + * Correctly send `channel_update` messages to direct peers on private channels |
| 37 | + (#949). Without this, a private node connected to an LDK node over a private |
| 38 | + channel cannot receive funds as it does not know which fees the LDK node |
| 39 | + will charge. |
| 40 | + * `lightning::ln::channelmanager::ChannelManager` no longer expects to be |
| 41 | + persisted spuriously after we receive a `channel_update` message about any |
| 42 | + channel in the routing gossip (#972). |
| 43 | + * Asynchronous `ChannelMonitor` updates (using the |
| 44 | + `ChannelMonitorUpdateErr::TemporaryFailure` return variant) no longer cause |
| 45 | + spurious HTLC forwarding failures (#954). |
| 46 | + * Transaction provided via `ChannelMonitor::transactions_confirmed` |
| 47 | + after `ChannelMonitor::best_block_updated` was called for a much later |
| 48 | + block now trigger all relevant actions as of the later block. Previously |
| 49 | + some transaction broadcasts or other responses required an additional |
| 50 | + block be provided via `ChannelMonitor::best_block_updated` (#970). |
| 51 | + * We no longer panic in rare cases when an invoice contained last-hop route |
| 52 | + hints which were unusable (#958). |
| 53 | + |
| 54 | +## Node Compatibility |
| 55 | + |
| 56 | + * We now accept spurious `funding_locked` messages sent prior to |
| 57 | + `channel_reestablish` messages after reconnect. This is a |
| 58 | + [known, long-standing bug in lnd](https://github.com/lightningnetwork/lnd/issues/4006) |
| 59 | + (#966). |
| 60 | + * We now set the `first_blocknum` and `number_of_blocks` fields in |
| 61 | + `reply_channel_range` messages to values which c-lightning versions prior to |
| 62 | + 0.10 accepted. This avoids spurious force-closes from such nodes (#961). |
2 | 63 |
|
3 | 64 | ## Serialization Compatibility
|
4 | 65 |
|
5 | 66 | * Due to a bug discovered in 0.0.98, if a `ChannelManager` is serialized on
|
6 | 67 | version 0.0.98 while an `Event::PaymentSent` is pending processing, the
|
7 | 68 | `ChannelManager` will fail to deserialize both on version 0.0.98 and later
|
8 | 69 | versions. If you have such a `ChannelManager` available, a simple patch will
|
9 |
| - allow it to deserialize, please file an issue if you need assistance. |
| 70 | + allow it to deserialize. Please file an issue if you need assistance (#973). |
10 | 71 |
|
11 | 72 | # 0.0.98 - 2021-06-11
|
12 | 73 |
|
|
0 commit comments