Skip to content

v1.1.0

Latest

Choose a tag to compare

@bennyhodl bennyhodl released this 01 Jun 16:03
· 2 commits to master since this release
5b608b5

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 in ddk now 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 new ddk/src/chain/zmq.rs module powers this path. (#150)
  • ZMQ node configuration (feat(ddk-node)) — ddk-node exposes configuration for the ZMQ blockhash notification endpoint, including a new ZMQ_BLOCKHASH_ENDPOINT setting (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) — added contract_flags support 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_endpoint has 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 audit findings 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.example before 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