Merge pull request #2834 from TheBlueMatt/2024-01-cut-120

Cut 0.0.120
This commit is contained in:
Matt Corallo 2024-01-17 23:02:24 +00:00 committed by GitHub
commit 5592378de2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 75 additions and 27 deletions

View file

@ -1,3 +1,51 @@
# 0.0.120 - Jan 17, 2024 - "Blinded Fuzzers"
## API Updates
* The `PeerManager` bound on `UtxoLookup` was removed entirely. This enables
use of `UtxoLookup` in cases broken in 0.0.119 by #2773 (#2822).
* LDK now exposes and fully implements the route blinding feature (#2812).
* The `lightning-transaction-sync` crate no longer relies on system time
without the `time` feature (#2799, #2817).
* `lightning::onion_message`'s module layout has changed (#2821).
* `Event::ChannelClosed` now includes the `channel_funding_txo` (#2800).
* `CandidateRouteHop` variants were destructured into individual structs,
hiding some fields which were not generally consumable (#2802).
## Bug Fixes
* Fixed a rare issue where `lightning-net-tokio` may not fully flush its send
buffer, leading to connection hangs (#2832).
* Fixed a panic which may occur when connecting to a peer if we opened a second
channel with that peer while they were disconnected (#2808).
* Retries for a payment which previously failed in a blinded path will now
always use an alternative blinded path (#2818).
* `Feature`'s `Eq` and `Hash` implementation now ignore dummy bytes (#2808).
* Some missing `DiscardFunding` or `ChannelClosed` events are now generated in
rare funding-related failures (#2809).
* Fixed a privacy issue in blinded path generation where the real
`cltv_expiry_delta` would be exposed to senders (#2831).
## Security
0.0.120 fixes a denial-of-service vulnerability which is reachable from
untrusted input from peers if the `UserConfig::manually_accept_inbound_channels`
option is enabled.
* A peer that sent an `open_channel` message with the `channel_type` field
unfilled would trigger a reachable `unwrap` since LDK 0.0.117 (#2808).
* In protocols where a funding output is shared with our counterparty before
it is given to LDK, a malicious peer could have caused a reachable panic
by reusing the same funding info in (#2809).
In total, this release features 67 files changed, 3016 insertions, 2473
deletions in 79 commits from 9 authors, in alphabetical order:
* Elias Rohrer
* Jeffrey Czyz
* José A.P
* Matt Corallo
* Tibo-lg
* Valentine Wallace
* benthecarman
* optout
* shuoer86
# 0.0.119 - Dec 15, 2023 - "Spring Cleaning for Christmas" # 0.0.119 - Dec 15, 2023 - "Spring Cleaning for Christmas"
## API Updates ## API Updates

View file

@ -1,6 +1,6 @@
[package] [package]
name = "lightning-background-processor" name = "lightning-background-processor"
version = "0.0.119" version = "0.0.120"
authors = ["Valentine Wallace <vwallace@protonmail.com>"] authors = ["Valentine Wallace <vwallace@protonmail.com>"]
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
repository = "https://github.com/lightningdevkit/rust-lightning" repository = "https://github.com/lightningdevkit/rust-lightning"
@ -22,11 +22,11 @@ default = ["std"]
[dependencies] [dependencies]
bitcoin = { version = "0.30.2", default-features = false } bitcoin = { version = "0.30.2", default-features = false }
lightning = { version = "0.0.119", path = "../lightning", default-features = false } lightning = { version = "0.0.120", path = "../lightning", default-features = false }
lightning-rapid-gossip-sync = { version = "0.0.119", path = "../lightning-rapid-gossip-sync", default-features = false } lightning-rapid-gossip-sync = { version = "0.0.120", path = "../lightning-rapid-gossip-sync", default-features = false }
[dev-dependencies] [dev-dependencies]
tokio = { version = "1.35", features = [ "macros", "rt", "rt-multi-thread", "sync", "time" ] } tokio = { version = "1.35", features = [ "macros", "rt", "rt-multi-thread", "sync", "time" ] }
lightning = { version = "0.0.119", path = "../lightning", features = ["_test_utils"] } lightning = { version = "0.0.120", path = "../lightning", features = ["_test_utils"] }
lightning-invoice = { version = "0.27.0", path = "../lightning-invoice" } lightning-invoice = { version = "0.28.0", path = "../lightning-invoice" }
lightning-persister = { version = "0.0.119", path = "../lightning-persister" } lightning-persister = { version = "0.0.120", path = "../lightning-persister" }

View file

@ -1,6 +1,6 @@
[package] [package]
name = "lightning-block-sync" name = "lightning-block-sync"
version = "0.0.119" version = "0.0.120"
authors = ["Jeffrey Czyz", "Matt Corallo"] authors = ["Jeffrey Czyz", "Matt Corallo"]
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
repository = "https://github.com/lightningdevkit/rust-lightning" repository = "https://github.com/lightningdevkit/rust-lightning"
@ -20,11 +20,11 @@ rpc-client = [ "serde_json", "chunked_transfer" ]
[dependencies] [dependencies]
bitcoin = "0.30.2" bitcoin = "0.30.2"
hex = { package = "hex-conservative", version = "0.1.1", default-features = false } hex = { package = "hex-conservative", version = "0.1.1", default-features = false }
lightning = { version = "0.0.119", path = "../lightning" } lightning = { version = "0.0.120", path = "../lightning" }
tokio = { version = "1.35", features = [ "io-util", "net", "time", "rt" ], optional = true } tokio = { version = "1.35", features = [ "io-util", "net", "time", "rt" ], optional = true }
serde_json = { version = "1.0", optional = true } serde_json = { version = "1.0", optional = true }
chunked_transfer = { version = "1.4", optional = true } chunked_transfer = { version = "1.4", optional = true }
[dev-dependencies] [dev-dependencies]
lightning = { version = "0.0.119", path = "../lightning", features = ["_test_utils"] } lightning = { version = "0.0.120", path = "../lightning", features = ["_test_utils"] }
tokio = { version = "1.35", features = [ "macros", "rt" ] } tokio = { version = "1.35", features = [ "macros", "rt" ] }

View file

@ -1,6 +1,6 @@
[package] [package]
name = "lightning-custom-message" name = "lightning-custom-message"
version = "0.0.119" version = "0.0.120"
authors = ["Jeffrey Czyz"] authors = ["Jeffrey Czyz"]
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
repository = "https://github.com/lightningdevkit/rust-lightning" repository = "https://github.com/lightningdevkit/rust-lightning"
@ -15,4 +15,4 @@ rustdoc-args = ["--cfg", "docsrs"]
[dependencies] [dependencies]
bitcoin = "0.30.2" bitcoin = "0.30.2"
lightning = { version = "0.0.119", path = "../lightning" } lightning = { version = "0.0.120", path = "../lightning" }

View file

@ -1,7 +1,7 @@
[package] [package]
name = "lightning-invoice" name = "lightning-invoice"
description = "Data structures to parse and serialize BOLT11 lightning invoices" description = "Data structures to parse and serialize BOLT11 lightning invoices"
version = "0.27.0" version = "0.28.0"
authors = ["Sebastian Geisler <sgeisler@wh2.tu-dresden.de>"] authors = ["Sebastian Geisler <sgeisler@wh2.tu-dresden.de>"]
documentation = "https://docs.rs/lightning-invoice/" documentation = "https://docs.rs/lightning-invoice/"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
@ -21,7 +21,7 @@ std = ["bitcoin/std", "num-traits/std", "lightning/std", "bech32/std"]
[dependencies] [dependencies]
bech32 = { version = "0.9.0", default-features = false } bech32 = { version = "0.9.0", default-features = false }
lightning = { version = "0.0.119", path = "../lightning", default-features = false } lightning = { version = "0.0.120", path = "../lightning", default-features = false }
secp256k1 = { version = "0.27.0", default-features = false, features = ["recovery", "alloc"] } secp256k1 = { version = "0.27.0", default-features = false, features = ["recovery", "alloc"] }
num-traits = { version = "0.2.8", default-features = false } num-traits = { version = "0.2.8", default-features = false }
hashbrown = { version = "0.8", optional = true } hashbrown = { version = "0.8", optional = true }
@ -29,6 +29,6 @@ serde = { version = "1.0.118", optional = true }
bitcoin = { version = "0.30.2", default-features = false } bitcoin = { version = "0.30.2", default-features = false }
[dev-dependencies] [dev-dependencies]
lightning = { version = "0.0.119", path = "../lightning", default-features = false, features = ["_test_utils"] } lightning = { version = "0.0.120", path = "../lightning", default-features = false, features = ["_test_utils"] }
hex = { package = "hex-conservative", version = "0.1.1", default-features = false } hex = { package = "hex-conservative", version = "0.1.1", default-features = false }
serde_json = { version = "1"} serde_json = { version = "1"}

View file

@ -1,6 +1,6 @@
[package] [package]
name = "lightning-net-tokio" name = "lightning-net-tokio"
version = "0.0.119" version = "0.0.120"
authors = ["Matt Corallo"] authors = ["Matt Corallo"]
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
repository = "https://github.com/lightningdevkit/rust-lightning/" repository = "https://github.com/lightningdevkit/rust-lightning/"
@ -16,9 +16,9 @@ rustdoc-args = ["--cfg", "docsrs"]
[dependencies] [dependencies]
bitcoin = "0.30.2" bitcoin = "0.30.2"
lightning = { version = "0.0.119", path = "../lightning" } lightning = { version = "0.0.120", path = "../lightning" }
tokio = { version = "1.35", features = [ "rt", "sync", "net", "time" ] } tokio = { version = "1.35", features = [ "rt", "sync", "net", "time" ] }
[dev-dependencies] [dev-dependencies]
tokio = { version = "1.35", features = [ "macros", "rt", "rt-multi-thread", "sync", "net", "time" ] } tokio = { version = "1.35", features = [ "macros", "rt", "rt-multi-thread", "sync", "net", "time" ] }
lightning = { version = "0.0.119", path = "../lightning", features = ["_test_utils"] } lightning = { version = "0.0.120", path = "../lightning", features = ["_test_utils"] }

View file

@ -1,6 +1,6 @@
[package] [package]
name = "lightning-persister" name = "lightning-persister"
version = "0.0.119" version = "0.0.120"
authors = ["Valentine Wallace", "Matt Corallo"] authors = ["Valentine Wallace", "Matt Corallo"]
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
repository = "https://github.com/lightningdevkit/rust-lightning" repository = "https://github.com/lightningdevkit/rust-lightning"
@ -15,7 +15,7 @@ rustdoc-args = ["--cfg", "docsrs"]
[dependencies] [dependencies]
bitcoin = "0.30.2" bitcoin = "0.30.2"
lightning = { version = "0.0.119", path = "../lightning" } lightning = { version = "0.0.120", path = "../lightning" }
[target.'cfg(windows)'.dependencies] [target.'cfg(windows)'.dependencies]
windows-sys = { version = "0.48.0", default-features = false, features = ["Win32_Storage_FileSystem", "Win32_Foundation"] } windows-sys = { version = "0.48.0", default-features = false, features = ["Win32_Storage_FileSystem", "Win32_Foundation"] }
@ -24,5 +24,5 @@ windows-sys = { version = "0.48.0", default-features = false, features = ["Win32
criterion = { version = "0.4", optional = true, default-features = false } criterion = { version = "0.4", optional = true, default-features = false }
[dev-dependencies] [dev-dependencies]
lightning = { version = "0.0.119", path = "../lightning", features = ["_test_utils"] } lightning = { version = "0.0.120", path = "../lightning", features = ["_test_utils"] }
bitcoin = { version = "0.30.2", default-features = false } bitcoin = { version = "0.30.2", default-features = false }

View file

@ -1,6 +1,6 @@
[package] [package]
name = "lightning-rapid-gossip-sync" name = "lightning-rapid-gossip-sync"
version = "0.0.119" version = "0.0.120"
authors = ["Arik Sosman <git@arik.io>"] authors = ["Arik Sosman <git@arik.io>"]
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
repository = "https://github.com/lightningdevkit/rust-lightning" repository = "https://github.com/lightningdevkit/rust-lightning"
@ -15,11 +15,11 @@ no-std = ["lightning/no-std"]
std = ["lightning/std"] std = ["lightning/std"]
[dependencies] [dependencies]
lightning = { version = "0.0.119", path = "../lightning", default-features = false } lightning = { version = "0.0.120", path = "../lightning", default-features = false }
bitcoin = { version = "0.30.2", default-features = false } bitcoin = { version = "0.30.2", default-features = false }
[target.'cfg(ldk_bench)'.dependencies] [target.'cfg(ldk_bench)'.dependencies]
criterion = { version = "0.4", optional = true, default-features = false } criterion = { version = "0.4", optional = true, default-features = false }
[dev-dependencies] [dev-dependencies]
lightning = { version = "0.0.119", path = "../lightning", features = ["_test_utils"] } lightning = { version = "0.0.120", path = "../lightning", features = ["_test_utils"] }

View file

@ -1,6 +1,6 @@
[package] [package]
name = "lightning-transaction-sync" name = "lightning-transaction-sync"
version = "0.0.119" version = "0.0.120"
authors = ["Elias Rohrer"] authors = ["Elias Rohrer"]
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
repository = "https://github.com/lightningdevkit/rust-lightning" repository = "https://github.com/lightningdevkit/rust-lightning"
@ -23,7 +23,7 @@ electrum = ["electrum-client"]
async-interface = [] async-interface = []
[dependencies] [dependencies]
lightning = { version = "0.0.119", path = "../lightning", default-features = false, features = ["std"] } lightning = { version = "0.0.120", path = "../lightning", default-features = false, features = ["std"] }
bitcoin = { version = "0.30.2", default-features = false } bitcoin = { version = "0.30.2", default-features = false }
bdk-macros = "0.6" bdk-macros = "0.6"
futures = { version = "0.3", optional = true } futures = { version = "0.3", optional = true }
@ -31,7 +31,7 @@ esplora-client = { version = "0.6", default-features = false, optional = true }
electrum-client = { version = "0.18.0", optional = true } electrum-client = { version = "0.18.0", optional = true }
[dev-dependencies] [dev-dependencies]
lightning = { version = "0.0.119", path = "../lightning", default-features = false, features = ["std", "_test_utils"] } lightning = { version = "0.0.120", path = "../lightning", default-features = false, features = ["std", "_test_utils"] }
tokio = { version = "1.35.0", features = ["full"] } tokio = { version = "1.35.0", features = ["full"] }
[target.'cfg(not(no_download))'.dev-dependencies] [target.'cfg(not(no_download))'.dev-dependencies]

View file

@ -1,6 +1,6 @@
[package] [package]
name = "lightning" name = "lightning"
version = "0.0.119" version = "0.0.120"
authors = ["Matt Corallo"] authors = ["Matt Corallo"]
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
repository = "https://github.com/lightningdevkit/rust-lightning/" repository = "https://github.com/lightningdevkit/rust-lightning/"