Important
Docker image consolidation — action required for existing operators
The two flavor-tagged images have been merged into one. If you're running from the GitHub registry, update your image reference and drop the flavor compose flag:
| Before | After |
|---|---|
ghcr.io/cashubtc/orchard-mintdb-sqlite:<ver> |
ghcr.io/cashubtc/orchard:<ver> |
ghcr.io/cashubtc/orchard-mintdb-postgres:<ver> |
ghcr.io/cashubtc/orchard:<ver> |
FLAVOR=sqlite | postgres in .env |
(removed — no longer used) |
-f docker-compose.yml -f docker-compose.sqlite.yml |
-f docker-compose.yml (sqlite is now built in) |
New Features
- NUT-21/22/29 support — Clear-auth, Blind-auth, and Batched-minting now visible in the mint config and info views.
- Mint watchdog status — Dashboard warns when the nutshell watchdog stops writing snapshots.
Changes
- Single Docker image — Replaces the two flavor-tagged images; SQLite vs Postgres is now picked from
.envalone. See migration note above. - Fail-fast startup — Missing
MINT_DATABASE, missing SQLite file, or missing compose env vars now error with actionable messages. - Fee analytics rework — Fee analytics are more accurate across supported mint configurations.
- Mint config nav polish — Shorter labels, dropped redundant
Nut Nsubtitles. - Supported version bumps — Bitcoin Core 30.0.0, lnd v0.20.0-beta, cln v25.12, tapd v0.7.0-alpha, ollama v0.23.2.
- Dependency bumps —
express-rate-limit,hono,uuid,ip-address.
Bug Fixes
- Client UUID over plain HTTP — Fixes broken id generation in some deployment scenarios.
- Analytics accuracy — Per-keyset improvements, accurate tooltips, multi-unit CDK fees fix.
- Mint dashboard loading state — No longer sticks on failure.
- Activity charts — Now initialize correctly with signal-based inputs.
- Schema generation —
generate:typesno longer fails whenDEV_AUTH_BYPASS=true. - Missing locales + assorted UI bugs.
Testing
- E2E suite rebuilt — Parallelized across stacks (Playwright workers), new settings + oracle setup phases, helpers reorganized under
@e2e/*. - New e2e infra — sqlite-reader sidecar, perpetual block-miner, bolt11 generator, cadence activity simulator with unhappy-path injection.
- New e2e specs — mint info, config, activity, keysets, dashboard, database (backup/restore), balance sheet, bitcoin syncing, AI assistant; analytics matrix expanded to all units × intervals.
- Postgres image — bumped 16-alpine → 18-alpine.
What's Changed (PRs)
- chore: e2e mint suite p1 by @orangeshyguy21 in #181
- feat: Nuts 21,22,29 by @orangeshyguy21 in #182
- Fix: Keyset analytic accuracy by @orangeshyguy21 in #185
- fix: Swap client crypto.randomUUID for uuid by @orangeshyguy21 in #186
- Chore: Single docker build by @orangeshyguy21 in #187
Full Changelog: v1.8.4...v1.9.0