docs: changelog for optional pluggable 2FA + journal/cmdk/settings UX fixes

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
feat/v1-foundation
boban 2026-06-14 21:49:44 +02:00
parent 4f4b7225f5
commit 103453877b
1 changed files with 34 additions and 1 deletions

View File

@ -11,7 +11,40 @@ getaggte Releases (Kanal `stable`, optional `beta`) — niemals Entwicklungs-Bui
## [Unreleased]
_Keine offenen Änderungen — der nächste Stand wird hier gesammelt und als `vX.Y.Z` getaggt._
### Hinzugefügt
- **Optionale, pluggbare 2FA (TOTP und/oder Security-Key — oder aus).** 2FA ist nicht mehr
erzwungen: Der Betreiber entscheidet selbst, ob er sein Konto absichert, und wählt TOTP, einen
Security-Key (YubiKey/WebAuthn) oder beides — oder lässt 2FA ganz aus. Empfohlen, nicht Pflicht.
- **Onboarding erzwingt nur noch die Passwort-Rotation** (kein 2FA-Zwang mehr). Nach dem
Passwortwechsel landet man direkt im Dashboard; 2FA wird in den Einstellungen angeboten
(Hinweis „empfohlen").
- **Ein Security-Key kann der einzige/erste Faktor sein** (vorher war TOTP Voraussetzung).
TOTP und Keys werden in Einstellungen → Sicherheit unabhängig hinzugefügt/entfernt.
- **Login-Challenge passt sich dem Faktor an:** TOTP-Nutzer sehen das Code-Feld, reine
Key-Nutzer führen mit dem Security-Key (Backup-Code als Rückfall) — kein irreführendes
6-stelliges Feld mehr.
- **Backup-Codes als Modal** statt eigener Seite: werden beim ersten Faktor erzeugt und einmal
gezeigt, später jederzeit über „Backup-Codes verwalten" wieder einsehbar / neu erzeugbar /
herunterladbar. Die alte `/two-factor/recovery-codes`-Seite + Route entfällt (Download bleibt).
- **Backup-Codes folgen den Faktoren:** beim Entfernen des letzten Faktors werden sie geleert,
bei verbleibendem Faktor behalten.
- **Passwort-vergessen ist key-only-sicher:** ein reiner Key-Nutzer setzt per Backup-Code zurück;
ohne 2FA per E-Mail-Link (falls SMTP) oder `clusev:reset-admin`.
- **Schnellsuche (Strg/⌘ K) findet Server:** Tippen von Name oder IP springt direkt zur
Server-Detailseite.
- **Journal ist live:** `journalctl` wird per Cursor inkrementell nachgeladen (alle 5 s, lückenlos,
ohne Duplikate) statt eines einmaligen Schnappschusses; Anzeige auf 200 Zeilen begrenzt und
scrollbar (fixe Höhe), folgt automatisch dem neuesten Eintrag.
### Geändert
- **Metriken-Broadcast-Gate:** `securityOnboarded()` heißt jetzt „Passwort rotiert" (nicht mehr
„+ 2FA"), da 2FA optional ist — Metriken streamen an eine passwort-rotierte Session.
### Behoben
- **Alleinstehende Firewall-/fail2ban-Box** dehnte sich über die volle Breite; ist jetzt auf eine
sinnvolle Kartenbreite begrenzt, wenn nur ein Tool installiert ist.
- **Einstellungen-Tab in der URL** (`?tab=…`): Reload/Deep-Link bleibt auf dem gewählten Tab statt
auf „Profil" zurückzuspringen.
## [0.6.1] - 2026-06-14