-
Notifications
You must be signed in to change notification settings - Fork 406
Cut 0.0.111 #1712
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
Cut 0.0.111 #1712
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,97 @@ | ||
# 0.0.111 - Sep 12, 2022 - "Saturated with Messages" | ||
|
||
## API Updates | ||
* Support for relaying onion messages has been added via a new | ||
`OnionMessenger` struct when passed as the `OnionMessageHandler` to a | ||
`PeerManager`. Pre-encoded onion messages can also be sent and received | ||
(#1503, #1650, #1652, #1688). | ||
* Rate-limiting of outbound gossip syncs has been rewritten to utilize less | ||
buffering inside LDK. The new rate-limiting is also used for onion messages | ||
to avoid delaying other messages (#1604. #1660, #1683). | ||
* Rather than spawning a full OS thread, `lightning-background-processor` has | ||
a new `process_events_async` method which takes the place of a | ||
`BackgroundProcessor` for those using Rust's async (#1657). | ||
* `ChannelManager::get_persistable_update_future` has been added to block on | ||
a ChannelManager needing re-persistence in a Rust async environment (#1657). | ||
* The `Filter::register_output` return value has been removed, as it was | ||
very difficult to correctly implement (i.e., without blocking). Users | ||
previously using it should instead pass dependent transactions in via | ||
additional `chain::Confirm::transactions_confirmed` calls (#1663). | ||
* `ChannelHandshakeConfig::their_channel_reserve_proportional_millionths` has | ||
been added to allow configuring counterparty reserve values (#1619). | ||
* `KeysInterface::ecdh` has been added as an ECDH oracle (#1503, #1658). | ||
* The `rust-bitcoin` dependency has been updated 0.29 (#1658). | ||
* The `bitcoin_hashes` dependency has been updated 0.11 (#1677). | ||
* `ChannelManager::broadcast_node_announcement` has been moved to | ||
`PeerManager` (#1699). | ||
* `channel_` and `node_announcement`s are now rebroadcast automatically to all | ||
new peers which connect (#1699). | ||
* `{Init,Node}Features` sent to peers/broadcasted are now fetched via the | ||
various `*MessageHandler` traits, rather than hard-coded (#1701, #1688). | ||
* `Event::PaymentPathFailed::rejected_by_dest` has been renamed | ||
`payment_failed_permanently` (#1702). | ||
* `Invoice` now derives the std `Hash` trait (#1575). | ||
* `{Signed,}RawInvoice::hash` have been renamed `signable_hash` (#1714). | ||
* `chain::AccessError` now derives the std `Debug` trait (#1709). | ||
* `ReadOnlyNetworkGraph::list_{channels,nodes}` have been added largely for | ||
users of downstream bindings (#1651). | ||
* `ChannelMonitor::get_counterparty_node_id` is now available (#1635). | ||
|
||
## Bug Fixes | ||
valentinewallace marked this conversation as resolved.
Show resolved
Hide resolved
|
||
* The script compared with that returned from `chain::Access` was incorrect | ||
~half of the time, causing spurious gossip rejection (#1666). | ||
* Pending in-flight HTLCs are now considered when calculating new routes, | ||
ensuring, e.g. MPP retries do not take known-saturated paths (#1643). | ||
* Counterparty-revoked outputs are now included in `get_claimable_balance` | ||
output via a new `Balance::CounterpartyRevokedOutputClaimable` (#1495). | ||
* Inbound HTLCs for which we do not (yet) have a preimage are now included in | ||
`get_claimable_balance` via a `Balance::MaybePreimageClaimableHTLC` (#1673). | ||
* Probes that fail prior to being sent over their first hop are correctly | ||
failed with a `Event::ProbeFailed` rather than a `PaymentPathFailed` (#1704). | ||
* Pending `Event::HTLCHandlingFailed`s are no longer lost on restart (#1700). | ||
* HTLCs that fail prior to being sent over their first hop are now marked as | ||
retryable via `!PaymentPathFailed::payment_failed_permanently` (#1702). | ||
* Dust HTLCs are now considered failed in the payment tracking logic after the | ||
commitment transaction confirms, allowing retry on restart (#1691). | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Are ChannelMonitors safe to remove now? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think so now that #1466, #1620, and #1691 are addressed, unless @TheBlueMatt knows of another edge case. In any case, we may want to expose a public helper that users can call instead of relying on the result of There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, I believe so. I don't want to announce it quite yet, though, would rather let the code sit for a release or two and then announce it. |
||
* On machines with buggy "monotonic" clocks, LDK will no longer panic if time | ||
goes backwards (#1692). | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't know if #1659 should be added or to minor. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. See #1712 (comment) |
||
|
||
## Backwards Compatibility | ||
* The new `current_time` argument to `PeerManager` constructors must be set to | ||
a UNIX timestamp for upgraded nodes; new nodes may use a counter (#1699). | ||
* `Balance::CounterpartyRevokedOutputClaimable` will never be generated for | ||
channels that were observed to go on-chain with LDK versions prior to | ||
0.0.111 (#1495). | ||
* `ChannelMonitor::get_counterparty_node_id` will return `None` for all | ||
channels opened on a version of LDK prior to 0.0.110 (#1635). | ||
* Setting `their_channel_reserve_proportional_millionths` to any value other | ||
than the default will cause LDK versions prior to 0.0.104 to be unable to | ||
read the serialized `ChannelManager` (#1619). | ||
|
||
## Security | ||
0.0.111 fixes a denial-of-service vulnerability which is reachable from | ||
untrusted input in deployments accepting 0conf channels, or via a race-condition | ||
in deployments creating outbound 0conf channels. | ||
jkczyz marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
* LDK versions prior to 0.0.111 may spuriously panic when receiving a block if | ||
TheBlueMatt marked this conversation as resolved.
Show resolved
Hide resolved
|
||
they are awaiting the construction of a funding transaction for a 0-conf | ||
channel (#1711). 0-conf support was added in LDK version 0.0.107. | ||
|
||
In total, this release features 84 files changed, 6306 insertions, 1960 | ||
deletions in 121 commits from 11 authors, in alphabetical order: | ||
* Arik Sosman | ||
* Devrandom | ||
* Duncan Dean | ||
* Elias Rohrer | ||
* Gursharan Singh | ||
* Matt Corallo | ||
* NicolaLS | ||
* Valentine Wallace | ||
* Viktor Tigerström | ||
* jurvis | ||
* ok300 | ||
|
||
|
||
# 0.0.110 - 2022-07-26 - "Routing, With a Vengeance" | ||
|
||
## API Updates | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
[package] | ||
name = "lightning-background-processor" | ||
version = "0.0.110" | ||
version = "0.0.111" | ||
authors = ["Valentine Wallace <[email protected]>"] | ||
license = "MIT OR Apache-2.0" | ||
repository = "http://github.com/lightningdevkit/rust-lightning" | ||
|
@@ -15,11 +15,11 @@ rustdoc-args = ["--cfg", "docsrs"] | |
|
||
[dependencies] | ||
bitcoin = "0.29.0" | ||
lightning = { version = "0.0.110", path = "../lightning", features = ["std"] } | ||
lightning-rapid-gossip-sync = { version = "0.0.110", path = "../lightning-rapid-gossip-sync" } | ||
lightning = { version = "0.0.111", path = "../lightning", features = ["std"] } | ||
lightning-rapid-gossip-sync = { version = "0.0.111", path = "../lightning-rapid-gossip-sync" } | ||
futures = { version = "0.3", optional = true } | ||
|
||
[dev-dependencies] | ||
lightning = { version = "0.0.110", path = "../lightning", features = ["_test_utils"] } | ||
lightning-invoice = { version = "0.18.0", path = "../lightning-invoice" } | ||
lightning-persister = { version = "0.0.110", path = "../lightning-persister" } | ||
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" } |
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.18.0" | ||
version = "0.19.0" | ||
authors = ["Sebastian Geisler <[email protected]>"] | ||
documentation = "https://docs.rs/lightning-invoice/" | ||
license = "MIT OR Apache-2.0" | ||
|
@@ -20,7 +20,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.110", path = "../lightning", default-features = false } | ||
lightning = { version = "0.0.111", 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 @@ core2 = { version = "0.3.0", default-features = false, optional = true } | |
serde = { version = "1.0.118", optional = true } | ||
|
||
[dev-dependencies] | ||
lightning = { version = "0.0.110", path = "../lightning", default-features = false, features = ["_test_utils"] } | ||
lightning = { version = "0.0.111", path = "../lightning", default-features = false, features = ["_test_utils"] } | ||
hex = "0.4" | ||
serde_json = { version = "1"} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
[package] | ||
name = "lightning-rapid-gossip-sync" | ||
version = "0.0.110" | ||
version = "0.0.111" | ||
authors = ["Arik Sosman <[email protected]>"] | ||
license = "MIT OR Apache-2.0" | ||
repository = "https://github.com/lightningdevkit/rust-lightning" | ||
|
@@ -13,8 +13,8 @@ Utility to process gossip routing data from Rapid Gossip Sync Server. | |
_bench_unstable = [] | ||
|
||
[dependencies] | ||
lightning = { version = "0.0.110", path = "../lightning" } | ||
lightning = { version = "0.0.111", path = "../lightning" } | ||
bitcoin = { version = "0.29.0", default-features = false } | ||
|
||
[dev-dependencies] | ||
lightning = { version = "0.0.110", path = "../lightning", features = ["_test_utils"] } | ||
lightning = { version = "0.0.111", path = "../lightning", features = ["_test_utils"] } |
This file was deleted.
Uh oh!
There was an error while loading. Please reload this page.