Releases: bennyhodl/dlcdevkit
Release list
v1.1.2
I have everything I need. Here are the release notes:
DLC DevKit (DDK) v1.1.2
This is a maintenance release focused on operational robustness. It makes the Postgres connection pool and Esplora client timeout configurable for production deployments, and hardens the release automation against incidental Cargo.lock drift. No breaking changes — this is a drop-in upgrade from 1.1.1.
Breaking Changes
None. v1.1.2 is fully backwards-compatible with v1.1.1. All new configuration is opt-in via environment variables with sensible defaults that preserve existing behavior.
New Features
No new public features in this release.
Bug Fixes
-
Configurable Postgres connection pool & Esplora timeout (#167) — The Postgres connection pool size and the Esplora request timeout were previously hardcoded, which could lead to connection exhaustion or premature chain-query timeouts under production load. Both are now resolved from the environment at startup:
DATABASE_MAX_CONNECTIONS— maximum size of the Postgres pool (default:5; raise to20+for production).ESPLORA_TIMEOUT_SECONDS— Esplora client request timeout in seconds (default:5).
Each value falls back to its default when the variable is unset, unparseable, or zero, and the chosen pool size is now logged when the pool is created. New public constants
DEFAULT_MAX_CONNECTIONSandDEFAULT_ESPLORA_TIMEOUT_SECSare exported for reference. -
Release script no longer fails on incidental
Cargo.lockdrift —cargo's per-crate publish verification can re-resolve dependencies and rewriteCargo.lockafter the release commit is made, dirtying the working tree and aborting the final switch back tomaster. The release script now discards this non-release drift and performs the branch switch best-effort, warning instead of failing once all crates are already published and pushed.
Other Notable Changes
.env.sampleupdated to document the newDATABASE_MAX_CONNECTIONSandESPLORA_TIMEOUT_SECONDSsettings.- Dependency updates —
Cargo.lockrefreshed with updated transitive dependencies.
Installation
Add DDK to your Cargo.toml:
[dependencies]
ddk = "1.1.2"Or via the command line:
cargo add ddk@1.1.2All workspace crates are published at 1.1.2: ddk, ddk-manager, ddk-messages, ddk-dlc, ddk-trie, ddk-payouts, ddk-node, and kormir.
Let me know if you'd like me to tag/draft this as an actual GitHub release, or adjust the tone/detail level.
v1.1.1
Release v1.1.1
Released: 2026-06-27
📥 Installation
ddk = "1.1.1"Commits
bba6db0 Merge pull request #165 from matthewjablack/fix/backward-compat-contract-flags
915204a style: cargo fmt
4c77d7d fix: use contains() for clippy manual_range_contains
7c26d78 fix: add backward compat for pre-contract_flags serialization
be79bc2 Merge pull request #163 from bennyhodl/release-1.1.0
baf9cbe chore: release v1.1.0
59e5630 ci: dont include release notes
ae2eaf1 Merge pull request #162 from bennyhodl/read-workspace
fa73df9 ci: read version correctly in Cargo.toml
2236035 Merge pull request #161 from bennyhodl/improve-ci
1aa9d9d ci: better caching for faster CI
22762b3 Merge pull request #156 from bennyhodl/deps-update
ea0af7f deps: update packages from cargo audit
76b3749 Merge pull request #160 from bennyhodl/cleanup-release-script
a6a1c9a ci: update release script
67f8d7a Merge pull request #157 from matthewjablack/feat/contract-flags-refund-to-accepter
735ded0 feat: add contract_flags support to redirect refund to accepter
5af4034 Merge pull request #150 from w3irdrobot/zmq-blockhash-notifications
a581fe3 Merge pull request #154 from bennyhodl/release-1.0.11
f74dacd refactor(ddk): pass zmq sub into wait function
4971761 chore: add zmq endpoint to node-two
04e0e7b chore(ddk): remove unneeded logging of incoming zmq message
c4ed760 chore(ddk): update zmq builder option description
46486f2 fix(ddk-node): pass log argument to logger creation
53ce173 fix(ddk-node): ensure zmq_blockhash_endpoint has value before use
f2e8278 chore(ddk-node): fix embarrassing misspelling
cb8f08a chore(ddk): fix embarrassing misspelling
108c7ef test(ddk): add test for zmq blockhash message handling
eda111a chore: add ZMQ_BLOCKHASH_ENDPOINT to sample env file
d64b09a feat(ddk): log and exit ZMQ client if subscription fails
715f1e8 fix(ddk): pass stop signal to ZMQ client to ensure correct exit
eefdd7e chore(ddk): DRY up poll/notification code
8317400 docs: note to copy .env.example before running deps
37e6711 chore: enable zmq blockhash notifications on node-one
1b125bb feat(ddk-node): add zmq blockhash notification configuration
70fae6d feat(ddk): add blockhash notifications over zmq
v1.1.0
Here are professional release notes for DDK v1.1.0:
DDK v1.1.0
This release introduces ZMQ-based block notifications for faster, push-driven chain monitoring, adds contract flag support for redirecting refunds to the accepter, and includes dependency updates and CI improvements.
⚠️ Breaking Changes
None. This is a backward-compatible minor release.
Note: The internal
wait()function inddknow accepts a ZMQ subscription parameter (refactor(ddk): pass zmq sub into wait function). This affects downstream code only if you call this function directly.
✨ New Features
- ZMQ block notifications (
feat(ddk)) — DDK can now receive blockhash notifications over ZMQ instead of relying solely on polling, enabling lower-latency chain updates. A newddk/src/chain/zmq.rsmodule powers this path. (#150) - ZMQ node configuration (
feat(ddk-node)) —ddk-nodeexposes configuration for the ZMQ blockhash notification endpoint, including a newZMQ_BLOCKHASH_ENDPOINTsetting (see.env.sample). - Resilient ZMQ client (
feat(ddk)) — the ZMQ client now logs and exits cleanly if its subscription fails, surfacing connection issues early instead of failing silently. - Refund-to-accepter contract flags (
feat) — addedcontract_flagssupport to redirect a contract's refund output to the accepter. (#157)
🐛 Bug Fixes
- ddk: pass the stop signal to the ZMQ client to ensure it shuts down correctly.
- ddk-node: ensure
zmq_blockhash_endpointhas a value before use, preventing misconfiguration errors. - ddk-node: pass the log argument to logger creation so logging is configured as expected.
🔧 Other Changes
- deps: updated workspace dependencies based on
cargo auditfindings to address advisories. (#156) - ci: faster builds via improved caching and a corrected workspace version read from
Cargo.toml. (#161, #162) - ci: cleaned up and updated the release script (
release.js). (#160) - refactor(ddk): DRY'd up the poll/notification code paths and passed the ZMQ subscriber into
wait()to avoid recreating subscribers on every loop iteration. - tests: added coverage for ZMQ blockhash message handling.
- docs: noted to copy
.env.examplebefore running dependencies; minor spelling fixes.
📦 Installation
Add DDK to your Cargo.toml:
[dependencies]
ddk = "1.1.0"All workspace crates are published at 1.1.0:
| Crate | Description |
|---|---|
ddk |
Main DLC DevKit library |
ddk-manager |
DLC management and coordination |
ddk-node |
DLC node implementation |
ddk-dlc |
Core DLC functionality |
ddk-messages |
DLC message protocol implementation |
ddk-trie |
Trie data structure for DLC |
ddk-payouts |
Payout calculation utilities |
kormir |
Oracle implementation |
Full Changelog: v1.0.11...v1.1.0
v1.0.11
DLC Dev Kit v1.0.11
Summary
This release adds support for zero offer collateral in single-funded DLCs, enabling use cases where one party fully funds the contract while the other contributes no collateral.
New Features
- Zero offer collateral for single-funded DLCs — The collateral validation in
ContractInputnow permits an offer collateral of zero when using single-funded DLC channels. Previously, zero collateral was rejected by the input validation. (#153, thanks @matthewjablack)
Breaking Changes
None.
Bug Fixes
None.
Crates
All crates in the workspace are published at version 1.0.11:
| Crate | Description |
|---|---|
ddk |
Main DLC DevKit library |
ddk-node |
DLC node implementation |
ddk-manager |
DLC management and coordination |
ddk-dlc |
Core DLC functionality |
ddk-messages |
DLC message protocol implementation |
ddk-trie |
Trie data structure for DLC |
kormir |
Oracle implementation |
payouts |
Payout calculation utilities |
Installation
Add to your Cargo.toml:
[dependencies]
ddk = "1.0.11"Full changelog: v1.0.10...v1.0.11
v1.0.10
Now I have all the context needed. Here are the release notes:
DLC Dev Kit v1.0.10
Summary
This release adds manual control over refund transaction broadcasting, improves the kormir oracle crate architecture with extracted free functions, removes hardcoded PostgreSQL credentials, and refreshes documentation across the workspace.
Breaking Changes
- Removed default PostgreSQL URL from
ddk-node(#143): The--postgres-urlargument inddk-nodeno longer has a default value. You must now explicitly provide a connection string when using PostgreSQL storage.
New Features
- Manual refund transaction broadcasting (#151): Added
refund_dlc()to the DDK API, allowing users to manually check and broadcast refund transactions for matured contracts. This gives applications more control over when refund transactions are broadcast rather than relying solely on automatic behavior.
Improvements
-
Kormir oracle refactor (#130): Extracted enum and numeric oracle event operations into standalone public functions (
create_enum_event,create_numeric_event, etc.) with comprehensive documentation and examples. This makes it easier to use kormir's oracle functionality without instantiating the fullOraclestruct. -
Security: Removed hardcoded credentials (#143): Removed default PostgreSQL credentials (
postgres://dlcdevkit:dlcdevkit@localhost:5433/ddk_one) from theddk-nodeCLI options. -
Documentation updates (#148): Refreshed READMEs across the workspace including
ddk,ddk-manager,ddk-node,kormir,payouts,dlc-messages,dlc-trie, and the rootREADME.md.
Crates in This Release
| Crate | Version |
|---|---|
ddk |
1.0.10 |
ddk-manager |
1.0.10 |
ddk-node |
1.0.10 |
ddk-dlc |
1.0.10 |
ddk-messages |
1.0.10 |
ddk-trie |
1.0.10 |
kormir |
1.0.10 |
payouts |
1.0.10 |
Installation
Add to your Cargo.toml:
[dependencies]
ddk = "1.0.10"For specific crates:
[dependencies]
kormir = "1.0.10"
ddk-manager = "1.0.10"v1.0.9
Release v1.0.9
Released: 2025-12-09
📦 Published Crates
All crates updated to version 1.0.9:
ddk-trieddk-messageskormirddk-dlcddk-managerddkpayoutsddk-node
📥 Installation
# Add to your Cargo.toml
ddk = "1.0.9"Commits
2e8f2e7 Merge pull request #146 from bennyhodl/fix-num-confs
229ec93 fix: handle 1 confirmation
ea9f60a Merge pull request #104 from kwsantiago/kyle/fix-issue-70
ca3fe51 Merge pull request #136 from bennyhodl/release-1.0.8
9ad2148 add oracle command tests
1be3ba5 add comment back
e6ffbd5 Update cli_opts.rs
52853c8 Added oracle subcommands to the CLI for creating and signing oracle announcements.
v1.0.8
Release v1.0.8
Released: 2025-11-12
📦 Published Crates
All crates updated to version 1.0.8:
ddk-trieddk-messageskormirddk-dlcddk-managerddkpayoutsddk-node
📥 Installation
# Add to your Cargo.toml
ddk = "1.0.8"Commits
475cd9c Merge pull request #135 from bennyhodl/noisy-logging
f2b3369 fix: remove noisy logging
7cd038a Merge pull request #134 from bennyhodl/release-1.0.7
v1.0.7
Release v1.0.7
Released: 2025-10-27
📦 Published Crates
All crates updated to version 1.0.7:
ddk-trieddk-messageskormirddk-dlcddk-managerddkpayoutsddk-node
📥 Installation
# Add to your Cargo.toml
ddk = "1.0.7"Commits
46f4022 Merge pull request #132 from bennyhodl/min-confs
d817c5d manager: NB_CONFIRMATIONS set to use an environment variable with a default of 3
cdea1dd Merge pull request #133 from matthewjablack/log-add/broadcast-logs
6523443 log-add: esplora broadcast logs
e161cff Merge pull request #129 from bennyhodl/release-1.0.6
v1.0.6
Release v1.0.6
Released: 2025-10-02
📦 Published Crates
All crates updated to version 1.0.6:
ddk-trieddk-messageskormirddk-dlcddk-managerddkpayoutsddk-node
📥 Installation
# Add to your Cargo.toml
ddk = "1.0.6"Commits
da7571c Merge pull request #128 from bennyhodl/construct-contract-messages
b36911c fix: regenerate contract brinaries for testing
c9224aa feat: always include adaptor signatures when storing contracts
e9adcb8 fix: public functions to get contract messages
64c3744 Merge pull request #127 from bennyhodl/release-1.0.5
v1.0.5
Release v1.0.5
Released: 2025-09-29
📦 Published Crates
All crates updated to version 1.0.5:
ddk-trieddk-messageskormirddk-dlcddk-managerddkpayoutsddk-node
📥 Installation
# Add to your Cargo.toml
ddk = "1.0.5"Commits
6e19ee8 fix: improve splice logic & prevent DLC input duplication (#126)
028e7ae Merge pull request #125 from bennyhodl/release-1.0.4