Änderungsprotokoll

0.5.8 (2026-06-05)

Changed

  • Setlist-Editor: Neue Abstände für bessere Übersicht

  • Chore: Projektversion auf 0.5.8 erhoeht (Backend/Frontend/Release-Metadaten/README-Badge).

  • Manual: Fuer 0.5.7 sind noch keine neuen Screenshots im Handbuch enthalten; diese werden zeitnah nachgereicht.

0.5.7 (2026-06-04)

Changed

  • Frontend-UI: Seitenuebergreifend modernisierte und vereinheitlichte Komponentenstile (Cards, Buttons, Inputs, Tabs, Tabellen) inkl. konsistenter Light-/Dark-Mode-Darstellung.

  • Frontend-UI: Globale Hintergrundverlaeufe fuer die App sowie abgestimmte Verlaufsflaechen in zentralen Dashboard-Bereichen ergaenzt.

  • Setlist-Editor: Song-Elemente in der Songliste zeigen die Saengerfarben wieder sichtbar an und sind im Darkmode kontrastreicher dargestellt.

  • Chore: Projektversion auf 0.5.7 erhoeht (Backend/Frontend/Release-Metadaten/README-Badge).

  • Manual: Fuer 0.5.7 sind noch keine neuen Screenshots im Handbuch enthalten; diese werden zeitnah nachgereicht.

0.5.6 (2026-06-03)

Changed

  • Setlist-Timing: Uebersprungene Songs (uebersprungen = true) werden in der Zeitkalkulation nun mit 0 Sekunden beruecksichtigt.

  • Setlist-Timing: Berechnung von schedule, set_end und set-uebergreifenden Pausen ist auf die neue Skip-Logik abgestimmt.

  • Tests: Neue Abdeckung fuer den Fall, dass ein uebersprungener Song keine Laufzeit zur Setliste addiert.

  • Chore: Projektversion auf 0.5.6 erhoeht (Backend/Frontend/Lockfile/Release-Metadaten/README-Badge).

0.5.5 (2026-06-03)

Added

  • Admin-Konfiguration: setlist_timing ist jetzt im Soft-Config-Editor direkt bearbeitbar.

  • Admin-Konfiguration: Timing-Werte werden im Editor ueber besser lesbare Time-Picker (HH:MM:SS) erfasst.

Changed

  • Soft-Config-Backend validiert und normalisiert setlist_timing inklusive Pflicht-Keys und nicht-negativer Ganzzahlen.

  • Setlist-Timing nutzt keine hartkodierten Defaults mehr, sondern liest die Standardwerte aus appConfig.json (mit sicheren Fallbacks).

  • Chore: Projektversion auf 0.5.5 erhoeht (Backend/Frontend/Lockfile/Release-Metadaten/README-Badge).

0.5.4 (2026-06-02)

Added

  • Proben/Songkarte: Neue Aktion Letzte Probe oeffnet ein Modal mit dem letzten verfuegbaren Protokoll des Songs vor der aktuellen Probe.

Changed

  • Protokollansicht vergangener Proben: Lesbarkeit verbessert durch hoeheren Textkontrast, entspanntere Zeilenhoehe und klar getrennte Song-Bloecke.

  • Status-Buttons in der Songkarte: nicht aktive Stati werden als Outline dargestellt; retired bleibt rot hervorgehoben.

  • Songkarte uebergibt nun rehearsalId und rehearsalBegin an Kindkomponenten fuer kontextbezogene Protokollabfragen.

  • Song-Details: Tab Abstimmung zeigt Abstimmungen jetzt anonymisiert nur noch als Summen (Ja/Nein/Enthaltung) ohne Einzelstimmen.

  • Chore: Projektversion auf 0.5.4 erhoeht (Backend/Frontend/Lockfile/Release-Metadaten/README-Badge).

0.5.3 (2026-05-28)

Added

  • Song Tabelle im Webfrontend flexibler und Platzökonomischer gemacht

  • Songs API: Neuer Endpoint GET /songs/crawler/metadata liefert Song-Metadaten (Dauer, Komponist/Texter, YouTube-Link) fuer interpret + title.

  • Song anlegen: Formular laedt Metadaten nun automatisch nach dem Ausfuellen von Interpret und Titel (inkl. Debounce/Cooldown und Ladeindikator).

  • Backend-Tests: Neue Testfaelle fuer den Metadata-Endpoint (200/404) und erweiterte audioscrawler-Tests inklusive YouTube-Link-Aufloesung ueber Release-Kette.

