# Changelog ## v0.9.0 — Storage Paths Foundation & Backup Toggle Fix (2026-02-17) ### Fixed - Per-app backup toggles not appearing on backup page (root cause: missing global `hdd_path` in controller.yaml made `ParseComposeHDDMounts` return nil) - Each app's HDD_PATH is now read from its own `app.yaml` env section instead of relying on a global config value ### Added - **Storage paths registry** — multiple external storage paths managed in `settings.json` with auto-discovery from deployed apps on startup - **Settings page "Adattárolók" section** — view, add, remove, set default, toggle schedulable for storage paths. Disk usage bars, app counts, mount status badges - **Deploy page storage dropdown** — `path` field type shows registered schedulable paths as dropdown instead of free-text input - **Health check storage monitoring** — checks path accessibility, mount-point validation (warns if data would write to SSD), disk usage alerts at 90%/95% - **Mount-point validation** — `IsMountPoint()`, `IsWritable()`, `PathsOverlap()`, `GetDiskUsage()` (Linux via syscall, stubs for other platforms) ### Changed - Controller docker-compose mount changed from `${HDD_PATH}:${HDD_PATH}:ro` to `/mnt:/mnt:rw` for multi-storage + restore support - `RunHealthCheck()` now accepts storage paths parameter for per-path monitoring - `BuildReport()` accepts storage paths for accurate system info in hub reports - Removed unused `hddPath` parameter from `DiscoverAppData()` signature ## v0.8.0 — Storage Overview, Per-App Backup Toggles & Limited Restore (2026-02-16) - Storage overview on backup page (SSD/HDD progress bars + repo stats) - Restic password visibility with show/copy for disaster recovery - App data discovery (`DiscoverAppData()` with `StackDataProvider` interface) - Per-app backup toggles (HDD data paths per app) - Dynamic backup paths based on enabled apps - Limited app restore from restic snapshots - Flash messages on backup page ## v0.7.2 — Fix Notification Preferences Sync (2026-02-16) - Hub: `POST /api/v1/preferences` endpoint - Hub: Notification section on customer detail page - Controller: `SyncPreferences` method for hub sync - Controller: Sync on settings save + startup ## v0.7.1 — Monitoring Warnings, Dashboard Alerts & Notification System (2026-02-16) - Monitoring page "Távoli monitoring" section - Dashboard alert banners (error/warning/info) - Hub notification relay (Resend email) - Controller-side notifier with cooldown tracking - Notification preferences UI on settings page ## v0.7.0 — Authentication, Persistence & Settings Page (2026-02-16) - `settings.json` persistence layer - Password change via settings page - Session management improvements - DB validation persistence across restarts ## v0.6.3 — Bug fixes (2026-02-16) - `--hdd-path` validation in docker-setup.sh - `window.event` deprecation fix - Page title separator fix - `nextPruneLabel()` Sunday fix ## v0.6.0 — Healthcheck + Central Push + Hub Dashboard (2026-02-16) - Heartbeat + backup integrity pings - Central hub reporting (report builder + pusher) - Hub service with SQLite store + dark theme dashboard ## v0.5.0 — Monitoring Page with Metrics Store (2026-02-16) - SQLite metrics store with WAL mode - Background metrics collector (60s interval) - System + container charts (Chart.js 4.4.7) - Per-container detail views ## v0.4.5 — Dedicated Backup Page (2026-02-16) - Full backup system visibility - DB dump engine + restic integration - Snapshot history + validation - Manual backup trigger ## v0.4.0 — Monitoring & Health + Backups (2026-02-15) - Central job scheduler - CPU/temperature/load monitoring - Healthchecks.io integration - Database dump + restic backup engine ## v0.3.0 — Templates + Server Split (2026-02-15) - go:embed template migration - Server decomposition (auth, handlers, funcmap) - Domain rename (dashboard → felhom) ## v0.2.x — Initial Development (2026-02-13 to 2026-02-15) - Core stack management (deploy, start, stop, restart, update) - Dashboard, stacks page, deploy flow, logs - System info, memory validation - Git sync, app catalog, delete flow