# Änderungen Alle nennenswerten Änderungen an diesem Projekt stehen hier. Das Format folgt [Keep a Changelog](https://keepachangelog.com/de/1.1.0/), die Versionierung [Semantic Versioning](https://semver.org/lang/de/). ## [Unveröffentlicht] ## [0.2.0] – 2026-09-10 ### Hinzugefügt - Aufgaben mit Typ, Status, Priorität, Aufwand, Fälligkeit und Herkunft; Projekte als Klammer darum. - Schnellerfassung mit einem einzigen Feld auf der Startseite und in der Inbox. - Inbox: alles ohne Bereich sammelt sich dort und wird später einsortiert. Die Zahl im Menü zeigt, wie viel noch liegt. - Aufgabenliste mit Filtern nach Suche, Bereich, Status, Art und Projekt. Die Filter stehen in der Adresse und lassen sich als Lesezeichen ablegen. - Ideen als eigene Ansicht, ohne Termin und ohne Aufwand; per Klick wird daraus eine Aufgabe. - Projekte mit Arbeitspaketen, Meilensteinen und Fortschritt. - Die Startseite zeigt, was überfällig, heute oder morgen fällig ist. - Handbuchseiten zu Aufgaben, Ideen und Projekten. ### Geändert - Die Startseite zählt nicht mehr nur Bereiche auf, sondern stellt voran, was jetzt dran ist. ### Sicherheit - Statuswechsel folgen festen Übergängen: Abgeschlossenes wird erst wieder geöffnet. Ein abweichender Wert im Formular führt zu einer Meldung, nicht zu einem stillen Zustandssprung. - Angegebene Bereiche und Projekte werden vor dem Speichern geprüft; ein erfundener Verweis gibt eine Meldung statt eines Datenbankfehlers. ## [0.1.0] – 2026-09-10 ### Hinzugefügt - Projektgerüst mit Next 16 (App Router, `output: "standalone"`), React 19, TypeScript strict, Tailwind 4 und shadcn-Primitiven. - `npm run pruefen` bündelt Prettier, ESLint, `tsc --noEmit`, Vitest und ShellCheck. ShellCheck läuft über das Docker-Abbild, wenn es lokal fehlt. - Datenmodell für Benutzer mit Rolle, OIDC-Konten, Passkeys, Bereiche und Audit-Einträge; PostgreSQL 16 über Prisma 7 mit pg-Treiberadapter. - Anmeldung über einen generischen OIDC-Anbieter, über Passkeys (SimpleWebAuthn) und wahlweise über E-Mail und Passwort. - Rollen `BENUTZER` und `ADMIN`. Jede schreibende Aktion prüft die Rolle serverseitig in der Seite **und** noch einmal in der Server Action. - Audit-Protokoll für jede schreibende Aktion, mit Protokollseite für die Verwaltung. Details werden vor dem Speichern gesäubert. - Instanzsteuerung über `INSTANZ=firma|daheim`. Was eine Instanz nicht darf, liefert dort 404 und lädt seine Konfiguration gar nicht erst. - Bereiche mit Farbe, Arbeitsfenster und Tageskapazität je Wochentag. - Zeitrechnung durchgehend in Europe/Berlin, mit Tagesgrenzen, Wochenbeginn am Montag und deutschen Anzeigeformaten. - `/api/health` mit Status, Version, Instanz und Erreichbarkeit der Datenbank. - Hell und Dunkel, Navigation mit Rollenfilter, Oberfläche auf Deutsch. - Dockerfile in drei Stufen und Compose-Stapel mit eigenem Migrationsdienst. - `backup.sh` (pg_dump im Custom-Format, `.env` und Uploads), `update.sh` (mit Rückrollpfad), `scripts/release.sh` und `scripts/zeit.sh`. - Tests: Unit mit Vitest, Integrationstest und Migrationstest gegen eine echte Datenbank, E2E-Rauchtest mit Playwright. - `npm run screenshots` nimmt die Handbuchbilder in einer Wegwerf-Instanz mit ausschließlich erfundenen Daten auf. - README, Schnellstart, Handbuch, ROADMAP und DEVLOG. ### Sicherheit - Anmeldung, Passwort und Passkey antworten bei Fehlschlag immer gleich, damit sich nicht abfragen lässt, wer ein Konto hat. - Sitzungen als JWT, aber Rolle und Sperrstatus werden bei jeder Anfrage frisch aus der Datenbank gelesen — eine Sperre wirkt sofort. - Die WebAuthn-Herausforderung wird nach einem Versuch verworfen, gleich ob er geglückt ist. - Der Demo-Seed verweigert den Dienst ohne `DEMO_MODUS=true`. - `allowDangerousEmailAccountLinking` ist bewusst aktiv: je Instanz gibt es genau einen vertrauenswürdigen OIDC-Anbieter, der die Adresse selbst prüft.