Skip to content

Änderungsprotokoll

Das Änderungsprotokoll wird nicht mehr in der Web-App gepflegt. Release-Notizen und größere Produktänderungen werden ab jetzt hier auf docs.targetshot.app gesammelt.

Aktueller Release

v0.4.33 · 2026-04-15

  • Health Contract: Die Hauptplattform stellt den Ingest-Status jetzt als eigenen leichten Endpoint unter /healthz/ingest bereit, statt ihn nur im vollen aggregierten /healthz zu verstecken.
  • Ops Reliability: Admin-Portal und Connector-Ops ziehen fuer Ingest-Diagnose und Runbook-Pruefung jetzt den dedizierten Endpoint, sodass langsame Gesamt-Checks nicht mehr faelschlich wie ein Ingest-Ausfall aussehen.
  • Diagnostics UX: Timeout-Faelle werden im Backoffice weiterhin sauber als unknown statt als harter Ausfall dargestellt, aber der Normalfall liefert jetzt wieder den echten Live-Worker-Zustand.
  • General: Version bump to v0.4.33 for backend and web app.

v0.4.32 · 2026-04-15

  • Ingest-Sicherheitsvertrag: Normalisierte Topics verlangen jetzt einen konsistenten expliziten Herkunftsvertrag aus source_topic und source_club_id; Konflikte zwischen Payload, Headern und Topic-Scope werden explizit als Contract-Rejects abgelehnt.
  • Ingest-Ops: Der Worker fuehrt jetzt Reject-, Burst-, Quarantaene- und Recovery-Zustaende mit, sodass Source-Drift von echtem Worker-Ausfall getrennt sichtbar bleibt und spaetere akzeptierte Events einen Incident wieder sauber auf recovered setzen koennen.
  • Test & Runbook: Neue Backend-Tests decken Reject-/Quarantaene-Pfade ab, und das Ingest-Runbook dokumentiert Incident-Matrix, Reprocessing-Reihenfolge und Rollback fuer Source-Drift-Faelle.
  • General: Version bump to v0.4.32 for backend and web app.

v0.4.31 · 2026-04-15

  • Release Gate: Staging fuehrt vor dem eigentlichen Image-Build und Deploy jetzt einen expliziten release-preflight aus, der Runtime-Pflichtwerte, URL-Vertrag, CORS, Keycloak-Basis-URLs, Audience-Trennung, Upload-Storage und Mail-Sender fail-closed prueft.
  • Deploy Ops: Der Staging-Workflow legt den Preflight-Bericht als eigenes Artefakt ab und blockiert den eigentlichen Deploy frueh, wenn Auth-, App- oder Storage-Konfiguration nicht zum erwarteten Betriebsvertrag passt.
  • Docs & Planning: Web-Release-Runbook, Deploy-Doku, Production-Readiness-Checklist und Sprint-Stand fuehren den neuen Gate-Vertrag jetzt explizit mit.
  • General: Version bump to v0.4.31 for backend and web app.

v0.4.30 · 2026-04-14

  • Schießdaten-Freigaben sind jetzt als eigener Produktpfad mit Selbstfreigabe, Widerruf, Elternfreigabe-Flow und fail-closed Sichtbarkeitsregeln im Backend und Web verankert.
  • Vereinsübersicht, Jugendpfade und Reports liefern ohne gültige Freigabe jetzt bewusst keine personenbezogenen Schießdaten mehr aus; das Profil zeigt den Freigabestatus und verwaltet den Zugang separat.
  • Geburtstage aus der Spiegelstrecke werden als Debezium-DATE korrekt aus Epoch-Days gelesen, inklusive Replay-/Backfill-Pfad für bestehende Vereinsdaten und Profilanzeige.
  • General: Version bump to v0.4.30 for backend and web app.

v0.4.29 · 2026-04-09

  • Das Jugend-Dashboard ist serverseitig an denselben Club- und Rollen-Scope wie die übrigen Vereins- und Report-Pfade gebunden; Frontend-only-Zugriffe reichen dafür nicht mehr aus.
  • Regression-Tests decken jetzt explizit die erlaubten und verbotenen Rollenpfade für /api/youth/dashboard ab.
  • General: Version bump to v0.4.29 for backend and web app.

v0.4.27 · 2026-04-03

  • Vereinsreports fuer Trainer und Jugendtrainer sind als eigene Club-Flaeche auf einem gemeinsamen serverseitigen Managed-Report-Vertrag ausgeliefert, inklusive PDF-Export.
  • Die Vereinsreports zeigen jetzt nur noch Schuetzinnen und Schuetzen mit aktiver ClubMember-Zuordnung des gewaehlten Vereins; alte ScoreSheet-Daten allein reichen nicht mehr aus.
  • Die Web-Hotpaths in Dashboard, Statistics und Settings wurden weiter entkoppelt, damit nachfolgende Feature-Bloecke nicht direkt wieder in die groessten Dateien kippen.

v0.4.26 · 2026-04-03

  • sportpassId ist jetzt die kanonische Personenidentitaet im Backend; alte Keycloak-sub-Werte werden als Alias gemappt, damit Rollen und persoenliche Daten bei Legacy- oder Duplikat-Accounts nicht mehr auseinanderlaufen.
  • Der persoenliche Vereinsfilter ist serverseitig in den Einstellungen verankert und unterstuetzt Mehrfachauswahl gezielt fuer persoenliches Archiv, Reports und Statistik.
  • FAQ und Aenderungsprotokoll liegen jetzt oeffentlich in den Docs; die Feedback-Webflaeche ist entfernt und die Konto-Navigation in der Sidebar kompakter gebuendelt.
  • Bestenliste und Preisschiessen bleiben bewusst auf ihren konservativen Produktzuschnitten, waehrend der persoenliche Filter und das Event-Scoping technisch gehaertet wurden.

v0.4.25 · 2026-04-03

  • Multi-Club-Auth und Rollen-Gating folgen jetzt dem aktiven Verein plus ClubMember.role statt den alten Keycloak-Club-Rollen.
  • Mitglieder- und Identitätslogik wurden für Multi-Club-Fälle bereinigt, inklusive klarerer Profil- und Vereinszuordnung.
  • Plattform-Admin-Flächen wurden deutlicher von club-spezifischen Verwaltungswegen getrennt.
  • Laufzeit-, Billing- und Routen-Härtung wurden für den produktionsnahen Backend-Pfad erweitert.

Weitere Historie

  • Frühere Release-Einträge werden schrittweise aus dem bisherigen Web-Änderungsprotokoll hierher überführt.
  • Für technische Artefakte und Tags siehe auch die GitHub Releases.