# Changelog Alle nennenswerten Änderungen an diesem Projekt werden hier dokumentiert. Format angelehnt an [Keep a Changelog](https://keepachangelog.com/de/1.1.0/), Versionierung nach [Semantic Versioning](https://semver.org/lang/de/). ## [Unreleased] – 1.3.0 (in Arbeit, Branch `feature/v1.3`) ### Geplant - Mehrsprachigkeit (mind. Deutsch, Englisch, Polnisch) für die öffentliche Speisekarte: automatische Übersetzung neu angelegter Einträge mit anschließender manueller Korrekturmöglichkeit - Rezeptvorschläge im öffentlichen Bereich: nicht angemeldete Besucher können Gerichte vorschlagen (mit Dublettenprüfung gegen bestehende Gerichte); Kantinen-Team sichtet und übernimmt Vorschläge im internen Bereich ### Behoben - Passwort-wiederholen-Feld beim Bearbeiten eines Benutzers erschien erst, nachdem im ersten Passwortfeld schon getippt wurde – wirkte wie ein einzelnes Pflichtfeld - Anmelden-Button überlappte auf Mobilgeräten mit breiten Logos (Banner-Format) das Logo, da er absolut in der oberen Ecke positioniert war ## [1.2.0] – 2026-07-18 ### Hinzugefügt - „Heute"-Button in der Wochennavigation (öffentliche Speisekarte und Wochenplan-Editor) - Mobile Ansicht der öffentlichen Speisekarte: umschaltbar zwischen Tag (Standard) und Woche, unabhängig von der Desktop-Tabelle - Allergene und Zusatzstoffe wieder pro Gericht auswählbar (Chip-Auswahl im Formular) und als kleine Kürzel neben dem Gerichtnamen sichtbar – in Speisekarte, mobiler Ansicht und Wochenplan-Editor - Passwort-Wiederholung beim Anlegen neuer Benutzer und beim optionalen Passwort-Reset - Passwort-Anmeldung pro Konto deaktivierbar (nur wenn mindestens ein Passkey registriert ist), Durchsetzung im Login-Flow - `SITE_TITLE`-Umgebungsvariable für Browser-Tab-Titel und Überschrift ohne Logo - Austauschbares Favicon über den Admin-Design-Bereich ### Geändert - Gemeinsame Navigation für Kantinen- und Admin-Bereich statt zwei getrennter Menüs - Live-Suche bei den Gerichten - Mehrfachauswahl zum Batch-Löschen von Gerichten - App erreichbar auf `0.0.0.0` statt nur `localhost` (Docker und nativer Betrieb) - Projekt umbenannt von „Speisekarte“ zu „canteen-menu“ (Docker-, npm- und Supabase-Namen; deutsche In-App-Texte unverändert) - Öffentliche URL über `APP_URL` konfigurierbar (CSRF-Origin-Check hinter Reverse-Proxy, Passkey-Domain) ### Behoben - Next.js band `app/favicon.ico` zusätzlich zu einem dynamisch gesetzten Favicon ein – Favicon wird jetzt immer explizit gesetzt - Weiterleitungen (Logout, Zugriffsschutz) übernahmen nach der 0.0.0.0-Bindung fälschlich die Server-Adresse statt des aufgerufenen Hosts ## [1.1.0] – 2026-07-17 ### Hinzugefügt - Versionsnummer im Fußbereich jeder Seite ## [1.0.0] – 2026-07-17 Erste vollständige Version. ### Hinzugefügt - Öffentliche Speisekarte ohne Login: Wochenansicht Mo–Fr mit den Bereichen Brotzeit, Mittagessen, Mittagessen vegetarisch und Suppe; Wochen-Navigation; Logo zentriert; Allergene & Zusatzstoffe unterhalb der Karte - Anmeldung mit E-Mail/Passwort oder Passkey - Kantinen-Bereich: Gerichte anlegen/bearbeiten/löschen, Wochenplan pflegen, globale Allergen-/Zusatzstofflisten verwalten - Admin-Bereich: Benutzerverwaltung, Farbgebung, Logo-Upload - Eigenes Konto verwalten: Name, E-Mail, Passwort, Passkeys - Row-Level-Security, HTTP-Security-Header, CSRF-Origin-Check - Docker-Setup (App-Image, lokale PostgreSQL-Kopie, Dev-Profil ohne lokales Node.js) - Lokale PostgreSQL-Kopie mit Sync-Skript