Changelog
All notable changes to Watchgrid are documented here. Format follows Keep a Changelog.
[1.22.0] - 2025-04-01
Added
- Per-device app configuration system — configure app settings (strings, secrets, booleans) through the web UI
- Automatic config substitution on deployment — values injected into K8s manifests at deploy time
- Configuration persistence across redeployments
[1.21.0] - 2025-03-01
Added
- Provisioning profiles — tag-based scripts that run automatically on device registration
- App metadata system — define configurable fields in app manifests
Fixed
- WireGuard peer cleanup on device deletion
[1.20.0] - 2025-02-01
Added
- Audit log — tracks all administrative actions with user, timestamp, and detail
- Multi-tenancy firewall policies — per-tenant WireGuard ACLs
Changed
- Server module split begun —
main.godecomposed intoauth.go,database.go,middleware.go, and domain modules
[1.19.0] - 2025-01-01
Added
- SSH Certificate Authority — server-signed short-lived user certs (24h) and host certs (365d)
./test-ssh-ca.shvalidation script
Fixed
- Magic DNS resolution timing on fresh device registration
[1.18.0] - 2024-12-01
Added
- Two-factor authentication (TOTP) — HMAC-SHA1, ±30s window, custom base32 implementation
- K3s cluster-agent for external Kubernetes cluster registration
Changed
- WireGuard subnet expanded to
100.64.0.0/10(RFC 6598) for multi-tenant scalability
[1.17.0] - 2024-11-01
Added
- Private Docker registry built into the stack — accessible at
registry.wg:5000over VPN - Registry authentication proxy through server API
Fixed
- Agent reconnection after server restart
[1.16.0] - 2024-10-01
Added
- Web terminal — WebSocket-based shell access to devices and K8s pods via
@xterm/xterm - Real-time dashboard WebSocket feed for device status
Changed
- Frontend migrated to React 18 + Vite + TailwindCSS