chore(release): v0.9.0
Multi-user admin accounts, database-backed session management (list + per-user/global revoke), auto-restart sentinel (no docker socket), SMTP configuration, audit-log retention, plus the Settings split into per-tab components and the UI batch (image preview, fail2ban bans modal, show-password, system polish). BREAKING: sessions move from Redis to the database — all existing sessions are invalidated on update (log in once again). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>feat/v1-foundation v0.9.0
parent
79c25fbf83
commit
10f594c08d
19
CHANGELOG.md
19
CHANGELOG.md
|
|
@ -11,7 +11,22 @@ 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._
|
||||
|
||||
## [0.9.0] - 2026-06-14
|
||||
|
||||
### Hinzugefügt
|
||||
- **Mehrere Benutzer-Accounts.** Einstellungen → Benutzer: weitere (gleichberechtigte) Admin-Konten
|
||||
anlegen, auflisten, entfernen. Neuanlage erzeugt ein Einmal-Passwort (einmalig angezeigt) +
|
||||
erzwungenen Passwortwechsel beim ersten Login. Das Audit-Log hält fest, wer was getan hat.
|
||||
- **Sitzungsverwaltung.** Einstellungen → Sitzungen: aktive Sitzungen ansehen (Gerät, IP, zuletzt
|
||||
aktiv), „andere Geräte abmelden" (eigene) und „alle abmelden (global)"; je Benutzer „überall
|
||||
abmelden". Jede Abmeldung rotiert den remember-Token.
|
||||
- **Automatischer Neustart.** „Jetzt neu starten" in System schreibt eine Anforderung, die ein
|
||||
Host-Watcher (systemd) ausführt — kein Terminal-Befehl, kein Docker-Socket im Container.
|
||||
- **SMTP-Konfiguration.** Einstellungen → E-Mail: SMTP-Server hinterlegen (Passwort verschlüsselt),
|
||||
Testmail senden. Damit funktionieren Passwort-vergessen-Mails wirklich.
|
||||
- **Audit-Log-Aufbewahrung.** Konfigurierbare Aufbewahrungsdauer + täglicher `clusev:prune-audit`.
|
||||
- **Datei-Manager zeigt Bilder an.** Öffnet man eine Bilddatei (png/jpg/gif/webp/svg/…), wird sie
|
||||
als Vorschau angezeigt statt im Texteditor (SFTP→base64, max. 5 MB, Speichern für Bilder aus).
|
||||
- **fail2ban: gesperrte IPs im Modal.** Die lange Jail-/Bann-Liste wandert aus dem Panel in ein
|
||||
|
|
@ -20,6 +35,10 @@ getaggte Releases (Kanal `stable`, optional `beta`) — niemals Entwicklungs-Bui
|
|||
Reset und Passwort-vergessen.
|
||||
|
||||
### Geändert
|
||||
- **Sitzungen liegen jetzt in der Datenbank** (statt Redis), damit sie auflist- und widerrufbar sind.
|
||||
**Einmaliger Effekt:** beim Update werden alle bestehenden Sitzungen ungültig — einmal neu anmelden.
|
||||
- **Einstellungen in eigene Tabs** (Profil · Sicherheit · Benutzer · Sitzungen · E-Mail), jeweils als
|
||||
eigene Komponente.
|
||||
- **System-Seite aufgeräumt:** Inhalt auf eine angenehme Lesebreite begrenzt (nicht mehr
|
||||
randlos), echtes Speichern-Icon, „Caddy" in der Oberfläche durch neutrale Begriffe ersetzt,
|
||||
plus Hinweis auf die SSH-Notfall-Wiederherstellung (`clusev:reset-admin`).
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
return [
|
||||
// First tagged release is v0.1.0 (semantic, not -dev). The live build hash
|
||||
// is resolved from .git at runtime (see App\Livewire\Versions\Index).
|
||||
'version' => '0.8.0',
|
||||
'version' => '0.9.0',
|
||||
|
||||
// Default user channel. Only 'stable' and 'beta' are ever offered to users.
|
||||
'channel' => 'stable',
|
||||
|
|
|
|||
Loading…
Reference in New Issue