Merge pull request #2427 from TheBlueMatt/2023-07-cut-116 v0.0.116
authorMatt Corallo <649246+TheBlueMatt@users.noreply.github.com>
Fri, 21 Jul 2023 23:15:05 +0000 (23:15 +0000)
committerGitHub <noreply@github.com>
Fri, 21 Jul 2023 23:15:05 +0000 (23:15 +0000)
Release 0.0.116

CHANGELOG.md
lightning-background-processor/Cargo.toml
lightning-block-sync/Cargo.toml
lightning-custom-message/Cargo.toml
lightning-invoice/Cargo.toml
lightning-net-tokio/Cargo.toml
lightning-persister/Cargo.toml
lightning-rapid-gossip-sync/Cargo.toml
lightning-transaction-sync/Cargo.toml
lightning/Cargo.toml

index 7243b520ba655a5087cd58dc1ae5781c3ad92a10..5eff3eb09647167538f6894f522cc774e33194d5 100644 (file)
@@ -1,4 +1,4 @@
-# 0.0.116rc1 - Jul 14, 2023 - "Anchoring the Roadmap"
+# 0.0.116 - Jul 21, 2023 - "Anchoring the Roadmap"
 
 ## API Updates
 
@@ -6,9 +6,12 @@
    considered beta (#2367). Users who set
    `ChannelHandshakeConfig::negotiate_anchors_zero_fee_htlc_tx` should be
    prepared to handle the new `Event::BumpTransaction`, e.g. via the
-   `BumpTransactionEventHandler` (#2089). Users who set the same and wish to
-   accept inbound anchor-based channels must do so manually by setting
-   `UserConfig::manually_accept_inbound_channels` (#2368).
+   `BumpTransactionEventHandler` (#2089). Note that in order to do so you must
+   ensure you always have a reserve of available unspent on-chain funds to use
+   for CPFP. LDK currently makes no attempt to ensure this for you.
+ * Users who set `ChannelHandshakeConfig::negotiate_anchors_zero_fee_htlc_tx`
+   and wish to accept inbound anchor-based channels must do so manually by
+   setting `UserConfig::manually_accept_inbound_channels` (#2368).
  * Support forwarding and accepting HTLCs with a reduced amount has been added,
    to support LSPs skimming a fee on the penultimate hop (#2319).
  * BOLT11 and BOLT12 Invoice and related types have been renamed to include a
  * `RouteHintHop::htlc_maximum_msat` is now enforced. Note that BOLT11 route
    hints do not have such a field so this code is generally unused (#2305).
 
+## Security
+0.0.116 fixes a denial-of-service vulnerability which is reachable from
+untrusted input from channel counterparties if a 0-conf channel exists with
+that counterparty.
+ * A premature `announcement_signatures` message from a peer prior to a 0-conf
+   channel's funding transaction receiving any confirmations would panic in any
+   version since 0-conf channels were introduced (#2439).
+
+In total, this release features 142 files changed, 21033 insertions, 11066
+deletions in 327 commits from 21 authors, in alphabetical order:
+ * Alec Chen
+ * Andrei
+ * Antoine Riard
+ * Arik Sosman
+ * Chad Upjohn
+ * Daniel Granhão
+ * Duncan Dean
+ * Elias Rohrer
+ * Fred Walker
+ * Gleb Naumenko
+ * Jeffrey Czyz
+ * Martin Habovstiak
+ * Matt Corallo
+ * Tony Giorgio
+ * Valentine Wallace
+ * Vladimir Fomene
+ * Willem Van Lint
+ * Wilmer Paulino
+ * benthecarman
+ * ff
+ * henghonglee
+
+
 # 0.0.115 - Apr 24, 2023 - "Rebroadcast the Bugfixes"
 
 ## API Updates
index 7b746307012d08dad277a01083fef248a61db51d..ac2524f84fed62ff964987abd3195c422af2f203 100644 (file)
@@ -1,6 +1,6 @@
 [package]
 name = "lightning-background-processor"
-version = "0.0.116-rc1"
+version = "0.0.116"
 authors = ["Valentine Wallace <vwallace@protonmail.com>"]
 license = "MIT OR Apache-2.0"
 repository = "http://github.com/lightningdevkit/rust-lightning"
@@ -15,17 +15,18 @@ rustdoc-args = ["--cfg", "docsrs"]
 
 [features]
 futures = [ ]
-std = ["lightning/std", "lightning-rapid-gossip-sync/std"]
+std = ["bitcoin/std", "lightning/std", "lightning-rapid-gossip-sync/std"]
+no-std = ["bitcoin/no-std", "lightning/no-std", "lightning-rapid-gossip-sync/no-std"]
 
 default = ["std"]
 
 [dependencies]
 bitcoin = { version = "0.29.0", default-features = false }
-lightning = { version = "0.0.116-rc1", path = "../lightning", default-features = false }
-lightning-rapid-gossip-sync = { version = "0.0.116-rc1", path = "../lightning-rapid-gossip-sync", default-features = false }
+lightning = { version = "0.0.116", path = "../lightning", default-features = false }
+lightning-rapid-gossip-sync = { version = "0.0.116", path = "../lightning-rapid-gossip-sync", default-features = false }
 
 [dev-dependencies]
 tokio = { version = "1.14", features = [ "macros", "rt", "rt-multi-thread", "sync", "time" ] }
-lightning = { version = "0.0.116-rc1", path = "../lightning", features = ["_test_utils"] }
-lightning-invoice = { version = "0.24.0-rc1", path = "../lightning-invoice" }
-lightning-persister = { version = "0.0.116-rc1", path = "../lightning-persister" }
+lightning = { version = "0.0.116", path = "../lightning", features = ["_test_utils"] }
+lightning-invoice = { version = "0.24.0", path = "../lightning-invoice" }
+lightning-persister = { version = "0.0.116", path = "../lightning-persister" }
index b2d69328931351c3340af05771860068b8d7c588..933215ea914365378f1df759d353533f2484d963 100644 (file)
@@ -1,6 +1,6 @@
 [package]
 name = "lightning-block-sync"
-version = "0.0.116-rc1"
+version = "0.0.116"
 authors = ["Jeffrey Czyz", "Matt Corallo"]
 license = "MIT OR Apache-2.0"
 repository = "http://github.com/lightningdevkit/rust-lightning"
@@ -19,11 +19,11 @@ rpc-client = [ "serde_json", "chunked_transfer" ]
 
 [dependencies]
 bitcoin = "0.29.0"
-lightning = { version = "0.0.116-rc1", path = "../lightning" }
+lightning = { version = "0.0.116", path = "../lightning" }
 tokio = { version = "1.0", features = [ "io-util", "net", "time" ], optional = true }
 serde_json = { version = "1.0", optional = true }
 chunked_transfer = { version = "1.4", optional = true }
 
 [dev-dependencies]
-lightning = { version = "0.0.116-rc1", path = "../lightning", features = ["_test_utils"] }
+lightning = { version = "0.0.116", path = "../lightning", features = ["_test_utils"] }
 tokio = { version = "1.14", features = [ "macros", "rt" ] }
index 8c372960fcd9213eced137af6fe9b83a39f3e278..e86360d2b3c18fe50028e8051da2681ed4227da7 100644 (file)
@@ -1,6 +1,6 @@
 [package]
 name = "lightning-custom-message"
-version = "0.0.116-rc1"
+version = "0.0.116"
 authors = ["Jeffrey Czyz"]
 license = "MIT OR Apache-2.0"
 repository = "http://github.com/lightningdevkit/rust-lightning"
@@ -15,4 +15,4 @@ rustdoc-args = ["--cfg", "docsrs"]
 
 [dependencies]
 bitcoin = "0.29.0"
-lightning = { version = "0.0.116-rc1", path = "../lightning" }
+lightning = { version = "0.0.116", path = "../lightning" }
index 0d868cea13e0fdaf2f76ee6c1d8af6f187ee4071..72e0d8e04ea15838e748e2ac8f1c916fb04da018 100644 (file)
@@ -1,7 +1,7 @@
 [package]
 name = "lightning-invoice"
 description = "Data structures to parse and serialize BOLT11 lightning invoices"
-version = "0.24.0-rc1"
+version = "0.24.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.116-rc1", path = "../lightning", default-features = false }
+lightning = { version = "0.0.116", 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 }
@@ -30,6 +30,6 @@ serde = { version = "1.0.118", optional = true }
 bitcoin = { version = "0.29.0", default-features = false }
 
 [dev-dependencies]
-lightning = { version = "0.0.116-rc1", path = "../lightning", default-features = false, features = ["_test_utils"] }
+lightning = { version = "0.0.116", path = "../lightning", default-features = false, features = ["_test_utils"] }
 hex = "0.4"
 serde_json = { version = "1"}
index 0e5b285993b47966f2b0e69817549fc51672a4a1..c2befdae51cbf5d44d22014cb364c4fde39a6661 100644 (file)
@@ -1,6 +1,6 @@
 [package]
 name = "lightning-net-tokio"
-version = "0.0.116-rc1"
+version = "0.0.116"
 authors = ["Matt Corallo"]
 license = "MIT OR Apache-2.0"
 repository = "https://github.com/lightningdevkit/rust-lightning/"
@@ -16,9 +16,9 @@ rustdoc-args = ["--cfg", "docsrs"]
 
 [dependencies]
 bitcoin = "0.29.0"
-lightning = { version = "0.0.116-rc1", path = "../lightning" }
+lightning = { version = "0.0.116", path = "../lightning" }
 tokio = { version = "1.0", features = [ "io-util", "rt", "sync", "net", "time" ] }
 
 [dev-dependencies]
 tokio = { version = "1.14", features = [ "io-util", "macros", "rt", "rt-multi-thread", "sync", "net", "time" ] }
-lightning = { version = "0.0.116-rc1", path = "../lightning", features = ["_test_utils"] }
+lightning = { version = "0.0.116", path = "../lightning", features = ["_test_utils"] }
index a10d32f90d8cf104c2cc3024689a5be224df9568..35bddc0774604fcd653e084946d06477d01ad239 100644 (file)
@@ -1,6 +1,6 @@
 [package]
 name = "lightning-persister"
-version = "0.0.116-rc1"
+version = "0.0.116"
 authors = ["Valentine Wallace", "Matt Corallo"]
 license = "MIT OR Apache-2.0"
 repository = "https://github.com/lightningdevkit/rust-lightning/"
@@ -15,7 +15,7 @@ rustdoc-args = ["--cfg", "docsrs"]
 
 [dependencies]
 bitcoin = "0.29.0"
-lightning = { version = "0.0.116-rc1", path = "../lightning" }
+lightning = { version = "0.0.116", path = "../lightning" }
 libc = "0.2"
 
 [target.'cfg(windows)'.dependencies]
@@ -25,4 +25,4 @@ winapi = { version = "0.3", features = ["winbase"] }
 criterion = { version = "0.4", optional = true, default-features = false }
 
 [dev-dependencies]
-lightning = { version = "0.0.116-rc1", path = "../lightning", features = ["_test_utils"] }
+lightning = { version = "0.0.116", path = "../lightning", features = ["_test_utils"] }
index cb4922fa7392397d2aa1be4e8c56c669a4f02b7f..a98bf7ee6cb5f76fe2f2e98064f4ff74a104bd00 100644 (file)
@@ -1,6 +1,6 @@
 [package]
 name = "lightning-rapid-gossip-sync"
-version = "0.0.116-rc1"
+version = "0.0.116"
 authors = ["Arik Sosman <git@arik.io>"]
 license = "MIT OR Apache-2.0"
 repository = "https://github.com/lightningdevkit/rust-lightning"
@@ -15,11 +15,11 @@ no-std = ["lightning/no-std"]
 std = ["lightning/std"]
 
 [dependencies]
-lightning = { version = "0.0.116-rc1", path = "../lightning", default-features = false }
+lightning = { version = "0.0.116", path = "../lightning", default-features = false }
 bitcoin = { version = "0.29.0", default-features = false }
 
 [target.'cfg(ldk_bench)'.dependencies]
 criterion = { version = "0.4", optional = true, default-features = false }
 
 [dev-dependencies]
-lightning = { version = "0.0.116-rc1", path = "../lightning", features = ["_test_utils"] }
+lightning = { version = "0.0.116", path = "../lightning", features = ["_test_utils"] }
index 2db3fc69747c4204b5d3bb6995ec4db161461dba..3c1b6b5fe482f6df44b8afa6b3a8cba4cbcd5cbd 100644 (file)
@@ -1,6 +1,6 @@
 [package]
 name = "lightning-transaction-sync"
-version = "0.0.116-rc1"
+version = "0.0.116"
 authors = ["Elias Rohrer"]
 license = "MIT OR Apache-2.0"
 repository = "http://github.com/lightningdevkit/rust-lightning"
@@ -21,7 +21,7 @@ esplora-blocking = ["esplora-client/blocking"]
 async-interface = []
 
 [dependencies]
-lightning = { version = "0.0.116-rc1", path = "../lightning", default-features = false }
+lightning = { version = "0.0.116", path = "../lightning", default-features = false }
 bitcoin = { version = "0.29.0", default-features = false }
 bdk-macros = "0.6"
 futures = { version = "0.3", optional = true }
@@ -29,7 +29,7 @@ esplora-client = { version = "0.4", default-features = false, optional = true }
 reqwest = { version = "0.11", optional = true, default-features = false, features = ["json"] }
 
 [dev-dependencies]
-lightning = { version = "0.0.116-rc1", path = "../lightning", features = ["std"] }
+lightning = { version = "0.0.116", path = "../lightning", features = ["std"] }
 electrsd = { version = "0.22.0", features = ["legacy", "esplora_a33e97e1", "bitcoind_23_0"] }
 electrum-client = "0.12.0"
 tokio = { version = "1.14.0", features = ["full"] }
index 09a76109aeba829f334ed7c16238ec8b3ce71e4b..ec3ccf763c6085426befd2bc1869df9dfb866127 100644 (file)
@@ -1,6 +1,6 @@
 [package]
 name = "lightning"
-version = "0.0.116-rc1"
+version = "0.0.116"
 authors = ["Matt Corallo"]
 license = "MIT OR Apache-2.0"
 repository = "https://github.com/lightningdevkit/rust-lightning/"