Skip to content

Commit 483dd8e

Browse files
committed
Update CHANGELOG for 0.0.107
1 parent a551a62 commit 483dd8e

File tree

1 file changed

+118
-0
lines changed

1 file changed

+118
-0
lines changed

CHANGELOG.md

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,121 @@
1+
# 0.0.107 - 2022-XX-XX
2+
3+
## API Updates
4+
* The `lightning-block-sync` crate's `BlockSource` trait methods now take
5+
`&self` instead of `&mut self` (#1307).
6+
* `inbound_payment` module is now public to allow for creating phantom invoices
7+
without a `ChannelManager` (#1384).
8+
* `lightning-block-sync`'s `init` and `poll` modules support `&dyn BlockSource`
9+
which can be determined at runtime (#1423).
10+
* `lightning-invoice` crate's `utils` now accept an expiration time (#1422,
11+
#1474).
12+
* `find_route` now assumes variable-length onions by default (#1414).
13+
* `Event::PaymentForwarded` includes `prev_channel_id` and `next_channel_id`
14+
(#1419, #1475).
15+
* `chain::Watch::release_pending_monitor_events`' return type now associates
16+
`MonitorEvent`s with funding `OutPoints` (#1475).
17+
* `lightning-background-processor` crate's `Persister` trait has been moved to
18+
`lightning` crate's `util::persist` module, which now has a general
19+
`KVStorePersister` trait. Blanket implementations of `Persister` and
20+
`chainmonitor::Persist` are given for types implementing `KVStorePersister`.
21+
` lightning-persister`'s `FilesystemPersister` implements `KVStorePersister`
22+
(#1417).
23+
* `ChannelDetails` and `ChannelCounterparty` include fields for HTLC minimum
24+
and maximum values (#1378, #1444).
25+
* Added a `filtered_block_connected` method to `chain::Listen` and a default
26+
implementation of `block_connected` in order to support BIP 157/158 compact
27+
block filters (#1453).
28+
* `ProabilisticScorer` is parameterized by a `Logger`, which it uses to log
29+
channel liquidity updates or lack thereof (#1405).
30+
* `ChannelDetails` has a `outbound_htlc_limit_msat` field, which should be used
31+
in routing instead of `outbound_capacity_msat` (#1435).
32+
* Wumbo channels are now supported and can be enabled for inbound channels
33+
using `ChannelHandshakeLimits::max_funding_satoshis` (#1425).
34+
* `ProabilisticScorer`'s channel liquidities can be logged via
35+
`debug_log_liquidity_stats` (#1460).
36+
* `BackgroundProcessor` now takes an optional `WriteableScore` which it will
37+
persist using the `Persister` trait's new `persist_scorer` method (#1416).
38+
* A `warn` message is now sent when receiving a `channel_reestablish` with an
39+
old commitment transaction number (#1430).
40+
* Upgraded to `bitcoin` crate version 0.28.1 (#1389).
41+
* `ShutdownScript::new_witness_program` now takes a `WitnessVersion` instead of
42+
a `NonZeroU8` (#1389).
43+
* When a `channel_update` message is included in an onion error's `failuremsg`,
44+
its message type is now encoded (#1465).
45+
* `Event::ChannelClosed::reason` will only be `ClosureReason::DisconnectedPeer`
46+
when a peer is disconnected prior to completing funding. Thus, channels will
47+
no longer be automatically force closed when the counterparty is
48+
disconnected (#1429).
49+
* `Event::FundingGenerationReady` now has a `counterparty_node_id` field, which
50+
is used to pass to `ChannelManager` methods for funding, accepting, and
51+
closing the channel (#1479, #1485).
52+
* `InvoicePayer::new` now takes a `Retry` enum (replacing the `RetryAttempts`
53+
struct), which supports both attempt- and timeout-based retrying (#1418).
54+
* `Score::channel_penalty_msat` takes a `ChannelUsage` struct, which contains
55+
the capacity as an `EffectiveCapacity` enum and any potential in-flight HTLC
56+
value, rather than a single `u64`. Used by `ProbabilisticScorer` for more
57+
accurate penalties (#1456).
58+
* `lightning-rapid-gossip-sync` is a new crate for syncing gossip data from a
59+
server, primarily aimed at mobile devices (#1155).
60+
* `build_route_from_hops` is a new function useful for constructing a route to
61+
probe (#1491).
62+
* Support for feature `option_zeroconf`, allowing immediate forwarding of
63+
payments. This is configured for outbound channels using
64+
`ChannelHandshakeLimits::trust_own_funding_0conf` whereas
65+
`ChannelManager::accept_inbound_channel_from_trusted_peer_0conf` is used for
66+
accepting inbound channels (#1401, #1505).
67+
* `ChannelManager::claim_funds` no longer returns a `bool` to indicate success.
68+
Instead, an `Event::PaymentClaimed` is generated if the claim was successful.
69+
Likewise, `ChannelManager::fail_htlc_backwards` no longer has a return value
70+
(#1434).
71+
* `FundingLocked` message has been renamed `ChannelReady`, and related
72+
identifiers have been renamed accordingly (#1506).
73+
* `core2::io` or `std::io` (depending on feature flags `no-std` or `std`) is
74+
exported as a `lightning::io` module (#1504).
75+
* The deprecated `Scorer` has been removed in favor or `ProbabilisitcScorer`
76+
(#1512).
77+
* `RapidGossipSync` can be passed to `BackgroundProcessor` in order to persist
78+
the `NetworkGraph` and handle `NetworkUpdate`s during event handling (#1433,
79+
#1517).
80+
* `NetGraphMsgHandler` has been renamed to `P2PGossipSync`, the `network_graph`
81+
module has been renamed to `gossip`, and `NetworkUpdate::ChannelClosed` has
82+
been renamed `NetworkUpdate::ChannelFailure` (#1159).
83+
84+
## Performance Improvements
85+
* `lightning-persister` crates uses `BufWriter` for improved performance
86+
(#1404).
87+
* Log gossip query messages at `GOSSIP` instead of `TRACE` to avoid
88+
overwhelming default logging (#1421).
89+
* `PeerManager` supports processing messages from different peers in parallel
90+
(#1023).
91+
* `PeerManager` uses a single `Secp256k1` across all peers (#1472).
92+
93+
## Bug Fixes
94+
* `ProabilisticScorer` uses more precision when approximating `log10` (#1406).
95+
* `BackgroundProcessor` process pending events before processing network
96+
messages to reduce lock contention in `ChannelManager`, which can be
97+
problematic for extremely slow machines (#1436).
98+
* Fixed an integer underflow during channel opening occurring when the channel
99+
reserves are greater than the full channel value (#1454, #1463).
100+
* `gossip_timestamp_filter` filters are now honored when sending gossip to
101+
peers (#1452).
102+
* During a reorg, only force-close a channel if its funding transaction is
103+
unconfirmed (#1461).
104+
* Fixed a panic in `lightning-net-tokio` when fetching a peer's socket address
105+
after the connection has been closed (#1449).
106+
* `find_route` will no longer return routes that would cause Onion construction
107+
to fail (#1476).
108+
* Fixed a bug where crashing while persisting a `ChannelMonitorUpdate` for a
109+
part of a multi-path payment would cause refusal to claim the funds on
110+
restart (#1434).
111+
112+
## Serialization Compatibility
113+
* `ChannelManager` serialization is no longer compatible with versions prior to
114+
0.0.99 (#1401).
115+
116+
TODO: Fill in stats
117+
118+
1119
# 0.0.106 - 2022-04-03
2120

3121
## API Updates

0 commit comments

Comments
 (0)