Repository navigation
v2.0.0-rc.5
Pre-release
Pre-release
DLC Dev Kit v2.0.0-rc.5
Summary
This release candidate removes the last DLC channel code from the workspace. The channel manager was removed in an earlier release. With this release, the channel transaction builders in ddk-dlc and the channel wire messages in ddk-messages are also removed. The release also pins one Rust toolchain for all builds, declares a minimum supported Rust version (MSRV), and stops committing the generated gRPC code in ddk-node.
All workspace crates are released at 2.0.0-rc.5: ddk, ddk-manager, ddk-dlc, ddk-messages, ddk-trie, ddk-payouts, ddk-node, and kormir.
⚠️ Breaking Changes
DLC channel module removed from ddk-dlc (3023a10)
- The
dlc::channelmodule (dlc/src/channel) is deleted, including all of its channel transaction builders. create_collaborative_close_transactionmoved fromdlc::channelto thedlccrate root, beside the other transaction builders. This is the only function from that module that was still in use: the manager uses it for the cooperative close of a contract. Change your imports:// Before use dlc::channel::create_collaborative_close_transaction; // After use dlc::create_collaborative_close_transaction;
- The var-int helper in
dlc::utilis removed. Only the channel module used it.
Channel wire messages removed from ddk-messages (3023a10)
dlc-messages/src/channel.rsand the channel message type IDs intypes.rsare deleted.- The channel variants are removed from the
Messageenum.Messagenow has only four variants:Offer,Accept,Sign, andClose. If your code does an exhaustivematchonMessage, remove the channel arms. - The LDK message handler no longer has read arms for channel message types.
Minimum supported Rust version is now declared (71fa512)
- The workspace now sets
rust-version = "1.88". Cargo refuses to build these crates with an older compiler.
Security Fixes
None in this release.
New Features
None in this release.
Bug Fixes
None in this release.
Other Notable Changes
Manager and ddk cleanup (3023a10)
ddk-manager: the unreachable "channel message" arm in the manager is removed. The two call sites now usedlc::create_collaborative_close_transactionfrom its new location.ddk: the message display helper inddk/src/util/ser.rsnow names theClosevariant explicitly.
One pinned toolchain for all builds (71fa512)
- Before this change, CI used four different toolchains: 1.88.0 for build and test, 1.89.0 for clippy, floating stable for the audit, and floating nightly for rustfmt. The nightly of 2026-09-22 changed the block comment layout and broke the format job, although nothing in the repository had changed.
- A new
rust-toolchain.tomlpins the toolchain to1.98.0with theclippyandrustfmtcomponents. All local builds and all CI jobs use this file. - The CI
checkjob is replaced by anmsrvjob. It readsrust-versionfromCargo.tomland runscargo checkwith that compiler. - The lints that clippy 1.98 raises are fixed in
ddk-manager,ddk,ddk-trie, andddk-dlc.
Generated gRPC code in ddk-node (71fa512)
- The gRPC code is now generated from
ddkrpc.protointoOUT_DIRat build time and included in theddkrpcmodule. The public module pathddk_node::ddkrpcdoes not change. - The committed
ddk-node/src/ddkrpc.rs(1,820 lines) is removed. The.rustfmt.tomlthat hid that file from rustfmt is also removed, because it was the only reason the format job needed nightly.
Upgrading
- Contracts: No on-disk changes to storage or contract serialization. Contracts that you stored with earlier releases continue to load and settle. The cooperative close path uses the same
create_collaborative_close_transactionlogic as before, but from a different module path. - Wire protocol: The
Offer,Accept,Sign, andClosemessages have no changes and continue to work with peers on earlier releases. Only the channel message types are removed. A peer that sends a channel message is no longer read as a channel message. - Code changes:
- Change
dlc::channel::create_collaborative_close_transactiontodlc::create_collaborative_close_transaction. - Remove all uses of
dlc::channeland the channel types fromdlc_messages. - Remove the channel arms from exhaustive matches on
dlc_messages::Message. - Make sure that your compiler is Rust 1.88 or newer.
- Change
Installation
Add DDK to your Cargo.toml:
[dependencies]
ddk = "2.0.0-rc.5"Or use cargo:
cargo add ddk@2.0.0-rc.5Full Changelog: v2.0.0-rc.4...v2.0.0-rc.5