From 82f14ba663522049e946f9a67145f97df7754161 Mon Sep 17 00:00:00 2001 From: Hermes Date: Wed, 12 Aug 2026 13:11:07 -0700 Subject: [PATCH] Update CHANGELOG with all P3-P5 features (DC-076 through DC-108) --- CHANGELOG.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2020649..13f0ad5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **DC-093: Workflow engine retry with exponential backoff.** Actions retry up to 3 times with 2/4/8s delay before giving up. Logs each retry attempt. `exhaustedRetries` field in failure result shows total attempts. - **DC-073: Debug request logger.** Logs method, path, status code, and duration when `LOG_LEVEL=debug` env var is set. Off by default in production. - **DC-066: End-to-end billing integration test.** Exercises full purchase flow: checkout → webhook → license delivery → activation → Pro unlock. 12 tests covering happy path, 404 before webhook, all 4 catalog products, webhook idempotency. +- **DC-076: WebSocket real-time dashboard updates.** `ws://host/api/v1/ws` — bidirectional WebSocket server with subscribe/unsubscribe by event type, JSON message protocol, heartbeat ping/pong, and auto-cleanup of dead connections. +- **DC-077: Internationalization (i18n).** Translation system supporting English, Spanish, French, German, and Arabic. `GET /api/v1/i18n/languages`, `GET /api/v1/i18n/translations/:lang`. Accept-Language header detection with quality values. RTL support for Arabic. +- **DC-080: Plugin/extension system.** PluginManager loads extensions from `{dataDir}/plugins/` that can register custom service types, notification providers, workflow actions, dashboard widgets, and deploy hooks. Manifest-based with permission declaration. +- **DC-071: Error tracking integration.** Sentry-compatible error tracker (opt-in via `ERROR_TRACKING_DSN` env var). Non-blocking, 5s timeout, Express error middleware included. +- **DC-086: Structured error codes.** 80 machine-readable error codes across 12 modules (AUTH, CONTAINER, SERVICE, DNS, CADDY, CA, BACKUP, BILL, HEALTH, NETWORK, SYSTEM, GENERAL). Format: `DC-[MODULE]-[NUMBER]`. `errorResponse()` surfaces `code` at top level. +- **DC-087: JavaScript SDK + TypeScript types.** Zero-dependency client library (326 lines) covering 39 methods across 7 resource namespaces. API key or session auth, automatic CSRF, 5xx retry with backoff. +- **DC-100: Service discovery.** `GET /api/v1/discover` scans running containers, matches against 20 known image patterns, returns suggested service configs with port mappings and existing-service detection. +- **DC-103: One-click auto-route adoption.** `POST /api/v1/discover/adopt` creates service entry + Caddyfile reverse_proxy route + DNS record from a discovered container. +- **DC-104: App catalog.** `GET /api/v1/catalog` browses 76 curated templates with category filtering, search, and popular badges. 7 auto-detected categories. +- **DC-105: Smart defaults wizard.** "What do you want to self-host?" — 6 categories (media, files, network, smart home, development, monitoring), hardware profile limits, cross-category dedup with priority sorting. +- **DC-106: Caddyfile-as-code.** Visual reverse proxy builder API — generate Caddyfile blocks from JSON config (TLS, auth, CORS, headers, WebSocket, compression, strip prefix). 5 preset templates. +- **DC-107: Disaster recovery.** Full-system backup (services, config, credentials, Caddyfile, themes, assets) with SHA-256 checksum verification. One-click restore with partial-failure handling. +- **DC-108: Multi-host fleet management.** Register/deregister remote DashCaddy instances, parallel health probes, multi-host deployment plan generation. API keys stored as SHA-256 hashes. ### Changed - **DC-082: Command injection eliminated.** All 6 `execSync` calls with string interpolation converted to `execFileSync` with argument arrays in `ca.js` and `self-updater.js`.