diff --git a/CHANGELOG.md b/CHANGELOG.md index e4f949f..7934730 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,28 @@ getaggte Releases (Kanal `stable`, optional `beta`) — niemals Entwicklungs-Bui _Keine offenen Änderungen — der nächste Stand wird hier gesammelt und als `vX.Y.Z` getaggt._ +## [0.9.28] - 2026-06-20 + +### Behoben +- **Update bricht nicht mehr mit 502 / Weißbild ab.** Beim Auslösen eines Updates erscheint jetzt + eine eigenständige Fortschritts-Seite (`/update-progress`, ohne Livewire), die den Neuaufbau des + Stacks im Browser übersteht: sie pollt die Health-Route, zeigt die Phasen + (Holen/Bauen/Migrieren/Neustart) + verstrichene Zeit und leitet nach der Wiederherstellung + automatisch dorthin zurück, wo man war. (Open-Redirect-sicher: das Rücksprung-Ziel wird auf einen + gleich-origin Relativpfad beschränkt.) +- **Checkbox im Reiter „Anmeldeschutz"** nutzt jetzt das Design-System (Signal-Orange + sichtbarer + Haken über eine wiederverwendbare `x-checkbox`-Komponente; ebenso „Angemeldet bleiben" im Login) + statt der blauen Browser-Standard-Checkbox. +- **2FA-Status-Badge vereinheitlicht.** Identity-Header, Benutzer-Liste und Sidebar zeigen den + „2FA aktiv/aus"-Status jetzt im selben Stil (eine `x-two-factor-badge`-Komponente) statt zuvor + drei verschiedener Darstellungen. + +### Hinweis +- **Security-Key (WebAuthn/YubiKey) erfordert eine Domain mit HTTPS.** Bei Bare-IP-Zugriff ohne + konfigurierte Domain ist ein Security-Key nicht nutzbar (eine IP kann keine WebAuthn-rpId sein); + ein Schlüssel-only-Konto wird dann korrekt auf den Backup-Code geleitet. Für den + Security-Key-Button das Panel unter einer Domain über HTTPS betreiben. + ## [0.9.27] - 2026-06-20 ### Hinzugefügt diff --git a/config/clusev.php b/config/clusev.php index 17efd47..6212170 100644 --- a/config/clusev.php +++ b/config/clusev.php @@ -2,7 +2,7 @@ return [ // First tagged release is v0.1.0 (semantic, not -dev). - 'version' => '0.9.27', + 'version' => '0.9.28', // Deployed commit + branch. install.sh bakes these into .env from the host's .git (the prod // image ships no .git); the Versions page prefers them and falls back to a live .git read in