diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b4e17a..4709f3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,26 @@ 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.4.5] - 2026-06-14 + +### Hinzugefügt +- **Favicons + PWA-Manifest.** Vollständiger Icon-Satz aus dem App-Brand-Mark (oranges + Server-Glyph auf Dunkel): `favicon.svg` (skalierbar), `favicon.ico` (16/32/48), + `apple-touch-icon.png`, `icon-192/512.png` und `site.webmanifest`. In beiden Layouts via + gemeinsames `partials/head-icons` eingebunden (incl. `theme-color`); nginx liefert das + Manifest als `application/manifest+json`. +- **Eigene Fehlerseiten.** Gebrandete, zweisprachige Seiten für 403/404/419/429/500/503 auf + einem eigenständigen Fehler-Layout (Design-Tokens, Brand-Mark) — ersetzen Laravels + Standard-Fehlerseiten. Es werden nie rohe Status-Texte oder Stacktraces gezeigt; in Prod ist + `APP_DEBUG` fest auf `false` gepinnt. + +### Behoben +- **Roher Fehlertext beim Datei-Download.** Der Download-Fehler zeigte die unverpackte + Exception-Meldung; jetzt eine lokalisierte Meldung (`files.download_failed`), konsistent mit + Upload/Löschen. +- **Fehlerseiten-Sprache.** Früh geworfene Fehler (CSRF 419, gematchte Aborts) berücksichtigen + jetzt die Nutzersprache (locale-Auflösung im Exception-Hook, absturzsicher gekapselt). + ## [0.4.4] - 2026-06-14 ### Behoben diff --git a/config/clusev.php b/config/clusev.php index 2970f11..84e36f4 100644 --- a/config/clusev.php +++ b/config/clusev.php @@ -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.4.4', + 'version' => '0.4.5', // Default user channel. Only 'stable' and 'beta' are ever offered to users. 'channel' => 'stable', diff --git a/docs/session-handoff.md b/docs/session-handoff.md index 753a7ce..67fc804 100644 --- a/docs/session-handoff.md +++ b/docs/session-handoff.md @@ -25,6 +25,11 @@ original foundational decisions doc (do not overwrite it). - `v0.4.4` — stop iOS zoom-on-focus: one unlayered `@media (pointer: coarse)` rule in `app.css` forces 16px on `input`/`textarea`/`select` on touch devices (phone + tablet any size), desktop sizing unchanged. + - `v0.4.5` — branding: full favicon/PWA set (`public/favicon.*`, `icon-192/512`, + `site.webmanifest`) from the orange server brand-mark, wired via `partials/head-icons`; custom + bilingual error pages (`resources/views/errors/*` + `lang/errors.php`) replacing Laravel's + defaults, prod `APP_DEBUG=false` pinned, no raw error text. NOTE: unmatched-404 + 503 render in + the DE default (no session pre-StartSession) — deliberate per R16, custom message still shows. - **Dev stack** runs on this VM via `docker compose` (app container IP **172.18.0.6**, host `10.10.90.136:80`). Managed fleet host = **10.10.90.162** (Debian / apt / ufw; the only live-verified target — dnf/zypper/firewalld command strings are built but not live-tested).