-
v0.13.0 Stable
released this
2025-09-23 13:47:08 +00:00 | 374 commits to main since this releaseSummary
Version 0.13.0 marks a major milestone for mobile development with the introduction of comprehensive native mobile bindings that enable building Cashu wallets for iOS and Android using Swift and Kotlin. The release introduces cdk-ffi, a new Foreign Function Interface crate that provides UniFFI-based bindings for Swift and Kotlin, with full wallet functionality including multi-mint support, BOLT12 payments, BIP-353 address resolution, and advanced features like P2PK conditions and authentication. Mobile bindings are distributed through dedicated repositories at https://github.com/cashubtc/cdk-kotlin and https://github.com/cashubtc/cdk-swift that provide native package management for Android/JVM and iOS/macOS platforms respectively. The release also delivers significant infrastructure improvements including an event-driven payment architecture with real-time notifications, enhanced database layer with generic key-value storage, improved HTTP transport with proxy support and BIP-353 DNS resolution, and new operational features like Prometheus metrics collection and dedicated authentication database support.
Added
- cdk-common: New
Eventenum for payment event handling withPaymentReceivedvariant (thesimplekid). - cdk-common: Added
payment_methodfield toMeltQuotestruct for tracking payment method type (thesimplekid). - cdk-sql-common: Database migration to add
payment_methodcolumn to melt_quote table for SQLite and PostgreSQL (thesimplekid). - cdk-common: New
MintKVStoreDatabasetrait providing generic key-value storage functionality for mint databases (thesimplekid). - cdk-common: Added
KVStoreTransactiontrait for transactional key-value operations with read, write, remove, and list capabilities (thesimplekid). - cdk-common: Added validation functions for KV store namespace and key parameters with ASCII character and length restrictions (thesimplekid).
- cdk-common: Added comprehensive test module for KV store functionality with transaction and isolation testing (thesimplekid).
- cdk-sql-common: Database migration to add
kv_storetable for generic key-value storage in SQLite and PostgreSQL (thesimplekid). - cdk-sql-common: Implementation of
MintKVStoreDatabasetrait for SQL-based databases with namespace support (thesimplekid). - cdk-common: Added
quote_idfield toTransactionstruct for tracking associated mint or melt quote IDs (thesimplekid). - cdk-sql-common: Database migration to add
quote_idcolumn to transactions table for SQLite and PostgreSQL (thesimplekid). - cdk: Added
amount_mintable()helper and stricter mint quote validation (thesimplekid). - cdk-sql-common: Added persistent
melt_requeststorage with associated blinded messages; new migrations for SQLite and PostgreSQL (thesimplekid). - cdk-cln: Persist last
pay_indexin the mint KV store to avoid missed events across restarts (thesimplekid). - cdk: HTTP subscriptions emit BOLT12 notifications per NUT-17 (crodas).
- cdk: DNS TXT resolution in HttpTransport and MintConnector for BIP‑353 lookups (crodas).
- cdk-ffi: Wallet FFI bindings and async constructors (davidcaseria).
- cdk-prometheus: New metrics crate and optional embedded Prometheus server; integrated metrics across HTTP, database, payments, and mint (feature:
prometheus) (asmo). - cdk-mintd: Optional Prometheus metrics server with configurable address/port via config and env vars (feature:
prometheus) (thesimplekid). - cdk-ldk-node: Web UI improvements (dynamic status, navigation, mobile support) (erik).
- cdk-postgres: Dedicated auth database support with separate schema and migrations when auth is enabled (thesimplekid/asmo).
Changed
- cdk-common: Refactored
MintPaymenttrait methodwait_any_incoming_paymenttowait_payment_eventwith event-driven architecture (thesimplekid). - cdk-common: Updated
wait_payment_eventreturn type to streamEventenum instead ofWaitPaymentResponsedirectly (thesimplekid). - cdk: Updated mint payment handling to process payment events through new
Eventenum pattern (thesimplekid). - cashu: Updated BOLT12 payment method specification from NUT-24 to NUT-25 (thesimplekid).
- cdk: Updated BOLT12 import references from nut24 to nut25 module (thesimplekid).
- cdk: Do not fallback from WebSocket to HTTP on first error in subscriptions; retry only when appropriate (crodas).
- cdk: Abstracted HTTP Transport; centralized
pay_requestlogic into the cdk library (lollerfirst). - cdk: MultiMintWallet refactor for clearer APIs and behavior when managing multiple mints (davidcaseria/thesimplekid).
- cdk: Treat
Noneproxy host matcher as "apply to all hosts" for HTTP transport (lollerfirst). - cdk: QuoteId handling unified as string in APIs and storage (thesimplekid).
- cdk-axum: Close WebSocket connections sooner on shutdown/errors to avoid dangling clients (crodas).
- cdk-sql-common: Consistent ordering for SQL migrations and build uses
OUT_DIRfor embedded migration files (vnprc). - cdk-signatory: Updated protobuf to latest spec and added signatory-related DB migrations (crodas).
- cdk-redb: Bumped dependency version (thesimplekid).
Fixed
- cdk: Wallet melt track and use payment method from quote for BOLT11/BOLT12 routing (thesimplekid).
- cdk: Improve error response details and mapping across HTTP/WS paths (thesimplekid).
- cdk: Fix config being overwritten on startup in certain scenarios (thesimplekid).
- cdk: WASM compatibility fixes for HTTP subscriptions and time handling (use
instant) (gudnuf). - cdk-postgres: Fix reconnection in connection pool and migration prefixes.
- cdk: Check keyset max order when generating/using keysets (thesimplekid).
- cdk: Correct error code returned for duplicate signature conditions (lollerfirst).
- cdk: Ensure all mint quotes are returned in listings (thesimplekid).
- cdk-axum: Improve error response detail structure (thesimplekid).
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
cdk-cli-v0.13.0
147 downloads ·
2025-09-23 15:42:56 +00:00 · 31 MiB -
mintd-v0.13.0
5 downloads ·
2025-09-23 15:43:26 +00:00 · 45 MiB -
mintd-v0.13.0-ldk-node
8 downloads ·
2025-09-23 15:43:05 +00:00 · 75 MiB
- cdk-common: New