chore(release): v0.9.2

One-command installer (Docker install, clusev user, DNS check) + themed MOTD,
professional README, and constant-time password-reset (account-enumeration
timing fix).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
feat/v1-foundation v0.9.2
boban 2026-06-15 19:22:03 +02:00
parent 217189598b
commit 3d86c8db8d
2 changed files with 25 additions and 1 deletions

View File

@ -13,6 +13,30 @@ 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._ _Keine offenen Änderungen — der nächste Stand wird hier gesammelt und als `vX.Y.Z` getaggt._
## [0.9.2] - 2026-06-15
### Hinzugefügt
- **Ein-Befehl-Installer (`sudo ./install.sh`).** Bootstrappt einen frischen Debian/Ubuntu-Host
vollständig: installiert Docker aus dem offiziellen apt-Repo, legt einen dedizierten
`clusev`-Login-Benutzer (Zufallspasswort, `docker`-Gruppe) an, prüft per DNS-Abgleich, ob die
angegebene Domain auf diesen Host zeigt (sonst Warnung + Wahl „Domain trotzdem nehmen — HTTP bis
DNS stimmt" oder „auf der IP bleiben"), baut/startet den Stack, migriert und legt den ersten Admin
an. Das Abschluss-Banner zeigt ausschließlich Dashboard-URL, Admin-Login und — bei Erstanlage — den
`clusev`-Host-Benutzer; Passwörter erscheinen nur dieses eine Mal. Idempotent (Re-Run baut/migriert
neu, Secrets bleiben erhalten).
- **Themed Host-MOTD.** Bei jeder Host-Anmeldung erscheint ein Login-Banner in der
Produkt-Signalfarbe mit der Dashboard-Adresse.
### Geändert
- **Professionelles README** — Produktbeschreibung, Voraussetzungen, Installation (`git clone` +
`sudo ./install.sh`), Domain/TLS (inkl. externem Reverse-Proxy), Updates, Konto-Wiederherstellung
und AGPL-Lizenz; ohne interne Entwicklungs-Hinweise.
### Sicherheit
- **Passwort-Reset in konstanter Zeit.** Unbekannte E-Mail-Adressen durchlaufen jetzt denselben
Verifikationspfad (Dummy-Hash- bzw. Code-Prüfung) wie existierende Konten — die Antwortzeit verrät
nicht mehr, ob ein Konto existiert (Account-Enumeration über ein Timing-Orakel ausgeschlossen).
## [0.9.1] - 2026-06-15 ## [0.9.1] - 2026-06-15
### Geändert ### Geändert

View File

@ -3,7 +3,7 @@
return [ return [
// First tagged release is v0.1.0 (semantic, not -dev). The live build hash // 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). // is resolved from .git at runtime (see App\Livewire\Versions\Index).
'version' => '0.9.1', 'version' => '0.9.2',
// Default user channel. Only 'stable' and 'beta' are ever offered to users. // Default user channel. Only 'stable' and 'beta' are ever offered to users.
'channel' => 'stable', 'channel' => 'stable',