Skip to content

Commit

Permalink
Merge pull request #2211 from TheBlueMatt/2023-04-0.0.115-cut
Browse files Browse the repository at this point in the history
Cut 0.0.115
  • Loading branch information
TheBlueMatt committed Apr 25, 2023
2 parents ec3aa49 + dafa095 commit b734735
Show file tree
Hide file tree
Showing 14 changed files with 124 additions and 42 deletions.
97 changes: 97 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,100 @@
# 0.0.115 - Apr 24, 2023 - "Rebroadcast the Bugfixes"

## API Updates
* The MSRV of the main LDK crates has been increased to 1.48 (#2107).
* Attempting to claim an un-expired payment on a channel which has closed no
longer fails. The expiry time of payments is exposed via
`PaymentClaimable::claim_deadline` (#2148).
* `payment_metadata` is now supported in `Invoice` deserialization, sending,
and receiving (via a new `RecipientOnionFields` struct) (#2139, #2127).
* `Event::PaymentFailed` now exposes a failure reason (#2142).
* BOLT12 messages now support stateless generation and validation (#1989).
* The `NetworkGraph` is now pruned of stale data after RGS processing (#2161).
* Max inbound HTLCs in-flight can be changed in the handshake config (#2138).
* `lightning-transaction-sync` feature `esplora-async-https` was added (#2085).
* A `ChannelPending` event is now emitted after the initial handshake (#2098).
* `PaymentForwarded::outbound_amount_forwarded_msat` was added (#2136).
* `ChannelManager::list_channels_by_counterparty` was added (#2079).
* `ChannelDetails::feerate_sat_per_1000_weight` was added (#2094).
* `Invoice::fallback_addresses` was added to fetch `bitcoin` types (#2023).
* The offer/refund description is now exposed in `Invoice{,Request}` (#2206).

## Backwards Compatibility
* Payments sent with the legacy `*_with_route` methods on LDK 0.0.115+ will no
longer be retryable via the LDK 0.0.114- `retry_payment` method (#2139).
* `Event::PaymentPathFailed::retry` was removed and will always be `None` for
payments initiated on 0.0.115 which fail on an earlier version (#2063).
* `Route`s and `PaymentParameters` with blinded path information will not be
readable on prior versions of LDK. Such objects are not currently constructed
by LDK, but may be when processing BOLT12 data in a coming release (#2146).
* Providing `ChannelMonitorUpdate`s generated by LDK 0.0.115 to a
`ChannelMonitor` on 0.0.114 or before may panic (#2059). Note that this is
in general unsupported, and included here only for completeness.

## Bug Fixes
* Fixed a case where `process_events_async` may `poll` a `Future` which has
already completed (#2081).
* Fixed deserialization of `u16` arrays. This bug may have previously corrupted
the historical buckets in a `ProbabilisticScorer`. Users relying on the
historical buckets may wish to wipe their scorer on upgrade to remove corrupt
data rather than waiting on it to decay (#2191).
* The `process_events_async` task is now `Send` and can thus be polled on a
multi-threaded runtime (#2199).
* Fixed a missing macro export causing
`impl_writeable_tlv_based_enum{,_upgradable}` calls to not compile (#2091).
* Fixed compilation of `lightning-invoice` with both `no-std` and serde (#2187)
* Fix an issue where the `background-processor` would not wake when a
`ChannelMonitorUpdate` completed asynchronously, causing delays (#2090).
* Fix an issue where `process_events_async` would exit immediately (#2145).
* `Router` calls from the `ChannelManager` now call `find_route_with_id` rather
than `find_route`, as was intended and described in the API (#2092).
* Ensure `process_events_async` always exits if any sleep future returns true,
not just if all sleep futures repeatedly return true (#2145).
* `channel_update` messages no longer set the disable bit unless the peer has
been disconnected for some time. This should resolve cases where channels are
disabled for extended periods of time (#2198).
* We no longer remove CLN nodes from the network graph for violating the BOLT
spec in some cases after failing to pay through them (#2220).
* Fixed a debug assertion which may panic under heavy load (#2172).
* `CounterpartyForceClosed::peer_msg` is now wrapped in UntrustedString (#2114)
* Fixed a potential deadlock in `funding_transaction_generated` (#2158).

## Security
* Transaction re-broadcasting is now substantially more aggressive, including a
new regular rebroadcast feature called on a timer from the
`background-processor` or from `ChainMonitor::rebroadcast_pending_claims`.
This should substantially increase transaction confirmation reliability
without relying on downstream `TransactionBroadcaster` implementations for
rebroadcasting (#2203, #2205, #2208).
* Implemented the changes from BOLT PRs #1031, #1032, and #1040 which resolve a
privacy vulnerability which allows an intermediate node on the path to
discover the final destination for a payment (#2062).

In total, this release features 110 files changed, 11928 insertions, 6368
deletions in 215 commits from 21 authors, in alphabetical order:
* Advait
* Alan Cohen
* Alec Chen
* Allan Douglas R. de Oliveira
* Arik Sosman
* Elias Rohrer
* Evan Feenstra
* Jeffrey Czyz
* John Cantrell
* Lucas Soriano del Pino
* Marc Tyndel
* Matt Corallo
* Paul Miller
* Steven
* Steven Williamson
* Steven Zhao
* Tony Giorgio
* Valentine Wallace
* Wilmer Paulino
* benthecarman
* munjesi


# 0.0.114 - Mar 3, 2023 - "Faster Async BOLT12 Retries"

## 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.114"
version = "0.0.115"
authors = ["Valentine Wallace <vwallace@protonmail.com>"]
license = "MIT OR Apache-2.0"
repository = "http://github.com/lightningdevkit/rust-lightning"
Expand All @@ -21,11 +21,11 @@ default = ["std"]

[dependencies]
bitcoin = { version = "0.29.0", default-features = false }
lightning = { version = "0.0.114", path = "../lightning", default-features = false }
lightning-rapid-gossip-sync = { version = "0.0.114", path = "../lightning-rapid-gossip-sync", default-features = false }
lightning = { version = "0.0.115", path = "../lightning", default-features = false }
lightning-rapid-gossip-sync = { version = "0.0.115", 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.114", path = "../lightning", features = ["_test_utils"] }
lightning-invoice = { version = "0.22.0", path = "../lightning-invoice" }
lightning-persister = { version = "0.0.114", path = "../lightning-persister" }
lightning = { version = "0.0.115", path = "../lightning", features = ["_test_utils"] }
lightning-invoice = { version = "0.23.0", path = "../lightning-invoice" }
lightning-persister = { version = "0.0.115", 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.114"
version = "0.0.115"
authors = ["Jeffrey Czyz", "Matt Corallo"]
license = "MIT OR Apache-2.0"
repository = "http://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.114", path = "../lightning" }
lightning = { version = "0.0.115", 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.114", path = "../lightning", features = ["_test_utils"] }
lightning = { version = "0.0.115", 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.114"
version = "0.0.115"
authors = ["Jeffrey Czyz"]
license = "MIT OR Apache-2.0"
repository = "http://github.com/lightningdevkit/rust-lightning"
Expand All @@ -15,4 +15,4 @@ rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
bitcoin = "0.29.0"
lightning = { version = "0.0.114", path = "../lightning" }
lightning = { version = "0.0.115", 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.22.0"
version = "0.23.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.114", path = "../lightning", default-features = false }
lightning = { version = "0.0.115", 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.114", path = "../lightning", default-features = false, features = ["_test_utils"] }
lightning = { version = "0.0.115", 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.114"
version = "0.0.115"
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.114", path = "../lightning" }
lightning = { version = "0.0.115", path = "../lightning" }
tokio = { version = "1.0", features = [ "io-util", "macros", "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.114", path = "../lightning", features = ["_test_utils"] }
lightning = { version = "0.0.115", 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.114"
version = "0.0.115"
authors = ["Valentine Wallace", "Matt Corallo"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/lightningdevkit/rust-lightning/"
Expand All @@ -18,11 +18,11 @@ _bench_unstable = ["lightning/_bench_unstable"]

[dependencies]
bitcoin = "0.29.0"
lightning = { version = "0.0.114", path = "../lightning" }
lightning = { version = "0.0.115", path = "../lightning" }
libc = "0.2"

[target.'cfg(windows)'.dependencies]
winapi = { version = "0.3", features = ["winbase"] }

[dev-dependencies]
lightning = { version = "0.0.114", path = "../lightning", features = ["_test_utils"] }
lightning = { version = "0.0.115", path = "../lightning", features = ["_test_utils"] }
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.114"
version = "0.0.115"
authors = ["Arik Sosman <git@arik.io>"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/lightningdevkit/rust-lightning"
Expand All @@ -16,8 +16,8 @@ std = ["lightning/std"]
_bench_unstable = []

[dependencies]
lightning = { version = "0.0.114", path = "../lightning", default-features = false }
lightning = { version = "0.0.115", path = "../lightning", default-features = false }
bitcoin = { version = "0.29.0", default-features = false }

[dev-dependencies]
lightning = { version = "0.0.114", path = "../lightning", features = ["_test_utils"] }
lightning = { version = "0.0.115", 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.114"
version = "0.0.115"
authors = ["Elias Rohrer"]
license = "MIT OR Apache-2.0"
repository = "http://github.com/lightningdevkit/rust-lightning"
Expand All @@ -21,15 +21,15 @@ esplora-blocking = ["esplora-client/blocking"]
async-interface = []

[dependencies]
lightning = { version = "0.0.114", path = "../lightning", default-features = false }
lightning = { version = "0.0.115", 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.114", path = "../lightning", features = ["std"] }
lightning = { version = "0.0.115", 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.114"
version = "0.0.115"
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/2059.txt

This file was deleted.

4 changes: 0 additions & 4 deletions pending_changelog/2063.txt

This file was deleted.

4 changes: 0 additions & 4 deletions pending_changelog/2146.txt

This file was deleted.

3 changes: 0 additions & 3 deletions pending_changelog/matt-rm-retryable-secret.txt

This file was deleted.

0 comments on commit b734735

Please sign in to comment.