🎉 New Features
Issue #53: Local Authentication Support
- Full user management system with username/password authentication
- Password hashing using SHA-256 with cryptographic salt
- Session-based authentication with secure HTTP-only cookies
- User CRUD operations (Create, Read, Update, Delete)
- Role-based access control (admin/user roles)
- Login page with modern UI design
- Toggle to enable/disable local authentication
Issue #48: SAN (Subject Alternative Names) Certificate Support
- Create certificates with multiple domains in a single certificate
- New
san_domainsfield in API for specifying additional domains - Comma-separated SAN input in web UI
🐛 Bug Fixes
Issue #54: Settings Save - API Bearer Token Required Error
- Added missing API Bearer Token input field
- Added Cache TTL configuration field
- Token generation button with cryptographic random token
Issue #50: Certificates Not Showing After Generation
- Fixed certificate listing to scan both settings AND filesystem
Issue #49: Better Error Messages
- Added descriptive hints to all validation errors
- Pre-validation checks before async operations
✅ Tests
- All 32 tests pass