chore: release 0.9.26 — 2FA backup code as its own view

feat/v1-foundation v0.9.26
boban 2026-06-20 16:42:30 +02:00
parent 4ea4050c80
commit c0123ffb43
2 changed files with 17 additions and 1 deletions

View File

@ -13,6 +13,22 @@ 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.26] - 2026-06-20
### Hinzugefügt
- **Eigene Backup-Code-Seite im Zwei-Faktor-Login** (`/two-factor-challenge/backup`). Über den Button
„Backup-Code verwenden" auf dem Bestätigungs-Screen erreichbar; trennt den seltenen
Wiederherstellungs-Fall sauber vom Alltags-Login.
### Geändert
- **Der 2FA-Bestätigungs-Screen zeigt nur noch die primäre Methode** (Authenticator-Code *oder*
Security-Key) — der Backup-Code ist nicht mehr inline neben der Eingabe, sondern auf der eigenen Seite.
- **Security-Key-only ohne Secure-Context** (bare-IP/HTTP, wo WebAuthn nicht läuft): der Login leitet
direkt zur Backup-Code-Seite weiter, statt einen Screen ohne nutzbare Methode zu zeigen.
- Gemeinsame Challenge-Logik (Pending-User, Brute-Force-Zähler, Login-Abschluss) in einen Trait
ausgelagert; beide Ansichten teilen denselben Topf — das Backup-Code-Rate-Limit (5/60 s pro
Nutzer+IP, 20/900 s pro Nutzer) gilt unverändert auch auf der neuen Seite.
## [0.9.25] - 2026-06-19
### Hinzugefügt

View File

@ -2,7 +2,7 @@
return [
// First tagged release is v0.1.0 (semantic, not -dev).
'version' => '0.9.25',
'version' => '0.9.26',
// 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