-
Notifications
You must be signed in to change notification settings - Fork 405
Cut 0.0.109 #1582
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.109 #1582
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,73 @@ | ||
# 0.0.109 - 2022-06-30 | ||
|
||
## API Updates | ||
* `ChannelManager::update_channel_config` has been added to allow the fields | ||
in `ChannelConfig` to be changed in a given channel after open (#1527). | ||
* If we reconnect to a peer which proves we have a stale channel state, rather | ||
than force-closing we will instead panic to provide an opportunity to switch | ||
to the latest state and continue operating without channel loss (#1564). | ||
* A `NodeAlias` struct has been added which handles string sanitization for | ||
node aliases via the `Display` trait (#1544). | ||
* `ProbabilisticScoringParameters` now has a `banned_nodes` set which we will | ||
never route through during path finding (#1550). | ||
* `ProbabilisticScoringParameters` now offers an `anti_probing_penalty_msat` | ||
option to prefer channels which afford better privacy when routing (#1555). | ||
* `ProbabilisticScorer` now provides access to its estimated liquidity range | ||
for a given channel via `estimated_channel_liquidity_range` (#1549). | ||
* Options which cannot be changed at runtime have been moved from | ||
`ChannelConfig` to `ChannelHandshakeConfig` (#1529). | ||
* `find_route` takes `&NetworkGraph` instead of `ReadOnlyNetworkGraph (#1583). | ||
* `ChannelDetails` now contains a copy of the current `ChannelConfig` (#1527). | ||
* The `lightning-invoice` crate now optionally depends on `serde`, with | ||
`Invoice` implementing `serde::{Deserialize,Serialize}` if enabled (#1548). | ||
* Several fields in `UserConfig` have been renamed for clarity (#1540). | ||
|
||
## Bug Fixes | ||
* `find_route` no longer selects routes with more than | ||
`PaymentParameters::max_mpp_path_count` paths, and | ||
`ChannelManager::send_payment` no longer refuses to send along routes with | ||
more than ten paths (#1526). | ||
* Fixed two cases where HTLCs pending at the time a counterparty broadcasts a | ||
revoked commitment transaction are considered resolved prior to their actual | ||
resolution on-chain, possibly passing the update to another channel (#1486). | ||
* HTLCs which are relayed through LDK may now have a total expiry time two | ||
weeks in the future, up from one, reducing forwarding failures (#1532). | ||
|
||
## Serialization Compatibility | ||
* All new fields are ignored by prior versions of LDK. All new fields are not | ||
present when reading objects serialized by prior versions of LDK. | ||
* `ChannelConfig`'s serialization format has changed and is not compatible | ||
with any previous version of LDK. Attempts to read values written by a | ||
previous version of LDK will fail and attempts to read newly written objects | ||
using a previous version of LDK will fail. It is not expected that users are | ||
serializing `ChannelConfig` using the LDK serialization API, however, if a | ||
backward compatibility wrapper is required, please open an issue. | ||
|
||
## Security | ||
0.0.109 fixes a denial-of-service vulnerability which is reachable from | ||
untrusted input in some application deployments. | ||
|
||
* Third parties which are allowed to open channels with an LDK-based node may | ||
fund a channel with a bogus and maliciously-crafted transaction which, when | ||
spent, can cause a panic in the channel's corresponding `ChannelMonitor`. | ||
Such a channel is never usable as it cannot be funded with a funding | ||
transaction which matches the required output script, allowing the | ||
`ChannelMonitor` for such channels to be safely purged as a workaround on | ||
previous versions of LDK. Thanks to Eugene Siegel for reporting this issue. | ||
|
||
In total, this release features 32 files changed, 1948 insertions, 532 | ||
deletions in 33 commits from 9 authors, in alphabetical order: | ||
* Antoine Riard | ||
* Daniel Granhão | ||
* Elias Rohrer | ||
* Jeffrey Czyz | ||
* Matt Corallo | ||
* Matt Faltyn | ||
* NicolaLS | ||
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. According to git log :
(o any contributor reading the releasing notes, if we mispel or get wrong the names, please accept our excuses, if you also have a preference to be listed with GH handle or other nickname, let it know I think we're fine with that. 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. Huh? I see the following for NicolaLS. Where did you get the name, or the name for Mr Faltyn? I don't see Mateusz anywhere? CC @NicolaLS and @mattfaltyn. In general I prefer to just use
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. mhm I don't even know how I set the name (it's def not in my config) but it's fine for me either way :) 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.
You can simply set it via 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 get the following when I do `git log | grep "Faltyn". So I dunno. 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. Ah, I was going based on github profile, indeed, it seems he's changed his configured name on git. I guess we should be consistent, I'm happy to pick either one. For now I'll update the 107 release notes to use just "Matt" given that's on his GH. |
||
* Valentine Wallace | ||
* Wilmer Paulino | ||
|
||
|
||
# 0.0.108 - 2022-06-10 | ||
|
||
## Bug Fixes | ||
|
@@ -148,7 +218,7 @@ deletions in 153 commits from 18 authors, in alphabetical order: | |
* Jurvis Tan | ||
* Justin Moon | ||
* KaFai Choi | ||
* Mateusz Faltyn | ||
* Matt Faltyn | ||
* Matt Corallo | ||
* Valentine Wallace | ||
* Viktor Tigerström | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
[package] | ||
name = "lightning-background-processor" | ||
version = "0.0.108" | ||
version = "0.0.109" | ||
authors = ["Valentine Wallace <[email protected]>"] | ||
license = "MIT OR Apache-2.0" | ||
repository = "http://github.com/lightningdevkit/rust-lightning" | ||
|
@@ -15,10 +15,10 @@ rustdoc-args = ["--cfg", "docsrs"] | |
|
||
[dependencies] | ||
bitcoin = "0.28.1" | ||
lightning = { version = "0.0.108", path = "../lightning", features = ["std"] } | ||
lightning-rapid-gossip-sync = { version = "0.0.108", path = "../lightning-rapid-gossip-sync" } | ||
lightning = { version = "0.0.109", path = "../lightning", features = ["std"] } | ||
lightning-rapid-gossip-sync = { version = "0.0.109", path = "../lightning-rapid-gossip-sync" } | ||
|
||
[dev-dependencies] | ||
lightning = { version = "0.0.108", path = "../lightning", features = ["_test_utils"] } | ||
lightning-invoice = { version = "0.16.0", path = "../lightning-invoice" } | ||
lightning-persister = { version = "0.0.108", path = "../lightning-persister" } | ||
lightning = { version = "0.0.109", path = "../lightning", features = ["_test_utils"] } | ||
lightning-invoice = { version = "0.17.0", path = "../lightning-invoice" } | ||
lightning-persister = { version = "0.0.109", 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.16.0" | ||
version = "0.17.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.8", default-features = false } | ||
lightning = { version = "0.0.108", path = "../lightning", default-features = false } | ||
lightning = { version = "0.0.109", path = "../lightning", default-features = false } | ||
secp256k1 = { version = "0.22", default-features = false, features = ["recovery", "alloc"] } | ||
num-traits = { version = "0.2.8", default-features = false } | ||
bitcoin_hashes = { version = "0.10", 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.108", path = "../lightning", default-features = false, features = ["_test_utils"] } | ||
lightning = { version = "0.0.109", 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.108" | ||
version = "0.0.109" | ||
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.108", path = "../lightning" } | ||
lightning = { version = "0.0.109", path = "../lightning" } | ||
bitcoin = { version = "0.28.1", default-features = false } | ||
|
||
[dev-dependencies] | ||
lightning = { version = "0.0.108", path = "../lightning", features = ["_test_utils"] } | ||
lightning = { version = "0.0.109", path = "../lightning", features = ["_test_utils"] } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe add a mention of #1531, from now on transactions given to
funding_transaction_generated()
must be final and ready to broadcast ?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, I figured skip it - we certainly already required that transactions be final, so its not a change, its just a stricter enforcement of existing preconditions.