Changed

  • backend/utils/audioscrawler.py wurde deutlich robustifiziert: besseres Matching/Scoring fuer Recordings/Works, Normalisierung von Personennamen, Fallbacks auf TheAudioDB bei MusicBrainz-Fehlern sowie YouTube-Link-Suche in Recording-, Release- und Release-Group-Relationen.

  • Setlist-Editor: Loeschen von Songs nutzt eine ruhige zweistufige Exit-Animation (erst visuell ausblenden/nach rechts schieben, dann entfernen), um hektische Layout-Spruenge zu reduzieren.

  • Songs-Schema erweitert um SongScrawlOut fuer die strukturierte Rueckgabe der Crawler-Metadaten.

  • Chore: Projektversion auf 0.5.3 erhoeht (Backend/Frontend/Lockfile/Release-Metadaten/README-Badge).

0.5.2 (2026-05-27)

Added

  • Dashboard: Neue Karten fuer naechste Probe und naechsten Auftritt mit Datum/Details und Direktlinks zu /proben bzw. /gigs.

Changed

  • Bugfix: Im Setlist Editor wurde die Zeitberechnung für Datumsüberlauf sensibilisiert.

  • Dashboard: Saisonstatistik-Block auf eCharts umgestellt (Gigs-Fortschritt, Song-Mix, Feedback-Gauge, Genre-Top-Liste).

  • Chore: Projektversion auf 0.5.2 erhoeht (Backend/Frontend/Lockfiles/Release-Metadaten/README-Badge).

0.5.1 (2026-05-26)

Added

  • Neuer Gig-Endpoint GET /gigs/genre_palette liefert eine globale, deterministische Genre-Farbpalette fuer konsistente Farben ueber alle Statistiken hinweg.

Changed

  • Genre-Farben in den Gig-/Saison-Statistikplots werden nun backend-seitig vereinheitlicht und nicht mehr pro einzelnem Datensatz lokal abgeleitet.

  • Genre-Palette auf bis zu 25 eindeutige Farben erweitert, bevor Farben zyklisch wiederverwendet werden.

  • Chore: Projektversion auf 0.5.1 erhoeht (Backend/Frontend/Lockfile/Release-Metadaten/README-Badge).

0.5.0 (2026-05-26)

Added

  • Gig- und Saison-Statistik: Neuer Feedback-Verteilungsplot (Donut) für Live-Bewertungen.

  • Gig- und Saison-Statistik: Genre-Visualisierung mit relativer Verteilung und normalisiertem Stacked-Bar-Verlauf.

  • Genre-Plot: Filter nach Veranstaltungsart in der Saisonstatistik.

Changed

  • Stats-Plots visuell überarbeitet: kompaktere Diagrammbereiche, bessere Achsenbeschriftung, weniger Label-Überlappungen.

  • Chore: Projektversion auf 0.5.0 erhöht (Backend/Frontend/Lockfile/Release-Metadaten/README-Badge).

  • Manual: Changelog um die neuen Feedback- und Genre-Auswertungen ergänzt.

0.4.6a (2026-05-23)

Fixed

  • Setlisteneditor: Beim Drag-and-Drop aus der Songliste in ein Set wurde der neue Song in bestimmten Fällen nicht persistiert. Der Speichern-Flow setzt nun die song_id robust, sodass der Eintrag zuverlässig gespeichert wird.

Changed

  • Projektversion auf 0.4.6a erhöht (Backend/Frontend/Release-Metadaten).

0.4.6 (2026-05-23)

Changed

  • Live-Modus Layout wurde für bessere Bedienbarkeit auf Bühne/Tablet überarbeitet (stabileres Höhenlayout, größere Bewertungsschaltflächen, bessere Kontraste im Light/Dark-Mode).

  • Song-Einfügen und Hilfe werden als Overlay dargestellt, damit die Hauptansicht ohne störendes Vertikal-Scrollen nutzbar bleibt.

  • Setlisteneditor: Songliste unterstützt jetzt Drag-and-Drop direkt in Sets; neue Einträge werden dabei robust als neue Set-Songs verarbeitet.

  • Setlisteneditor: Beim Hinzufügen aus der Songliste kann das Ziel-Set direkt gewählt werden (statt immer nur ans Ende der Setliste).

  • Setlisteneditor: Layout und Bedienelemente wurden für Tablet/Touch verbessert (größere Buttons, optimierte Grid-Aufteilung, bessere Sichtbarkeit von Set-/Song-Infos).

