Skip to content

Commit

Permalink
Merge pull request #2678 from TheBlueMatt/2023-10-0.0.118
Browse files Browse the repository at this point in the history
Cut 0.0.118
  • Loading branch information
TheBlueMatt committed Oct 24, 2023
2 parents d0795d8 + b664875 commit d2242f6
Show file tree
Hide file tree
Showing 12 changed files with 118 additions and 34 deletions.
91 changes: 91 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,94 @@
# 0.0.118 - Oct 23, 2023 - "Just the Twelve Sinks"

## API Updates
* BOLT12 sending and receiving is now supported as an alpha feature. You may
run into unexpected issues and will need to have a direct connection with
the offer's blinded path introduction points as messages are not yet routed.
We are seeking feedback from early testers (#2578, #2039).
* `ConfirmationTarget` has been rewritten to provide information about the
specific use LDK needs the feerate estimate for, rather than the generic
low-, medium-, and high-priority estimates. This allows LDK users to more
accurately target their feerate estimates (#2660). For those wishing to
retain their existing behavior, see the table below for conversion.
* `ChainHash` is now used in place of `BlockHash` where it represents the
genesis block (#2662).
* `lightning-invoice` payment utilities now take a `Deref` to
`AChannelManager` (#2652).
* `peel_onion` is provided to statelessly decode an `OnionMessage` (#2599).
* `ToSocketAddrs` + `Display` are now impl'd for `SocketAddress` (#2636, #2670)
* `Display` is now implemented for `OutPoint` (#2649).
* `Features::from_be_bytes` is now provided (#2640).

For those moving to the new `ConfirmationTarget`, the new variants in terms of
the old mempool/low/medium/high priorities are as follows:
* `OnChainSweep` = `HighPriority`
* `MaxAllowedNonAnchorChannelRemoteFee` = `max(25 * 250, HighPriority * 10)`
* `MinAllowedAnchorChannelRemoteFee` = `MempoolMinimum`
* `MinAllowedNonAnchorChannelRemoteFee` = `Background - 250`
* `AnchorChannelFee` = `Background`
* `NonAnchorChannelFee` = `Normal`
* `ChannelCloseMinimum` = `Background`

## Bug Fixes
* Calling `ChannelManager::close_channel[_with_feerate_and_script]` on a
channel which did not exist would immediately hang holding several key
`ChannelManager`-internal locks (#2657).
* Channel information updates received from a failing HTLC are no longer
applied to our `NetworkGraph`. This prevents a node which we attempted to
route a payment through from being able to learn the sender of the payment.
In some rare cases, this may result in marginally reduced payment success
rates (#2666).
* Anchor outputs are now properly considered when calculating the amount
available to send in HTLCs. This can prevent force-closes in anchor channels
when sending payments which overflow the available balance (#2674).
* A peer that sends an `update_fulfill_htlc` message for a forwarded HTLC,
then reconnects prior to sending a `commitment_signed` (thus retransmitting
their `update_fulfill_htlc`) may result in the channel stalling and being
unable to make progress (#2661).
* In exceedingly rare circumstances, messages intended to be sent to a peer
prior to reconnection can be sent after reconnection. This could result in
undefined channel state and force-closes (#2663).

## Backwards Compatibility

* Creating a blinded path to receive a payment then downgrading to LDK prior to
0.0.117 may result in failure to receive the payment (#2413).
* Calling `ChannelManager::pay_for_offer` or
`ChannelManager::create_refund_builder` may prevent downgrading to LDK prior
to 0.0.118 until the payment times out and has been removed (#2039).

## Node Compatibility
* LDK now sends a bogus `channel_reestablish` message to peers when they ask to
resume an unknown channel. This should cause LND nodes to force-close and
broadcast the latest channel state to the chain. In order to trigger this
when we wish to force-close a channel, LDK now disconnects immediately after
sending a channel-closing `error` message. This should result in cooperative
peers also working to confirm the latest commitment transaction when we wish
to force-close (#2658).

## Security
0.0.118 expands mitigations against transaction cycling attacks to non-anchor
channels, though note that no mitigations which exist today are considered robust
to prevent the class of attacks.
* In order to mitigate against transaction cycling attacks, non-anchor HTLC
transactions are now properly re-signed before broadcasting (#2667).

In total, this release features 61 files changed, 3470 insertions, 1503
deletions in 85 commits from 12 authors, in alphabetical order:
* Antonio Yang
* Elias Rohrer
* Evan Feenstra
* Fedeparma74
* Gursharan Singh
* Jeffrey Czyz
* Matt Corallo
* Sergi Delgado Segura
* Vladimir Fomene
* Wilmer Paulino
* benthecarman
* slanesuke


# 0.0.117 - Oct 3, 2023 - "Everything but the Twelve Sinks"

## API Updates
Expand Down
12 changes: 6 additions & 6 deletions lightning-background-processor/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "lightning-background-processor"
version = "0.0.117"
version = "0.0.118"
authors = ["Valentine Wallace <vwallace@protonmail.com>"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/lightningdevkit/rust-lightning"
Expand All @@ -22,11 +22,11 @@ default = ["std"]

[dependencies]
bitcoin = { version = "0.29.0", default-features = false }
lightning = { version = "0.0.117", path = "../lightning", default-features = false }
lightning-rapid-gossip-sync = { version = "0.0.117", path = "../lightning-rapid-gossip-sync", default-features = false }
lightning = { version = "0.0.118", path = "../lightning", default-features = false }
lightning-rapid-gossip-sync = { version = "0.0.118", 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.117", path = "../lightning", features = ["_test_utils"] }
lightning-invoice = { version = "0.25.0", path = "../lightning-invoice" }
lightning-persister = { version = "0.0.117", path = "../lightning-persister" }
lightning = { version = "0.0.118", path = "../lightning", features = ["_test_utils"] }
lightning-invoice = { version = "0.26.0", path = "../lightning-invoice" }
lightning-persister = { version = "0.0.118", path = "../lightning-persister" }
6 changes: 3 additions & 3 deletions lightning-block-sync/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "lightning-block-sync"
version = "0.0.117"
version = "0.0.118"
authors = ["Jeffrey Czyz", "Matt Corallo"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/lightningdevkit/rust-lightning"
Expand All @@ -19,11 +19,11 @@ rpc-client = [ "serde_json", "chunked_transfer" ]

[dependencies]
bitcoin = "0.29.0"
lightning = { version = "0.0.117", path = "../lightning" }
lightning = { version = "0.0.118", 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.117", path = "../lightning", features = ["_test_utils"] }
lightning = { version = "0.0.118", path = "../lightning", features = ["_test_utils"] }
tokio = { version = "1.14", features = [ "macros", "rt" ] }
4 changes: 2 additions & 2 deletions lightning-custom-message/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "lightning-custom-message"
version = "0.0.117"
version = "0.0.118"
authors = ["Jeffrey Czyz"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/lightningdevkit/rust-lightning"
Expand All @@ -15,4 +15,4 @@ rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
bitcoin = "0.29.0"
lightning = { version = "0.0.117", path = "../lightning" }
lightning = { version = "0.0.118", path = "../lightning" }
6 changes: 3 additions & 3 deletions lightning-invoice/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "lightning-invoice"
description = "Data structures to parse and serialize BOLT11 lightning invoices"
version = "0.25.0"
version = "0.26.0"
authors = ["Sebastian Geisler <sgeisler@wh2.tu-dresden.de>"]
documentation = "https://docs.rs/lightning-invoice/"
license = "MIT OR Apache-2.0"
Expand All @@ -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.117", path = "../lightning", default-features = false }
lightning = { version = "0.0.118", 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 }
Expand All @@ -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.117", path = "../lightning", default-features = false, features = ["_test_utils"] }
lightning = { version = "0.0.118", path = "../lightning", default-features = false, features = ["_test_utils"] }
hex = "0.4"
serde_json = { version = "1"}
6 changes: 3 additions & 3 deletions lightning-net-tokio/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "lightning-net-tokio"
version = "0.0.117"
version = "0.0.118"
authors = ["Matt Corallo"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/lightningdevkit/rust-lightning/"
Expand All @@ -16,9 +16,9 @@ rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
bitcoin = "0.29.0"
lightning = { version = "0.0.117", path = "../lightning" }
lightning = { version = "0.0.118", path = "../lightning" }
tokio = { version = "1.0", features = [ "rt", "sync", "net", "time" ] }

[dev-dependencies]
tokio = { version = "1.14", features = [ "macros", "rt", "rt-multi-thread", "sync", "net", "time" ] }
lightning = { version = "0.0.117", path = "../lightning", features = ["_test_utils"] }
lightning = { version = "0.0.118", path = "../lightning", features = ["_test_utils"] }
6 changes: 3 additions & 3 deletions lightning-persister/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "lightning-persister"
version = "0.0.117"
version = "0.0.118"
authors = ["Valentine Wallace", "Matt Corallo"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/lightningdevkit/rust-lightning"
Expand All @@ -15,7 +15,7 @@ rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
bitcoin = "0.29.0"
lightning = { version = "0.0.117", path = "../lightning" }
lightning = { version = "0.0.118", path = "../lightning" }

[target.'cfg(windows)'.dependencies]
windows-sys = { version = "0.48.0", default-features = false, features = ["Win32_Storage_FileSystem", "Win32_Foundation"] }
Expand All @@ -24,5 +24,5 @@ windows-sys = { version = "0.48.0", default-features = false, features = ["Win32
criterion = { version = "0.4", optional = true, default-features = false }

[dev-dependencies]
lightning = { version = "0.0.117", path = "../lightning", features = ["_test_utils"] }
lightning = { version = "0.0.118", path = "../lightning", features = ["_test_utils"] }
bitcoin = { version = "0.29.0", default-features = false }
6 changes: 3 additions & 3 deletions lightning-rapid-gossip-sync/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "lightning-rapid-gossip-sync"
version = "0.0.117"
version = "0.0.118"
authors = ["Arik Sosman <git@arik.io>"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/lightningdevkit/rust-lightning"
Expand All @@ -15,11 +15,11 @@ no-std = ["lightning/no-std"]
std = ["lightning/std"]

[dependencies]
lightning = { version = "0.0.117", path = "../lightning", default-features = false }
lightning = { version = "0.0.118", 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.117", path = "../lightning", features = ["_test_utils"] }
lightning = { version = "0.0.118", path = "../lightning", features = ["_test_utils"] }
6 changes: 3 additions & 3 deletions lightning-transaction-sync/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "lightning-transaction-sync"
version = "0.0.117"
version = "0.0.118"
authors = ["Elias Rohrer"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/lightningdevkit/rust-lightning"
Expand All @@ -21,15 +21,15 @@ esplora-blocking = ["esplora-client/blocking"]
async-interface = []

[dependencies]
lightning = { version = "0.0.117", path = "../lightning", default-features = false }
lightning = { version = "0.0.118", path = "../lightning", default-features = false }
bitcoin = { version = "0.29.0", default-features = false }
bdk-macros = "0.6"
futures = { version = "0.3", optional = true }
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.117", path = "../lightning", features = ["std"] }
lightning = { version = "0.0.118", 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"] }
2 changes: 1 addition & 1 deletion lightning/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "lightning"
version = "0.0.117"
version = "0.0.118"
authors = ["Matt Corallo"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/lightningdevkit/rust-lightning/"
Expand Down
4 changes: 0 additions & 4 deletions pending_changelog/1-hop-bps.txt

This file was deleted.

3 changes: 0 additions & 3 deletions pending_changelog/invoice_request_failed_downgrade.txt

This file was deleted.

0 comments on commit d2242f6

Please sign in to comment.