Releases: lightningdevkit/ldk-node
v0.3.0
0.3.0 - June 21, 2024
This third minor release notably adds support for BOLT12 payments, Anchor channels, and sourcing inbound liquidity via LSPS2 just-in-time channels.
Feature and API updates
- Support for creating and paying BOLT12 offers and refunds has been added (#265).
- Support for Anchor channels has been added (#141).
- Support for sourcing inbound liquidity via LSPS2 just-in-time (JIT) channels has been added (#223).
- The node's local view of the network graph can now be accessed via interface methods (#293).
- A new
next_event_async
method was added that allows polling the event queue asynchronously (#224). - A
default_config
method was introduced that allows to retrieve sane default values, also in bindings (#242). - The
PaymentFailed
andChannelClosed
events now includereason
fields (#260). - All available balances outside of channel balances are now exposed via a unified
list_balances
interface method (#250). - The maximum in-flight HTLC value has been bumped to 100% of the channel capacity for private outbound channels (#303) and, if JIT channel support is enabled, for inbound channels (#262).
- The fee paid is now exposed via the
PaymentSuccessful
event (#271). - A
status
method has been added allowing to retrieve information about theNode
's status (#272). Node
no longer takes aKVStore
type parameter, allowing to use the filesystem storage backend in bindings (#244).- The payment APIs have been restructured to use per-type (
bolt11
,onchain
,bolt12
, ..) payment handlers which can be accessed via correspondingNode::{type}_payment
methods (#270). - Fully resolved channel monitors are now eventually moved to an archive location (#307).
- The ability to register and claim from custom payment hashes generated outside of LDK Node has been added (#308).
Bug Fixes
- Node announcements are now correctly only broadcast if we have any public, sufficiently confirmed channels (#248, #314).
- Falling back to default fee values is now disallowed on mainnet, ensuring we won't startup without a successful fee cache update (#249).
- Persisted peers are now correctly reconnected after startup (#265).
- Concurrent connection attempts to the same peer are no longer overriding each other (#266).
- Several steps have been taken to reduce the risk of blocking node operation on wallet syncing in the face of unresponsive Esplora services (#281).
Compatibility Notes
- LDK has been updated to version 0.0.123 (#291).
In total, this release features 54 files changed, 7282 insertions, 2410 deletions in 165 commits from 3 authors, in alphabetical order:
- Elias Rohrer
- jbesraa
- Srikanth Iyengar
Please note the attached LDKNodeFFI.xcframework
archive is intended to be used via SwiftPM.
v0.2.2
0.2.2 - May 21, 2024
This is a bugfix release that reestablishes compatibility of Swift packages with Xcode 15.3 and later.
Bug Fixes
- Swift bindings can now be built using Xcode 15.3 and later again (#294)
In total, this release features 5 files changed, 66 insertions, 2 deletions deletions in 2 commits from 1 author, in alphabetical order:
- Elias Rohrer
Please note the attached LDKNodeFFI.xcframework
archive is intended to be used via SwiftPM.
v0.2.1
0.2.1 - Jan 26, 2024
This is a bugfix release bumping the used LDK and BDK dependencies to the
latest stable versions.
Bug Fixes
- Swift bindings now can be built on macOS again.
Compatibility Notes
In total, this release features 30 files changed, 1195 insertions, 1238
deletions in 26 commits from 3 authors, in alphabetical order:
- Elias Rohrer
- GoodDaisy
- Gursharan Singh
The Rust release can be found via crates.io.
Please note the attached LDKNodeFFI.xcframework
archive is intended to be used via SwiftPM.
v0.2.0
0.2.0 - Dec 13, 2023
Feature and API updates
- The capability to send pre-flight probes has been added (#147).
- Pre-flight probes will skip outbound channels based on the liquidity available (#156).
- Additional fields are now exposed via
ChannelDetails
(#165). - The location of the
logs
directory is now customizable (#129). - Listening on multiple socket addresses is now supported (#187).
- If available, peer information is now persisted for inbound channels (#170).
- Transaction broadcasting and fee estimation have been reworked and made more robust (#205).
- A module persisting, sweeping, and rebroadcasting output spends has been added (#152).
Bug Fixes
- No errors are logged anymore when we choose to omit spending of
StaticOutput
s (#137). - An inconsistent state of the log file symlink no longer results in an error during startup (#153).
Compatibility Notes
- Our currently supported minimum Rust version (MSRV) is 1.63.0.
- The Rust crate edition has been bumped to 2021.
- Building on Windows is now supported (#160).
- LDK has been updated to version 0.0.118 (#105, #151, #175).
In total, this release features 57 files changed, 7369 insertions, 1738 deletions in 132 commits from 9 authors, in alphabetical order:
- Austin Kelsay
- alexanderwiederin
- Elias Rohrer
- Galder Zamarreño
- Gursharan Singh
- jbesraa
- Justin Moeller
- Max Fang
- Orbital
The Rust release can be found via crates.io.
Please note the attached LDKNodeFFI.xcframework
archive is intended to be used via SwiftPM.
v0.1.0
0.1.0 - Jun 22, 2023
This is the first non-experimental release of LDK Node.
- Log files are now split based on the start date of the node (#116).
- Support for allowing inbound trusted 0conf channels has been added (#69).
- Non-permanently connected peers are now included in
Node::list_peers
(#95). - A utility method for generating a BIP39 mnemonic is now exposed in bindings (#113).
- A
ChannelConfig
may now be specified on channel open or updated afterwards (#122). - Logging has been improved and
Builder
now returns an error rather than panicking if encountering a build failure (#119). - In Rust,
Builder::build
now returns aNode
object rather than wrapping it in anArc
(#115). - A number of
Config
defaults have been updated and are now exposed in bindings (#124). - The API has been updated to be more aligned between Rust and bindings (#114).
Compatibility Notes
- Our currently supported minimum Rust version (MSRV) is 1.60.0.
- The superfluous
SendingFailed
payment status has been removed, breaking serialization compatibility with alpha releases (#125). - The serialization formats of
PaymentDetails
andEvent
types have been updated, ensuring users upgrading from an alpha release fail to start rather than continuing operating with bogus data. Alpha users should wipe their persisted payment metadata (payments/*
) and event queue (events
) after the update (#130).
In total, this release includes changes in 52 commits from 2 authors:
- Elias Rohrer
- Richard Ulrich
The Rust release can be found via crates.io.
Please note the attached LDKNodeFFI.xcframework
archive is intended to be used via SwiftPM.