Skip to content

Commit c5c5f3f

Browse files
authored
Merge pull request #2414 from TheBlueMatt/2023-07-cut-116-rc
Add 0.0.116 CHANGELOG entries and prep for 0.0.116rc1
2 parents baf9731 + cc5fea8 commit c5c5f3f

File tree

14 files changed

+149
-46
lines changed

14 files changed

+149
-46
lines changed

CHANGELOG.md

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,125 @@
1+
# 0.0.116rc1 - Jul 14, 2023 - "Anchoring the Roadmap"
2+
3+
## API Updates
4+
5+
* Support for zero-HTLC-fee anchor output channels has been added and is now
6+
considered beta (#2367). Users who set
7+
`ChannelHandshakeConfig::negotiate_anchors_zero_fee_htlc_tx` should be
8+
prepared to handle the new `Event::BumpTransaction`, e.g. via the
9+
`BumpTransactionEventHandler` (#2089). Users who set the same and wish to
10+
accept inbound anchor-based channels must do so manually by setting
11+
`UserConfig::manually_accept_inbound_channels` (#2368).
12+
* Support forwarding and accepting HTLCs with a reduced amount has been added,
13+
to support LSPs skimming a fee on the penultimate hop (#2319).
14+
* BOLT11 and BOLT12 Invoice and related types have been renamed to include a
15+
BOLTNN prefix, ensuring uniqueness in `lightning{,-invoice}` crates (#2416).
16+
* `Score`rs now have an associated type which represents a parameter passed
17+
when calculating penalties. This allows for the same `Score`r to be used with
18+
different penalty calculation parameters (#2237).
19+
* `DefaultRouter` is no longer restrained to a `Mutex`-wrapped `Score`,
20+
allowing it to be used in `no-std` builds (#2383).
21+
* `CustomMessageHandler::provided_{node,init}_features` and various custom
22+
feature bit methods on `*Features` were added (#2204).
23+
* Keysend/push payments using MPP are now supported when receiving if
24+
`UserConfig::accept_mpp_keysend` is set and when sending if specified in the
25+
`PaymentParameters`. Note that not all recipients support this (#2156).
26+
* A new `ConfirmationTarget::MempoolMinimum` has been added (#2415).
27+
* `SpendableOutputDescriptor::to_psbt_input` was added (#2286).
28+
* `ChannelManager::update_partial_channel_config` was added (#2330).
29+
* `ChannelDetails::channel_shutdown_state` was added (#2347).
30+
* The shutdown script can now be provided at shutdown time via
31+
`ChannelManager::close_channel_with_feerate_and_script` (#2219).
32+
* `BroadcasterInterface` now takes multiple transactions at once. While not
33+
available today, in the future single calls should be passed to a full node
34+
via a single batch/package transaction acceptance API (#2272).
35+
* `Balance::claimable_amount_satoshis` was added (#2333).
36+
* `payment_{hash,preimage}` have been added to some `Balance` variants (#2217).
37+
* The `lightning::chain::keysinterface` is now `lightning::sign` (#2246).
38+
* Routing to a blinded path has been implemented, though sending to such a
39+
route is not yet supported in `ChannelManager` (#2120).
40+
* `OffersMessageHandler` was added for offers-related onion messages (#2294).
41+
* The `CustomMessageHandler` parameter to `PeerManager` has moved to
42+
`MessageHandler` from `PeerManager::new` explicitly (#2249).
43+
* Various P2P messages for dual funding channel establishment have been added,
44+
though handling for them is not yet in `ChannelManager` (#1794)
45+
* Script-fetching methods in `sign` interfaces can now return errors, see docs
46+
for the implications of failing (#2213).
47+
* The `data_loss_protect` option is now required when reading
48+
`channel_reestablish` messages, as many others have done (#2253).
49+
* `InFlightHtlcs::add_inflight_htlc` has been added (#2042).
50+
* The `init` message `networks` field is now written and checked (#2329).
51+
* `PeerManager` generics have been simplified with the introduction of the
52+
`APeerManager` trait (#2249).
53+
* `ParitalOrd` and `Ord` are now implemented for `Invoice` (#2279).
54+
* `ParitalEq` and `Debug` are now implemented for `InMemorySigner` (#2328).
55+
* `ParitalEq` and `Eq` are now implemented for `PaymentError` (#2316).
56+
* `NetworkGraph::update_channel_from_announcement_no_lookup` was added (#2222).
57+
* `lightning::routing::gossip::verify_{channel,node}_announcement` was added
58+
(#2307).
59+
60+
## Backwards Compatibility
61+
* `PaymentParameters` written with blinded path info using LDK 0.0.115 will not
62+
be readable in LDK 0.0.116, and vice versa.
63+
* Forwarding less than `Event::HTLCIntercepted::expected_outbound_amount_msat`
64+
in `ChannelManager::forward_intercepted_htlc` may prevent the
65+
`ChannelManager` from being read by LDK prior to 0.0.116 (#2319)
66+
* Setting `ChannelConfig::accept_underpaying_htlcs` may prevent the
67+
`ChannelManager` from being read by LDK prior to 0.0.116 and un-setting the
68+
parameter between restarts may lead to payment failures (#2319).
69+
* `ChannelManager::create_inbound_payment{,_for_hash}_legacy` has been removed,
70+
removing the ability to create inbound payments which are claimable after
71+
downgrade to LDK 0.0.103 and prior. In the future handling such payments will
72+
also be removed (#2351).
73+
* Some fields required by LDK 0.0.103 and earlier are no longer written, thus
74+
deserializing objects written by 0.0.116 with 0.0.103 may now fail (#2351).
75+
76+
## Bug Fixes
77+
* `ChannelDetails::next_outbound_htlc_limit_msat` was made substantially more
78+
accurate and a corresponding `next_outbound_htlc_minimum_msat` was added.
79+
This resolves issues where unpayable routes were generated due to
80+
overestimation of the amount which is payable over one of our channels as
81+
the first hop (#2312).
82+
* A rare case where delays in processing `Event`s generated by
83+
`ChannelMonitor`s could lead to loss of those events in case of an untimely
84+
crash. This could lead to the loss of an `Event::SpendableOutputs` (#2369).
85+
* Fixed a regression in 0.0.115 which caused `PendingHTLCsForwardable` events
86+
to be missed when processing phantom node receives. This caused such
87+
payments to be delayed until a further, unrelated HTLC came in (#2395).
88+
* Peers which are unresponsive to channel messages for several timer ticks are
89+
now disconnected to allow for on-reconnection state machine reset. This
90+
works around some issues in LND prior to 16.3 which can cause channels to
91+
hang and eventually force-close (#2293).
92+
* `ChannelManager::new` now requires the current time (either from a recent
93+
block header or the system clock), ensuring invoices created immediately
94+
after startup aren't already expired (#2372).
95+
* Resolved an issue where reading a `ProbabilisticScorer` on some platforms
96+
(e.g. iOS) can lead to a panic (#2322).
97+
* `ChannelConfig::max_dust_htlc_exposure` is now allowed to scale based on
98+
current fees, and the default has been updated to do so. This substantially
99+
reduces the chance of force-closure due to dust exposure. Note that existing
100+
channels will retain their current value and you may wish to update the
101+
value on your existing channels on upgrade (#2354).
102+
* `PeerManager::process_events` no longer blocks in any case. This fixes a bug
103+
where reentrancy from `PeerManager` into user code which eventually calls
104+
`process_events` could lead to a deadlock (#2280).
105+
* The persist timing of network graph and scoring in
106+
`lightning-background-processor` has been tweaked to provide more reliable
107+
persistence after updates to either (#2226).
108+
* The number of route hints added to BOLT 11 invoices by the
109+
`lightning-invoice::utils` builders has been reduced to three to ensure
110+
invoices can be represented in scan-able QR codes (#2044).
111+
* Fixed sending large onion messages, which would previously have resulted in
112+
an HMAC error on the second hop (#2277).
113+
* Fixed a memory leak that may occur when a `ChannelManager` or
114+
`ChannelMonitor` is `drop`ed (#2233).
115+
* A potential deadlock in calling `NetworkGraph::eq` was resolved (#2284).
116+
* Fixed an overflow which prevented disconnecting peers in some minor cases
117+
with more than 31 peers (#2245).
118+
* Gossip messages with an unknown chain hash are now ignored (#2230).
119+
* Rapid Gossip Sync processing now fails on an unknown chain hash (#2324).
120+
* `RouteHintHop::htlc_maximum_msat` is now enforced. Note that BOLT11 route
121+
hints do not have such a field so this code is generally unused (#2305).
122+
1123
# 0.0.115 - Apr 24, 2023 - "Rebroadcast the Bugfixes"
2124

3125
## API Updates

lightning-background-processor/Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "lightning-background-processor"
3-
version = "0.0.116-alpha1"
3+
version = "0.0.116-rc1"
44
authors = ["Valentine Wallace <vwallace@protonmail.com>"]
55
license = "MIT OR Apache-2.0"
66
repository = "http://github.com/lightningdevkit/rust-lightning"
@@ -21,11 +21,11 @@ default = ["std"]
2121

2222
[dependencies]
2323
bitcoin = { version = "0.29.0", default-features = false }
24-
lightning = { version = "0.0.116-alpha1", path = "../lightning", default-features = false }
25-
lightning-rapid-gossip-sync = { version = "0.0.116-alpha1", path = "../lightning-rapid-gossip-sync", default-features = false }
24+
lightning = { version = "0.0.116-rc1", path = "../lightning", default-features = false }
25+
lightning-rapid-gossip-sync = { version = "0.0.116-rc1", path = "../lightning-rapid-gossip-sync", default-features = false }
2626

2727
[dev-dependencies]
2828
tokio = { version = "1.14", features = [ "macros", "rt", "rt-multi-thread", "sync", "time" ] }
29-
lightning = { version = "0.0.116-alpha1", path = "../lightning", features = ["_test_utils"] }
30-
lightning-invoice = { version = "0.24.0-alpha1", path = "../lightning-invoice" }
31-
lightning-persister = { version = "0.0.116-alpha1", path = "../lightning-persister" }
29+
lightning = { version = "0.0.116-rc1", path = "../lightning", features = ["_test_utils"] }
30+
lightning-invoice = { version = "0.24.0-rc1", path = "../lightning-invoice" }
31+
lightning-persister = { version = "0.0.116-rc1", path = "../lightning-persister" }

lightning-block-sync/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "lightning-block-sync"
3-
version = "0.0.116-alpha1"
3+
version = "0.0.116-rc1"
44
authors = ["Jeffrey Czyz", "Matt Corallo"]
55
license = "MIT OR Apache-2.0"
66
repository = "http://github.com/lightningdevkit/rust-lightning"
@@ -19,11 +19,11 @@ rpc-client = [ "serde_json", "chunked_transfer" ]
1919

2020
[dependencies]
2121
bitcoin = "0.29.0"
22-
lightning = { version = "0.0.116-alpha1", path = "../lightning" }
22+
lightning = { version = "0.0.116-rc1", path = "../lightning" }
2323
tokio = { version = "1.0", features = [ "io-util", "net", "time" ], optional = true }
2424
serde_json = { version = "1.0", optional = true }
2525
chunked_transfer = { version = "1.4", optional = true }
2626

2727
[dev-dependencies]
28-
lightning = { version = "0.0.116-alpha1", path = "../lightning", features = ["_test_utils"] }
28+
lightning = { version = "0.0.116-rc1", path = "../lightning", features = ["_test_utils"] }
2929
tokio = { version = "1.14", features = [ "macros", "rt" ] }

lightning-custom-message/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "lightning-custom-message"
3-
version = "0.0.116-alpha1"
3+
version = "0.0.116-rc1"
44
authors = ["Jeffrey Czyz"]
55
license = "MIT OR Apache-2.0"
66
repository = "http://github.com/lightningdevkit/rust-lightning"
@@ -15,4 +15,4 @@ rustdoc-args = ["--cfg", "docsrs"]
1515

1616
[dependencies]
1717
bitcoin = "0.29.0"
18-
lightning = { version = "0.0.116-alpha1", path = "../lightning" }
18+
lightning = { version = "0.0.116-rc1", path = "../lightning" }

lightning-invoice/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "lightning-invoice"
33
description = "Data structures to parse and serialize BOLT11 lightning invoices"
4-
version = "0.24.0-alpha1"
4+
version = "0.24.0-rc1"
55
authors = ["Sebastian Geisler <sgeisler@wh2.tu-dresden.de>"]
66
documentation = "https://docs.rs/lightning-invoice/"
77
license = "MIT OR Apache-2.0"
@@ -21,7 +21,7 @@ std = ["bitcoin_hashes/std", "num-traits/std", "lightning/std", "bech32/std"]
2121

2222
[dependencies]
2323
bech32 = { version = "0.9.0", default-features = false }
24-
lightning = { version = "0.0.116-alpha1", path = "../lightning", default-features = false }
24+
lightning = { version = "0.0.116-rc1", path = "../lightning", default-features = false }
2525
secp256k1 = { version = "0.24.0", default-features = false, features = ["recovery", "alloc"] }
2626
num-traits = { version = "0.2.8", default-features = false }
2727
bitcoin_hashes = { version = "0.11", default-features = false }
@@ -30,6 +30,6 @@ serde = { version = "1.0.118", optional = true }
3030
bitcoin = { version = "0.29.0", default-features = false }
3131

3232
[dev-dependencies]
33-
lightning = { version = "0.0.116-alpha1", path = "../lightning", default-features = false, features = ["_test_utils"] }
33+
lightning = { version = "0.0.116-rc1", path = "../lightning", default-features = false, features = ["_test_utils"] }
3434
hex = "0.4"
3535
serde_json = { version = "1"}

lightning-net-tokio/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "lightning-net-tokio"
3-
version = "0.0.116-alpha1"
3+
version = "0.0.116-rc1"
44
authors = ["Matt Corallo"]
55
license = "MIT OR Apache-2.0"
66
repository = "https://github.com/lightningdevkit/rust-lightning/"
@@ -16,9 +16,9 @@ rustdoc-args = ["--cfg", "docsrs"]
1616

1717
[dependencies]
1818
bitcoin = "0.29.0"
19-
lightning = { version = "0.0.116-alpha1", path = "../lightning" }
19+
lightning = { version = "0.0.116-rc1", path = "../lightning" }
2020
tokio = { version = "1.0", features = [ "io-util", "macros", "rt", "sync", "net", "time" ] }
2121

2222
[dev-dependencies]
2323
tokio = { version = "1.14", features = [ "io-util", "macros", "rt", "rt-multi-thread", "sync", "net", "time" ] }
24-
lightning = { version = "0.0.116-alpha1", path = "../lightning", features = ["_test_utils"] }
24+
lightning = { version = "0.0.116-rc1", path = "../lightning", features = ["_test_utils"] }

lightning-persister/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "lightning-persister"
3-
version = "0.0.116-alpha1"
3+
version = "0.0.116-rc1"
44
authors = ["Valentine Wallace", "Matt Corallo"]
55
license = "MIT OR Apache-2.0"
66
repository = "https://github.com/lightningdevkit/rust-lightning/"
@@ -15,7 +15,7 @@ rustdoc-args = ["--cfg", "docsrs"]
1515

1616
[dependencies]
1717
bitcoin = "0.29.0"
18-
lightning = { version = "0.0.116-alpha1", path = "../lightning" }
18+
lightning = { version = "0.0.116-rc1", path = "../lightning" }
1919
libc = "0.2"
2020

2121
[target.'cfg(windows)'.dependencies]
@@ -25,4 +25,4 @@ winapi = { version = "0.3", features = ["winbase"] }
2525
criterion = { version = "0.4", optional = true, default-features = false }
2626

2727
[dev-dependencies]
28-
lightning = { version = "0.0.116-alpha1", path = "../lightning", features = ["_test_utils"] }
28+
lightning = { version = "0.0.116-rc1", path = "../lightning", features = ["_test_utils"] }

lightning-rapid-gossip-sync/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "lightning-rapid-gossip-sync"
3-
version = "0.0.116-alpha1"
3+
version = "0.0.116-rc1"
44
authors = ["Arik Sosman <git@arik.io>"]
55
license = "MIT OR Apache-2.0"
66
repository = "https://github.com/lightningdevkit/rust-lightning"
@@ -15,11 +15,11 @@ no-std = ["lightning/no-std"]
1515
std = ["lightning/std"]
1616

1717
[dependencies]
18-
lightning = { version = "0.0.116-alpha1", path = "../lightning", default-features = false }
18+
lightning = { version = "0.0.116-rc1", path = "../lightning", default-features = false }
1919
bitcoin = { version = "0.29.0", default-features = false }
2020

2121
[target.'cfg(ldk_bench)'.dependencies]
2222
criterion = { version = "0.4", optional = true, default-features = false }
2323

2424
[dev-dependencies]
25-
lightning = { version = "0.0.116-alpha1", path = "../lightning", features = ["_test_utils"] }
25+
lightning = { version = "0.0.116-rc1", path = "../lightning", features = ["_test_utils"] }

lightning-transaction-sync/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "lightning-transaction-sync"
3-
version = "0.0.116-alpha1"
3+
version = "0.0.116-rc1"
44
authors = ["Elias Rohrer"]
55
license = "MIT OR Apache-2.0"
66
repository = "http://github.com/lightningdevkit/rust-lightning"
@@ -21,15 +21,15 @@ esplora-blocking = ["esplora-client/blocking"]
2121
async-interface = []
2222

2323
[dependencies]
24-
lightning = { version = "0.0.116-alpha1", path = "../lightning", default-features = false }
24+
lightning = { version = "0.0.116-rc1", path = "../lightning", default-features = false }
2525
bitcoin = { version = "0.29.0", default-features = false }
2626
bdk-macros = "0.6"
2727
futures = { version = "0.3", optional = true }
2828
esplora-client = { version = "0.4", default-features = false, optional = true }
2929
reqwest = { version = "0.11", optional = true, default-features = false, features = ["json"] }
3030

3131
[dev-dependencies]
32-
lightning = { version = "0.0.116-alpha1", path = "../lightning", features = ["std"] }
32+
lightning = { version = "0.0.116-rc1", path = "../lightning", features = ["std"] }
3333
electrsd = { version = "0.22.0", features = ["legacy", "esplora_a33e97e1", "bitcoind_23_0"] }
3434
electrum-client = "0.12.0"
3535
tokio = { version = "1.14.0", features = ["full"] }

lightning/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "lightning"
3-
version = "0.0.116-alpha1"
3+
version = "0.0.116-rc1"
44
authors = ["Matt Corallo"]
55
license = "MIT OR Apache-2.0"
66
repository = "https://github.com/lightningdevkit/rust-lightning/"

pending_changelog/big-om-error.txt

Lines changed: 0 additions & 4 deletions
This file was deleted.

pending_changelog/blinded_pay_param_compat.txt

Lines changed: 0 additions & 3 deletions
This file was deleted.

pending_changelog/forward-underpaying-htlc.txt

Lines changed: 0 additions & 6 deletions
This file was deleted.

pending_changelog/no-legacy-payments.txt

Lines changed: 0 additions & 6 deletions
This file was deleted.

0 commit comments

Comments
 (0)