0.4.5 (2026-05-22)

Added

  • New backend export endpoint GET /gigs/{gig_id}/forscore-setlist generates forScore-compatible .4ss setlists (PLIST XML).

  • Gig detail view in the iOS app now includes a dedicated action to download/share forScore-Setliste (.4ss) directly from GigDetailView.

  • Backend tests now cover forScore setlist export success and 404 handling for unknown gigs.

Changed

  • Project version metadata bumped to 0.4.5 across backend/frontend release files and README badge.

0.4.4 (2026-05-19)

Added

  • Shared utility backend/utils/pdf_palette.py now centralizes logo-based palette extraction for schedule and setlist PDFs.

  • Setlist palette resolver now supports druckfreundlich as explicit mode switch (print-friendly light palette).

Changed

  • Setlist PDF and schedule PDF now use the same shared palette extraction pipeline.

  • Palette resolvers now return robust default schemes when no logo is available.

  • Project, frontend and lockfile versions bumped to 0.4.4.

0.4.3 (2026-05-18)

Added

  • Gig edit forms now use a second-precision time picker (HH:MM:SS) in desktop and mobile views.

Changed

  • Gig time values are normalized to HH:MM:SS during edit and save flows.

  • Gig schedule fixed points (doors, begin, end) now support midnight rollover correctly.

  • Project and frontend versions bumped to 0.4.3.

0.4.2 (2026-05-17)

Added

  • Setlist PDF supports a second, print-friendly style via design=print.

  • Gig UI offers a dedicated download action for the print-friendly setlist PDF.

  • Setlist PDF now includes a subtle logo watermark.

  • New backend test for print-style setlist PDF export.

Changed

  • Setlist PDF visual design was aligned with the schedule PDF style.

  • Setlist PDF header was reduced in height to free more content space.

  • Setlist PDF accent colors were adjusted to orange tones matching the schedule style.

  • Setlist PDF footer now includes Generated by libreStage | pakleds-patentoffice.de.

  • Pause display in setlists moved from „before next set“ to „after current set“.

  • Project and frontend versions bumped to 0.4.2.

v0.4.1 (2026-05-15)

  • Fix: Setlist-Generator - Direkter Import von timedelta am Anfang.

  • Setlist-Editor: Neue Shortcuts fuer schnelleres Arbeiten (u. a. Strg/Cmd + Shift + Enter fuer neues Set am Ende)

  • Setlist-Editor: Enter im Suchfeld fuegt nur noch ohne Zusatz-Tasten hinzu und scrollt anschliessend automatisch ans Ende der Setlist

  • Setlist-Editor: Shortcut zum Entfernen des letzten Songs aus dem Stack ergaenzt (Strg/Cmd + Shift + Backspace/Entf)

  • Setlist-Editor: Direkte Schnellwahl fuer Suchtreffer 1-4 ueber Strg/Cmd + Opt/Alt + Shift + 1-4 im Suchfeld

  • Benutzerhandbuch: Setlist-Editor-Dokumentation an die neuen Shortcuts und das aktualisierte Suchfeld-Verhalten angepasst

v0.4.0 (2026-05-12)

  • Admin: Neue Seite Konfiguration unter /admin/config zum Bearbeiten der weichen appConfig.json-Parameter direkt in der Anwendung

  • Admin: Neue API-Endpunkte GET /admin/config/soft und PUT /admin/config/soft mit strikter Rollenpruefung (nur admin)

  • Konfiguration: appConfig-Verarbeitung im Backend erweitert um Validierung, Normalisierung, atomisches Schreiben und Reload ohne Neustart

  • Frontend: Soft-Config-Editor nutzt jetzt das zentrale Toast-System fuer Erfolg/Fehler-Hinweise statt lokaler Inline-Alerts

  • Frontend: Zeitstempel Stand in der Admin-Konfiguration wird im deutschen Datums-/Zeitformat angezeigt (formatGermanDateTime)

  • Frontend: Plus/Minus-Aktionen im Config-Editor auf die ueblichen Icon-Button-Stile vereinheitlicht

  • Tests: Neue Backend-Tests fuer Admin-Config-Endpunkte inkl. Auth, Validierung und Persistenz

  • Benutzerhandbuch: Neues Kapitel zur Admin-Konfiguration ergaenzt

