|
1 |
| -# 0.0.107 - 2022-06-07 |
| 1 | +# 0.0.107 - 2022-06-08 |
2 | 2 |
|
3 | 3 | ## API Updates
|
4 | 4 | * Wumbo channels are now supported and can be enabled for inbound channels
|
|
31 | 31 | which can be determined at runtime (#1423).
|
32 | 32 | * `lightning-invoice` crate's `utils` now accept an expiration time (#1422,
|
33 | 33 | #1474).
|
34 |
| - * `find_route` now assumes variable-length onions by default (#1414). |
35 | 34 | * `Event::PaymentForwarded` includes `prev_channel_id` and `next_channel_id`
|
36 | 35 | (#1419, #1475).
|
37 | 36 | * `chain::Watch::release_pending_monitor_events`' return type now associates
|
|
43 | 42 | ` lightning-persister`'s `FilesystemPersister` implements `KVStorePersister`
|
44 | 43 | (#1417).
|
45 | 44 | * `ChannelDetails` and `ChannelCounterparty` include fields for HTLC minimum
|
46 |
| - and maximum values (#1378, #1444). |
47 |
| - * `ProabilisticScorer` is parameterized by a `Logger`, which it uses to log |
| 45 | + and maximum values, which are set in `RouteHints` by the `lightning-invoice` |
| 46 | + crate (#1378, #1444). |
| 47 | + * Added a `max_inbound_htlc_value_in_flight_percent_of_channel` field to |
| 48 | + `ChannelHandshakeConfig`, capping the total value of outstanding inbound |
| 49 | + HTLCs for a channel (#1444). |
| 50 | + * `ProbabilisticScorer` is parameterized by a `Logger`, which it uses to log |
48 | 51 | channel liquidity updates or lack thereof (#1405).
|
49 |
| - * `ChannelDetails` has a `outbound_htlc_limit_msat` field, which should be used |
50 |
| - in routing instead of `outbound_capacity_msat` (#1435). |
51 |
| - * `ProabilisticScorer`'s channel liquidities can be logged via |
| 52 | + * `ChannelDetails` has an `outbound_htlc_limit_msat` field, which should be |
| 53 | + used in routing instead of `outbound_capacity_msat` (#1435). |
| 54 | + * `ProbabilisticScorer`'s channel liquidities can be logged via |
52 | 55 | `debug_log_liquidity_stats` (#1460).
|
53 | 56 | * `BackgroundProcessor` now takes an optional `WriteableScore` which it will
|
54 | 57 | persist using the `Persister` trait's new `persist_scorer` method (#1416).
|
55 |
| - * A `warn` message is now sent when receiving a `channel_reestablish` with an |
56 |
| - old commitment transaction number rather than immediately force-closing the |
57 |
| - channel (#1430). |
58 | 58 | * Upgraded to `bitcoin` crate version 0.28.1 (#1389).
|
59 | 59 | * `ShutdownScript::new_witness_program` now takes a `WitnessVersion` instead of
|
60 | 60 | a `NonZeroU8` (#1389).
|
61 |
| - * When a `channel_update` message is included in an onion error's `failuremsg`, |
62 |
| - its message type is now encoded (#1465). |
63 |
| - * `Event::ChannelClosed::reason` will only be `ClosureReason::DisconnectedPeer` |
64 |
| - when a peer is disconnected prior to completing funding. Thus, channels will |
65 |
| - no longer be automatically force closed when the counterparty is disconnected |
66 |
| - due to incompatibility (#1429). |
67 |
| - * `Event::FundingGenerationReady` now has a `counterparty_node_id` field, which |
68 |
| - is used to pass to `ChannelManager` methods for funding, accepting, and |
69 |
| - closing the channel (#1479, #1485). |
| 61 | + * Channels will no longer be automatically force closed when the counterparty |
| 62 | + is disconnected due to incompatibility (#1429). |
| 63 | + * `ChannelManager` methods for funding, accepting, and closing channels now |
| 64 | + take a `counterparty_node_id` parameter, which has also been added as a field |
| 65 | + to `Event::FundingGenerationReady` (#1479, #1485). |
70 | 66 | * `InvoicePayer::new` now takes a `Retry` enum (replacing the `RetryAttempts`
|
71 | 67 | struct), which supports both attempt- and timeout-based retrying (#1418).
|
72 | 68 | * `Score::channel_penalty_msat` takes a `ChannelUsage` struct, which contains
|
73 | 69 | the capacity as an `EffectiveCapacity` enum and any potential in-flight HTLC
|
74 | 70 | value, rather than a single `u64`. Used by `ProbabilisticScorer` for more
|
75 | 71 | accurate penalties (#1456).
|
76 |
| - * `build_route_from_hops` is a new function useful for constructing a route to |
77 |
| - probe (#1491). |
| 72 | + * `build_route_from_hops` is a new function useful for constructing a `Route` |
| 73 | + given a specific list of public keys (#1491). |
78 | 74 | * `FundingLocked` message has been renamed `ChannelReady`, and related
|
79 | 75 | identifiers have been renamed accordingly (#1506).
|
80 | 76 | * `core2::io` or `std::io` (depending on feature flags `no-std` or `std`) is
|
|
88 | 84 | overwhelming default logging (#1421).
|
89 | 85 | * `PeerManager` supports processing messages from different peers in parallel,
|
90 | 86 | and this is taken advantage of in gossip processing (#1023).
|
91 |
| - * `PeerManager` uses a single `Secp256k1` across all peers for reduced memory |
92 |
| - usage (#1472). |
| 87 | + * Reduced per-peer memory usage in `PeerManager` (#1472). |
| 88 | + |
| 89 | +## Spec Compliance |
| 90 | + * `find_route` now assumes variable-length onions by default for nodes |
| 91 | + supporting the feature (#1414). |
| 92 | + * A `warn` message is now sent when receiving a `channel_reestablish` with an |
| 93 | + old commitment transaction number rather than immediately force-closing the |
| 94 | + channel (#1430). |
| 95 | + * When a `channel_update` message is included in an onion error's `failuremsg`, |
| 96 | + its message type is now encoded. Reading such messages is also supported |
| 97 | + (#1465). |
93 | 98 |
|
94 | 99 | ## Bug Fixes
|
95 | 100 | * Fixed a bug where crashing while persisting a `ChannelMonitorUpdate` for a
|
96 |
| - part of a multi-path payment would cause loss of funds due to a partial |
| 101 | + part of a multi-path payment could cause loss of funds due to a partial |
97 | 102 | payment claim on restart (#1434).
|
98 |
| - * `ProabilisticScorer` uses more precision when approximating `log10` (#1406). |
99 |
| - * `BackgroundProcessor` processes pending events before processing network |
100 |
| - messages to reduce lock contention in `ChannelManager`, which improves |
101 |
| - `ChannelManager` serialization on slow systems to avoid force channel closes |
102 |
| - (#1436). |
| 103 | + * `BackgroundProcessor` has been fixed to improve serialization reliability on |
| 104 | + slow systems which can avoid force-closes (#1436). |
| 105 | +processes pending events before processing network |
| 106 | + messages to reduce lock contention in `ChannelManager`, |
| 107 | + improves |
103 | 108 | * `gossip_timestamp_filter` filters are now honored when sending gossip to
|
104 | 109 | peers (#1452).
|
105 | 110 | * During a reorg, only force-close a channel if its funding transaction is
|
106 | 111 | unconfirmed rather than as it loses confirmations (#1461).
|
107 |
| - * Fixed a panic in `lightning-net-tokio` when fetching a peer's socket address |
108 |
| - after the connection has been closed (#1449). |
109 |
| - * `find_route` will no longer return routes that would cause Onion construction |
110 |
| - to fail (#1476). |
| 112 | + * Fixed a rate panic in `lightning-net-tokio` when fetching a peer's socket |
| 113 | + address after the connection has been closed caused by a race condition |
| 114 | + (#1449). |
| 115 | + * `find_route` will no longer return routes that would cause onion construction |
| 116 | + to fail in some cases (#1476). |
| 117 | + * `ProbabilisticScorer` uses more precision when approximating `log10` (#1406). |
111 | 118 |
|
112 | 119 | ## Serialization Compatibility
|
113 | 120 | * `ChannelManager` serialization is no longer compatible with versions prior to
|
|
0 commit comments