What's New
Major UI/UX overhaul bringing a modern, responsive interface to CertMate.
UI & Navigation
- Unified base layout — shared
base.htmltemplate eliminates nav duplication - Dark mode toggle — manual light/dark switch with
localStoragepersistence - Mobile bottom tab bar — responsive navigation for small screens
- Cmd+K search palette — quick access to certificates, settings, and actions
- Notification bell — in-app certificate expiry alerts
Dashboard
- Table view with sortable columns and slide-out detail panel
- Unified certificates page — server and client certs in one view with toggle
- First-time setup wizard — 3-step guided onboarding (email, DNS provider, first cert)
Pages
- Activity timeline — full audit log with filtering and search
- Settings decomposition — single page split into 6 organized tabs
Backend
- Notification system — SMTP email and webhook delivery for certificate events
- SSE real-time updates — instant UI refresh on certificate create/renew/revoke
- Webhook URL scheme validation — prevents file:// and custom scheme attacks
Frontend Architecture
- HTMX 2.0.8 + Alpine.js 3.15.8 (self-hosted, 29KB total)
- JS modularization — extracted 1,450 lines of inline JS into
dashboard.jsIIFE module - Reusable partials —
certmate.jsshared utilities,client-certs.js,cmd-palette.js,setup-wizard.js
Housekeeping
- Removed unused
client-certificates.htmltemplate - Updated tests for new architecture
- Fixed bandit B310 security finding
- 83 tests passing