v0.3.16 (2026-05-04)

  • Song-Vorschläge: Spalten Mein Feedback und Gesamtfeedback zur gemeinsamen Spalte Abstimmung zusammengefuehrt

  • Song-Vorschläge: Stimmanzeigen (Ja/Nein/Enthaltung) als klickbare Buttons umgesetzt; Musiker koennen direkt ueber die Badge-Buttons abstimmen

  • Song-Vorschläge: Aktive eigene Stimme wird visuell hervorgehoben

  • Song-Vorschläge: Mobile Darstellung der Abstimmungs-Elemente verbessert (unterhalb md untereinander, ab md wieder nebeneinander)

  • Song-Details: In der normalen Detailansicht kann ein Song per Dropdown einer geplanten zukuenftigen Probe zugewiesen werden

  • Song-Details: Das Dropdown enthaelt eine leere Option (Keine Zuordnung), um den Song keiner Probe zuzuweisen

v0.3.15 (2026-04-18)

  • Songs: Beim Anlegen eines Songs prueft das Formular jetzt live die Kombination aus Titel und Interpret gegen bestehende Eintraege (inkl. kleiner Schreibabweichungen)

  • Songs: Bei wahrscheinlicher Dublette erscheint direkt unter Interpret ein Warning-Hinweis mit dem Status des bereits vorhandenen Songs

  • Songs: Das Speichern bleibt trotz Hinweis weiterhin moeglich

  • Benutzerhandbuch: Abschnitt Song anlegen um die neue Dublettenwarnung ergaenzt

v0.3.13 (2026-03-16)

  • Proben: Beim Erstellen einer Probe kann jetzt optional eine Endzeit gesetzt werden

  • Proben: Wird keine Endzeit angegeben, setzt das Backend automatisch Startzeit + 2 Stunden

  • Proben: Validierung für Zeitbereiche ergänzt (Endzeit muss nach der Startzeit liegen)

  • Proben: Kartenansicht und Lösch-Bestätigung zeigen den Zeitraum (Start-Ende) statt nur Datum/Startzeit

  • Benachrichtigungen: Erstellungs-Text (Mattermost) zeigt den vollständigen Proben-Zeitraum

  • iCal: Öffentlicher Kalender-Export zeigt bei Proben den Zeitraum im Summary und in der Beschreibung

  • Benutzerhandbuch: Proben-Dokumentation auf das neue Zeitbereichs-Verhalten aktualisiert

v0.3.12 (2026-03-15)

  • Benutzerverwaltung: Benutzer können nicht mehr endgültig gelöscht werden – stattdessen wird ein Status (active / deactivated) eingeführt

  • Benutzerverwaltung: Neuer 🚫 Deaktivieren-Button pro Tabellenzeile deaktiviert einen Benutzer nach Bestätigung; deaktivierte Benutzer können sofort über ✅ Reaktivieren wieder freigeschaltet werden

  • Benutzerverwaltung: Neue Status-Spalte in der Benutzertabelle zeigt aktiv / 🚫 deaktiviert farbig an

  • Sicherheit: Beim Deaktivieren werden alle aktiven Refresh-Tokens des Benutzers sofort widerrufen → Logout aller Geräte ohne Verzögerung

  • Sicherheit: Jeder API-Request prüft den Benutzerstatus direkt in der Datenbank – deaktivierte Benutzer erhalten sofort HTTP 401 (kein Warten auf Token-Ablauf)

  • Sicherheit: Deaktivierte Benutzer können sich nicht einloggen und haben kein Stimmrecht bei Song- und Meinungsumfragen

  • Sicherheit: Admins können ihren eigenen Account nicht deaktivieren (Schutz vor versehentlicher Aussperrung)

  • Erinnerungen & Benutzerliste: Deaktivierte Musiker erhalten keine Erinnerungs- Benachrichtigungen mehr und erscheinen nicht in Auswahllisten

  • Datenbank: Migration 2d3e2798b7a5 fügt Spalte status VARCHAR(32) NOT NULL DEFAULT 'active' zur Tabelle users hinzu; alle bestehenden Einträge werden automatisch auf active gesetzt

  • Backend: DELETE /admin/users/{id} setzt nun status = deactivated statt den Datensatz zu entfernen; neuer Endpoint PUT /admin/users/{id}/activate

