Merge pull request #1798 from TheBlueMatt/2022-10-112
authorMatt Corallo <649246+TheBlueMatt@users.noreply.github.com>
Tue, 25 Oct 2022 18:57:01 +0000 (18:57 +0000)
committerGitHub <noreply@github.com>
Tue, 25 Oct 2022 18:57:01 +0000 (18:57 +0000)
Cut 0.0.112

CHANGELOG.md
lightning-background-processor/Cargo.toml
lightning-block-sync/Cargo.toml
lightning-invoice/Cargo.toml
lightning-net-tokio/Cargo.toml
lightning-persister/Cargo.toml
lightning-rapid-gossip-sync/Cargo.toml
lightning/Cargo.toml
lightning/src/util/events.rs

index 7736ce67ec6644c0aedd11ef0eed2d91427d9da0..5d9fdaa480cca3b23345ffe0d8a9d5696e377991 100644 (file)
@@ -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
index 6dd06b57f6c09fd582f76db2615f995e5e375626..8f0fc15363a436de69cdd82d6e0f60ca42b20f74 100644 (file)
@@ -1,6 +1,6 @@
 [package]
 name = "lightning-background-processor"
-version = "0.0.111"
+version = "0.0.112"
 authors = ["Valentine Wallace <vwallace@protonmail.com>"]
 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" }
index afd2a7c300ee6388fa9c6a2b7263e34aeebc0aa3..220de8fa38efde3d95973b6afd49c59b0f66ecad 100644 (file)
@@ -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 }
index 1cc7345b1f92e51639a2f39cb42d9dbaa3d5725a..39ca3a1badcb0e9333453e8b2f3319108ca401ab 100644 (file)
@@ -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 <sgeisler@wh2.tu-dresden.de>"]
 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"}
index b38f400c982ad1aa5ade5999b321c12b8d6b580e..3767fe758b34d0c8b59099a183685adfc23d4034 100644 (file)
@@ -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]
index 01c19a213e019e3d9e9ca9a25986f448a04749c0..6b3518398bb022fc0690a9aa595c6ccf907a02b0 100644 (file)
@@ -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"] }
index 4dec0aa85784ea318c7c5e591a21a62f05668a83..6d49d4550955d9b77cb4ad12c345afff39fbaf1d 100644 (file)
@@ -1,6 +1,6 @@
 [package]
 name = "lightning-rapid-gossip-sync"
-version = "0.0.111"
+version = "0.0.112"
 authors = ["Arik Sosman <git@arik.io>"]
 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"] }
index 98e90c41748315cae6b7c2939642b86664070100..543c674ec35cc5e0969a891a8ce100b61dff07a7 100644 (file)
@@ -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/"
index f4490d68aa9325ee8ab2c175da9c2f2fc92f7a6d..37a146c3dacb16420f5c3c2138ea3629d7fc6833 100644 (file)
@@ -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 {