Skip to content

Cut 0.0.113 #1917

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Dec 16, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ jobs:
RUSTFLAGS="-C link-dead-code" cargo build --verbose --color always --features rpc-client,rest-client
RUSTFLAGS="-C link-dead-code" cargo build --verbose --color always --features rpc-client,rest-client,tokio
- name: Test backtrace-debug builds on Rust ${{ matrix.toolchain }}
if: "matrix.build-no-std"
if: "matrix.toolchain == 'stable'"
run: |
cd lightning && cargo test --verbose --color always --features backtrace
- name: Test on Rust ${{ matrix.toolchain }} with net-tokio
Expand Down
87 changes: 87 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,90 @@
# 0.0.113 - Dec 15, 2022 - "Big Movement Intercepted"

## API Updates
* `ChannelManager::send_payment` now takes an explicit `PaymentId` which is a
loose idempotency token. See `send_payment` docs for more (#1761, #1826).
* HTLCs bound for SCIDs from `ChannelManager::get_intercept_scid` are now
intercepted and can be forwarded manually over any channel (#1835, #1893).
* `Confirm::get_relevant_txids` now returns a `BlockHash`, expanding the set
of cases where `transaction_unconfirmed` must be called, see docs (#1796).
* Pending outbound payments are no longer automatically timed-out a few blocks
after failure. Thus, in order to avoid leaking memory, you MUST call
`ChannelManager::abandon_payment` when you no longer wish to retry (#1761).
* `ChannelManager::abandon_payment` docs were updated to note that the payment
may return to pending after a restart if no persistence occurs (#1907).
* `Event::PaymentReceived` has been renamed `Event::PaymentClaimable` (#1891).
* `Event` handling is now optionally async for Rust users (#1787).
* `user_channel_id` is now a `u128` and random for inbound channels (#1790).
* A new `ChannelReady` event is generated whenever a channel becomes ready to
be used, i.e., after both sides sent the `channel_ready` message (#1743).
* `NetworkGraph` now prunes channels where either node is offline for 2 weeks
and refuses to accept re-announcements of pruned channels (#1735).
* Onion messages are now read in `CustomOnionMessageHandler` rather than via
`MaybeReadableArgs` (#1809).
* Added a new util to generate an invoice with a custom hash (#1894) -
`create_invoice_from_channelmanager_and_duration_since_epoch_with_payment_hash`
* `Sign`ers are now by default re-derived using `KeysInterface`'s new
`derive_channel_signer` rather than `read_chan_signer` (#1867).
* `Confirm::transactions_confirmed` is now idempotent (#1861).
* `ChannelManager::compute_inflight_htlcs` has been added to fetch in-flight
HTLCs for scoring. Note that `InvoicePayer` does this for you (#1830).
* Added `PaymentClaimable::via_channel_id` (#1856).
* Added the `node_id` (phantom or regular) to payment events (#1766).
* Added the funding transaction `confirmations` to `ChannelDetails` (#1856).
* `BlindedRoute` has been renamed `BlindedPath` (#1918).
* Support for the BOLT 4 "legacy" onion format has been removed, in line with
its removal in the spec and vanishingly rare use (#1413).
* `ChainMonitor::list_pending_monitor_updates` was added (#1834).
* Signing for non-zero-fee anchor commitments is supported again (#1828).
* Several helpers for transaction matching and generation are now pub (#1839).

## Bug Fixes
* Fixed a rare race where a crash may result in a pending HTLC not being
failed backwards, leading to a force-closure by our counterparty (#1857).
* Avoid incorrectly assigning a lower-bound on channel liquidity when routing
fails due to a closed channel earlier in the path (#1817).
* If a counterparty increases the channel fee, but not enough per our own fee
estimator, we no longer force-close the channel (#1852).
* Several bugs in the `lightning-background-processor` `future` feature were
fixed, including requirements doc corrections (#1843, #1845, #1851).
* Some failure messages sent back when failing an HTLC were corrected (#1895).
* `rapid-gossip-sync` no longer errors if an update is applied duplicatively
or in rare cases when the graph is updated from payment failures (#1833).
* Sending onion messages to a blinded path in which we're the introduction
node no longer fails (#1791).

## Backwards Compatibility
* No `ChannelReady` events will be generated for previously existing channels,
including those which become ready after upgrading to 0.0.113 (#1743).
* Once `UserConfig::accept_intercept_htlcs` is set, downgrades to LDK versions
prior to 0.0.113 are not supported (#1835).
* Existing payments may see a `PaymentClaimable::user_channel_id` of 0 (#1856)
* When downgrading to a version of LDK prior to 0.0.113 when there are
resolved payments waiting for a small timeout, the payments may not be
removed, preventing payments with the same `PaymentId` (#1761).

In total, this release features 76 files changed, 11639 insertions, 6067
deletions in 210 commits from 18 authors, in alphabetical order:
* Antoine Riard
* Arik Sosman
* Devrandom
* Duncan Dean
* Elias Rohrer
* Gleb Naumenko
* Jeffrey Czyz
* John Cantrell
* Matt Corallo
* Tee8z
* Tobin C. Harding
* Tristan F
* Valentine Wallace
* Viktor Tigerström
* Wilmer Paulino
* benthecarman
* jurvis
* ssbright


# 0.0.112 - Oct 25, 2022 - "History Matters"

## 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.112"
version = "0.0.113"
authors = ["Valentine Wallace <[email protected]>"]
license = "MIT OR Apache-2.0"
repository = "http://github.com/lightningdevkit/rust-lightning"
Expand All @@ -18,11 +18,11 @@ futures = [ "futures-util" ]

[dependencies]
bitcoin = "0.29.0"
lightning = { version = "0.0.112", path = "../lightning", features = ["std"] }
lightning-rapid-gossip-sync = { version = "0.0.112", path = "../lightning-rapid-gossip-sync" }
lightning = { version = "0.0.113", path = "../lightning", features = ["std"] }
lightning-rapid-gossip-sync = { version = "0.0.113", 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.112", path = "../lightning", features = ["_test_utils"] }
lightning-invoice = { version = "0.20.0", path = "../lightning-invoice" }
lightning-persister = { version = "0.0.112", path = "../lightning-persister" }
lightning = { version = "0.0.113", path = "../lightning", features = ["_test_utils"] }
lightning-invoice = { version = "0.21.0", path = "../lightning-invoice" }
lightning-persister = { version = "0.0.113", path = "../lightning-persister" }
4 changes: 2 additions & 2 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.112"
version = "0.0.113"
authors = ["Jeffrey Czyz", "Matt Corallo"]
license = "MIT OR Apache-2.0"
repository = "http://github.com/lightningdevkit/rust-lightning"
Expand All @@ -19,7 +19,7 @@ rpc-client = [ "serde", "serde_json", "chunked_transfer" ]

[dependencies]
bitcoin = "0.29.0"
lightning = { version = "0.0.112", path = "../lightning" }
lightning = { version = "0.0.113", 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 }
Expand Down
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.20.0"
version = "0.21.0"
authors = ["Sebastian Geisler <[email protected]>"]
documentation = "https://docs.rs/lightning-invoice/"
license = "MIT OR Apache-2.0"
Expand All @@ -21,14 +21,14 @@ std = ["bitcoin_hashes/std", "num-traits/std", "lightning/std", "bech32/std"]

[dependencies]
bech32 = { version = "0.9.0", default-features = false }
lightning = { version = "0.0.112", path = "../lightning", default-features = false }
lightning = { version = "0.0.113", 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 }
hashbrown = { version = "0.8", optional = true }
serde = { version = "1.0.118", optional = true }

[dev-dependencies]
lightning = { version = "0.0.112", path = "../lightning", default-features = false, features = ["_test_utils"] }
lightning = { version = "0.0.113", path = "../lightning", default-features = false, features = ["_test_utils"] }
hex = "0.4"
serde_json = { version = "1"}
4 changes: 2 additions & 2 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.112"
version = "0.0.113"
authors = ["Matt Corallo"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/lightningdevkit/rust-lightning/"
Expand All @@ -16,7 +16,7 @@ rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
bitcoin = "0.29.0"
lightning = { version = "0.0.112", path = "../lightning" }
lightning = { version = "0.0.113", path = "../lightning" }
tokio = { version = "1.0", features = [ "io-util", "macros", "rt", "sync", "net", "time" ] }

[dev-dependencies]
Expand Down
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.112"
version = "0.0.113"
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.112", path = "../lightning" }
lightning = { version = "0.0.113", path = "../lightning" }
libc = "0.2"

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

[dev-dependencies]
lightning = { version = "0.0.112", path = "../lightning", features = ["_test_utils"] }
lightning = { version = "0.0.113", 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.112"
version = "0.0.113"
authors = ["Arik Sosman <[email protected]>"]
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.112", path = "../lightning", default-features = false }
lightning = { version = "0.0.113", path = "../lightning", default-features = false }
bitcoin = { version = "0.29.0", default-features = false }

[dev-dependencies]
lightning = { version = "0.0.112", path = "../lightning", features = ["_test_utils"] }
lightning = { version = "0.0.113", path = "../lightning", features = ["_test_utils"] }
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.112"
version = "0.0.113"
authors = ["Matt Corallo"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/lightningdevkit/rust-lightning/"
Expand Down
7 changes: 0 additions & 7 deletions pending_changelog/1743.txt

This file was deleted.

9 changes: 0 additions & 9 deletions pending_changelog/1856.txt

This file was deleted.

5 changes: 0 additions & 5 deletions pending_changelog/elias-event-renaming.txt

This file was deleted.

4 changes: 0 additions & 4 deletions pending_changelog/matt-abandon-restart.txt

This file was deleted.

16 changes: 0 additions & 16 deletions pending_changelog/matt-idempotent-payments.txt

This file was deleted.