v0.3.11 (2026-03-15)

  • Benutzerverwaltung: Admins können Benutzer direkt über ein +-Formular anlegen (Username, Klarname, E-Mail, Passwort, Rolle, Musiker, Sänger)

  • Benutzerverwaltung: Neuer 🗑️-Button pro Tabellenzeile löscht einen Benutzer nach Bestätigung über das Standard-Bestätigungs-Modal

  • Benutzerverwaltung: Tabelle wird nach Anlegen und Löschen automatisch aktualisiert

  • Backend: neuer DELETE /admin/users/{id} Endpoint

  • Benutzerhandbuch: Abschnitt „Benutzerverwaltung“ vollständig neu dokumentiert

v0.3.10 (2026-03-15)

  • Live-Modus: Vorwärts-Sprung über die Setlisten-Übersicht (Shortcut L) markiert den aktuellen Song und alle übersprungenen Songs zwischen aktuellem und Ziel-Song automatisch als übersprungen; Rückwärts-Sprünge bleiben ohne Seiteneffekte

  • Proben: Vergangene Proben werden als schreibgeschütztes Protokoll angezeigt – Probenkommentar, Songs mit Status, Todos und Kommentaren, keine Bearbeitungs-Controls

  • Proben: Protokoll-Ansicht verschlankt – Markdown-ähnliche Textdarstellung ohne Badges, Rahmen oder verschachtelte Listen

  • Proben: Suchbegriff aus der übergeordneten Suche wird im aufgeklappten Protokoll farbig hervorgehoben; separates inneres Suchfeld entfernt

  • Proben: Suche über alle vergangenen Proben – filtert nach Datum, Song-Titel, Interpret und Probenkommentar

  • Proben: Eine Probe bleibt den ganzen Probentag und den Folgetag editierbar und unter „Bevorstehende Proben“ sichtbar; erst danach wechselt sie ins Protokoll

  • Proben: Schaltfläche „Neue Probe“ als kompaktes +-Icon direkt neben der Seitenüberschrift platziert (nur für Admins/Editoren sichtbar)

v0.3.9 (2026-03-14)

  • Song-Vorschläge: Abstimmungsanzeige als kompakte Badge-Zeile überarbeitet – Ja/Nein/Enthaltung mit absoluten Werten und Prozentzahlen direkt sichtbar, kein Hover mehr erforderlich

  • Song-Vorschläge: Quorum-Kriterium eingeführt – max(3, floor(n × 0,75)) Stimmberechtigte müssen abgestimmt haben, bevor der Übernahme-Button erscheint

  • Song-Vorschläge: Übernahme-Button (✓, grün) erscheint für Admins/Editoren sobald Quorum erreicht und ≥ 50 % Ja-Stimmen vorliegen; kein Button solange das Quorum nicht erfüllt ist

  • Song-Vorschläge: Anzeige „∑ abgegeben / gesamt“ zeigt Abstimmungsfortschritt; Quorum-Detail im Tooltip

  • Song-Vorschläge: „(n f. Quorum)“-Texthinweis entfernt – Layout schlanker

  • Benutzerhandbuch: Abschnitt „Song-Vorschläge & Abstimmung“ vollständig neu dokumentiert

v0.3.5 (2026-03-10)

  • Setlist-Editor: Bug-Fix beim Hinzufügen mehrerer Sets ohne Seitenreload

  • Setlist-Editor: Rename-Funktion für Sets stabilisiert

  • Frontend auf Svelte 5 / Skeleton 4.12.1 migriert

  • Zeitraum-Generierung im Gig-Formular korrigiert

v0.3.0

  • Live-Modus: Swipe-Navigation auf Mobilgeräten

  • Live-Modus: Song-Bewertung (😞 / 😐 / 😊)

  • Song-Statistiken: Proben- und Gig-Historie

  • GEMA-Export: übersprungene Songs werden ausgeschlossen

v0.2.0

  • Saison-Statistiken im Dashboard

  • Abstimmungs-System (Meinungsumfrage, Terminfindung, Auftrittsanfrage)

  • Passwort-Stärke-Validierung

  • Rate-Limiting auf sicherheitskritischen Endpoints

v0.1.0

  • Initiale Veröffentlichung

  • Gig-Verwaltung mit Setlist-Editor

  • Song-Datenbank, Proben-Planung

  • Benutzerverwaltung mit Rollen (admin / editor / musician)

  • iCal-Export, PDF-Generierung