From a834a04e5c4eea2aa00650bd62ca7644b3f46c07 Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Mon, 24 Oct 2022 18:12:30 +0000 Subject: [PATCH 1/3] Do not export new anchors structs in `events.rs` without anchors This avoids adding unused, effectively-dummy public structs in `events.rs`. --- lightning/src/util/events.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lightning/src/util/events.rs b/lightning/src/util/events.rs index f4490d68a..37a146c3d 100644 --- a/lightning/src/util/events.rs +++ b/lightning/src/util/events.rs @@ -205,6 +205,7 @@ impl_writeable_tlv_based_enum_upgradable!(HTLCDestination, } ); +#[cfg(anchors)] /// A descriptor used to sign for a commitment transaction's anchor output. #[derive(Clone, Debug)] pub struct AnchorDescriptor { @@ -224,6 +225,7 @@ pub struct AnchorDescriptor { pub outpoint: OutPoint, } +#[cfg(anchors)] /// Represents the different types of transactions, originating from LDK, to be bumped. #[derive(Clone, Debug)] pub enum BumpTransactionEvent { From 35154a15c3cfca60f81a3b6e31d1f8fc488e4307 Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Mon, 24 Oct 2022 17:13:56 +0000 Subject: [PATCH 2/3] Bump crate versions to 0.0.112/invoice 0.20 --- lightning-background-processor/Cargo.toml | 12 ++++++------ lightning-block-sync/Cargo.toml | 4 ++-- lightning-invoice/Cargo.toml | 6 +++--- lightning-net-tokio/Cargo.toml | 4 ++-- lightning-persister/Cargo.toml | 6 +++--- lightning-rapid-gossip-sync/Cargo.toml | 6 +++--- lightning/Cargo.toml | 2 +- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/lightning-background-processor/Cargo.toml b/lightning-background-processor/Cargo.toml index 6dd06b57f..8f0fc1536 100644 --- a/lightning-background-processor/Cargo.toml +++ b/lightning-background-processor/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lightning-background-processor" -version = "0.0.111" +version = "0.0.112" authors = ["Valentine Wallace "] license = "MIT OR Apache-2.0" repository = "http://github.com/lightningdevkit/rust-lightning" @@ -18,11 +18,11 @@ futures = [ "futures-util" ] [dependencies] bitcoin = "0.29.0" -lightning = { version = "0.0.111", path = "../lightning", features = ["std"] } -lightning-rapid-gossip-sync = { version = "0.0.111", path = "../lightning-rapid-gossip-sync" } +lightning = { version = "0.0.112", path = "../lightning", features = ["std"] } +lightning-rapid-gossip-sync = { version = "0.0.112", path = "../lightning-rapid-gossip-sync" } futures-util = { version = "0.3", default-features = false, features = ["async-await-macro"], optional = true } [dev-dependencies] -lightning = { version = "0.0.111", path = "../lightning", features = ["_test_utils"] } -lightning-invoice = { version = "0.19.0", path = "../lightning-invoice" } -lightning-persister = { version = "0.0.111", path = "../lightning-persister" } +lightning = { version = "0.0.112", path = "../lightning", features = ["_test_utils"] } +lightning-invoice = { version = "0.20.0", path = "../lightning-invoice" } +lightning-persister = { version = "0.0.112", path = "../lightning-persister" } diff --git a/lightning-block-sync/Cargo.toml b/lightning-block-sync/Cargo.toml index afd2a7c30..220de8fa3 100644 --- a/lightning-block-sync/Cargo.toml +++ b/lightning-block-sync/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lightning-block-sync" -version = "0.0.111" +version = "0.0.112" authors = ["Jeffrey Czyz", "Matt Corallo"] license = "MIT OR Apache-2.0" repository = "http://github.com/lightningdevkit/rust-lightning" @@ -19,7 +19,7 @@ rpc-client = [ "serde", "serde_json", "chunked_transfer" ] [dependencies] bitcoin = "0.29.0" -lightning = { version = "0.0.111", path = "../lightning" } +lightning = { version = "0.0.112", path = "../lightning" } futures-util = { version = "0.3" } tokio = { version = "1.0", features = [ "io-util", "net", "time" ], optional = true } serde = { version = "1.0", features = ["derive"], optional = true } diff --git a/lightning-invoice/Cargo.toml b/lightning-invoice/Cargo.toml index 1cc7345b1..39ca3a1ba 100644 --- a/lightning-invoice/Cargo.toml +++ b/lightning-invoice/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "lightning-invoice" description = "Data structures to parse and serialize BOLT11 lightning invoices" -version = "0.19.0" +version = "0.20.0" authors = ["Sebastian Geisler "] documentation = "https://docs.rs/lightning-invoice/" license = "MIT OR Apache-2.0" @@ -21,7 +21,7 @@ std = ["bitcoin_hashes/std", "num-traits/std", "lightning/std", "bech32/std"] [dependencies] bech32 = { version = "0.9.0", default-features = false } -lightning = { version = "0.0.111", path = "../lightning", default-features = false } +lightning = { version = "0.0.112", path = "../lightning", default-features = false } secp256k1 = { version = "0.24.0", default-features = false, features = ["recovery", "alloc"] } num-traits = { version = "0.2.8", default-features = false } bitcoin_hashes = { version = "0.11", default-features = false } @@ -29,6 +29,6 @@ hashbrown = { version = "0.8", optional = true } serde = { version = "1.0.118", optional = true } [dev-dependencies] -lightning = { version = "0.0.111", path = "../lightning", default-features = false, features = ["_test_utils"] } +lightning = { version = "0.0.112", path = "../lightning", default-features = false, features = ["_test_utils"] } hex = "0.4" serde_json = { version = "1"} diff --git a/lightning-net-tokio/Cargo.toml b/lightning-net-tokio/Cargo.toml index b38f400c9..3767fe758 100644 --- a/lightning-net-tokio/Cargo.toml +++ b/lightning-net-tokio/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lightning-net-tokio" -version = "0.0.111" +version = "0.0.112" authors = ["Matt Corallo"] license = "MIT OR Apache-2.0" repository = "https://github.com/lightningdevkit/rust-lightning/" @@ -16,7 +16,7 @@ rustdoc-args = ["--cfg", "docsrs"] [dependencies] bitcoin = "0.29.0" -lightning = { version = "0.0.111", path = "../lightning" } +lightning = { version = "0.0.112", path = "../lightning" } tokio = { version = "1.0", features = [ "io-util", "macros", "rt", "sync", "net", "time" ] } [dev-dependencies] diff --git a/lightning-persister/Cargo.toml b/lightning-persister/Cargo.toml index 01c19a213..6b3518398 100644 --- a/lightning-persister/Cargo.toml +++ b/lightning-persister/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lightning-persister" -version = "0.0.111" +version = "0.0.112" authors = ["Valentine Wallace", "Matt Corallo"] license = "MIT OR Apache-2.0" repository = "https://github.com/lightningdevkit/rust-lightning/" @@ -18,11 +18,11 @@ _bench_unstable = ["lightning/_bench_unstable"] [dependencies] bitcoin = "0.29.0" -lightning = { version = "0.0.111", path = "../lightning" } +lightning = { version = "0.0.112", path = "../lightning" } libc = "0.2" [target.'cfg(windows)'.dependencies] winapi = { version = "0.3", features = ["winbase"] } [dev-dependencies] -lightning = { version = "0.0.111", path = "../lightning", features = ["_test_utils"] } +lightning = { version = "0.0.112", path = "../lightning", features = ["_test_utils"] } diff --git a/lightning-rapid-gossip-sync/Cargo.toml b/lightning-rapid-gossip-sync/Cargo.toml index 4dec0aa85..6d49d4550 100644 --- a/lightning-rapid-gossip-sync/Cargo.toml +++ b/lightning-rapid-gossip-sync/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lightning-rapid-gossip-sync" -version = "0.0.111" +version = "0.0.112" authors = ["Arik Sosman "] license = "MIT OR Apache-2.0" repository = "https://github.com/lightningdevkit/rust-lightning" @@ -16,8 +16,8 @@ std = ["lightning/std"] _bench_unstable = [] [dependencies] -lightning = { version = "0.0.111", path = "../lightning", default-features = false } +lightning = { version = "0.0.112", path = "../lightning", default-features = false } bitcoin = { version = "0.29.0", default-features = false } [dev-dependencies] -lightning = { version = "0.0.111", path = "../lightning", features = ["_test_utils"] } +lightning = { version = "0.0.112", path = "../lightning", features = ["_test_utils"] } diff --git a/lightning/Cargo.toml b/lightning/Cargo.toml index 98e90c417..543c674ec 100644 --- a/lightning/Cargo.toml +++ b/lightning/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lightning" -version = "0.0.111" +version = "0.0.112" authors = ["Matt Corallo"] license = "MIT OR Apache-2.0" repository = "https://github.com/lightningdevkit/rust-lightning/" From 9b77a8a78bee7bd190bd05a2a244c7cb1d8e8628 Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Mon, 24 Oct 2022 18:50:47 +0000 Subject: [PATCH 3/3] Add release notes for 0.0.112 --- CHANGELOG.md | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7736ce67e..5d9fdaa48 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,64 @@ +# 0.0.112 - XXX, 2022 - "XXX" + +## API Updates + * `Result<(), ChannelMonitorUpdateErr>` return values have been replaced with + a `ChannelMonitorUpdateStatus` trinary enum. This better denotes that + `ChannelMonitorUpdateStatus::InProgress` is not an error, but asynchronous + persistence of a monitor update. Note that asynchronous persistence still + has some edge cases and is not yet recommended for production (#1106). + * `ChannelMonitor` persistence failure no longer automatically broadcasts the + latest commitment transaction. See the + `ChannelMonitorUpdateStatus::PermanentFailure` docs for more info (#1106). + * `*Features::known` has been replaced with individual + `*MessageHandler::provided_*_features` methods (#1707). + * `OnionMessenger` now takes a `CustomOnionMessageHandler` implementation, + allowing you to send and receive custom onion messages (#1748). + * `ProbabilisticScorer` now tracks the historical distribution of liquidity + estimates for channels. See new `historical_*` parameters in + `ProbabilisticScoringParameters` for more details (#1625). + * `lightning-block-sync`'s `BlockSource` trait now supports BIP 157/158 + filtering clients by returning only header data for some blocks (#1706). + * `lightning-invoice`'s `Router` trait now accepts an `InFlightHtlcs` to + ensure we do not over-use a remote channel's funds during routing (#1694). + Note that this was previously backported to 0.0.111 for bindings users. + * `NetworkGraph::remove_stale_channels` has been renamed + `NetworkGraph::remove_stale_channels_and_tracking` as `NetworkGraph` now + refuses to re-add nodes and channels that were recently removed (#1649). + * The `lightning-rapid-gossip-sync` crate now supports `no-std` (#1708). + * The default `ProbabilisticScoringParameters::liquidity_offset_half_life` has + been increased to six hours from one (#1754). + * All commitment transaction building logic for anchor outputs now assumes the + no-HTLC-tx-fee variant (#1685). + * A number of missing `Eq` implementations were added (#1763). + +## Bug Fixes + * `lightning-background-processor` now builds without error with the `futures` + feature (#1744). + * `ChannelManager::get_persistable_update_future`'s returned `Future` has been + corrected to not fail to be awoken in some cases (#1758). + * Asynchronously performing the initial `ChannelMonitor` persistence is now + safe (#1678). + * Redundantly applying rapid gossip sync updates no longer `Err`s (#1764). + * Nodes which inform us via payment failures that they should no longer be + used are now removed from the network graph. Some lnd nodes spuriously + generate this error and may remove themselves from our graph (#1649). + +In total, this release features 134 files changed, 6598 insertions, 4370 +deletions in 109 commits from 13 authors, in alphabetical order: + * Duncan Dean + * Elias Rohrer + * Gabriel Comte + * Gursharan Singh + * Jeffrey Czyz + * Jurvis Tan + * Matt Corallo + * Max Fang + * Paul Miller + * Valentine Wallace + * Viktor Tigerström + * Wilmer Paulino + * acid-bit + # 0.0.111 - Sep 12, 2022 - "Saturated with Messages" ## API Updates