**Coach bearbeitet den eigenen Beobachtungsbogen** (feedback#74): Mit `PATCH referee/observations/:id` korrigiert ein Schiedsrichtercoach seinen abgegebenen Bogen, ohne Frist und auch nach Ablauf seiner B-Qualifikation. Nur der Coach, der den Bogen abgegeben hat, darf das; alle anderen bekommen 403. Felder und Validierungen sind dieselben wie bei der Abgabe (`RefereeObservationSubmission`). Bewertet bleiben genau die Personen, die bei der Abgabe bewertet wurden; eine neue Person kommt dabei nicht hinzu. Hat sich etwas geändert, trägt der Bogen den Vermerk `edited_at`, der in allen Sichten mitkommt (Coach, beobachtete Person, Verwaltung) und im Export als Spalte „Bearbeitet am" steht. Eine Änderung verschickt keine neue Mail an die Schiedsrichter*innen. Neuer Berechtigungsschlüssel `menu_item_referee_observations_own`: wahr bei gültiger B-Qualifikation oder sobald es eigene Bögen als Coach gibt, damit Liste und Bearbeiten auch nach Ablauf der Qualifikation erreichbar bleiben.
**Tabletmodus: Strafschüsse, leeres Tor, 6 gegen 5 und Paraden ohne Position** (Feedback #61 bis #64, fe#344): Ein Schuss an den Schuss-Endpunkten (`games/:id/shots`) kann zusätzlich `from_penalty_shot` (Strafschuss), `empty_net` (aufs leere Tor, der Gegner spielt ohne Torhüter) und `extra_attacker` (das schießende Team spielt ohne eigenen Torhüter, 6 gegen 5) tragen, am Tablet geschaltet wie „aus Freischlag“. Ein Strafschuss ist nie zugleich aus Freischlag, nie geblockt und nie bei herausgenommenem Torhüter; ein Schuss aufs leere Tor hat keinen Torhüter und kann nicht gehalten werden. Widersprüche weist die API nicht ab, sondern gleicht sie an (Ergebnis und gewählter Torhüter gewinnen), damit ältere Tablets ohne die neuen Kennungen nie mit ihrem Puffer hängen bleiben. Ein gehaltener Schuss darf ohne Position (`x`/`y` leer) kommen, für den Schnellzähler „Parade“. Die ausführliche Statistik (`GET games/:id/detailed_stats`) gibt die drei Kennungen am Schuss aus (`x`/`y` dort `null` bei Paraden ohne Position) und zählt je Team und Abschnitt `penalty_shots`, `goals_from_penalty_shot`, `goals_empty_net` und `goals_extra_attacker`. Die Torhüter haben ihre Paraden, Schüsse aufs Tor und Fangquote zusätzlich je Abschnitt (`by_period`); Schüsse aufs leere Tor belasten keine Fangquote. Der normale Spielbericht (`games.events`) bleibt unverändert. Hinweis: Spiele vor diesem Release weisen keine Tore ins leere Tor aus. Die Kachel „Leeres Tor“ bei den Torhütern bedeutete bisher „kein oder unbekannter Torhüter“ und bedeutet jetzt „Tor leer“; „Torhüter unbekannt“ entsteht durch erneutes Tippen auf den gewählten Torhüter.
**YouTube-Thumbnails für die Streamer und je Saison** (feedback#77): Der Overlay-Abruf `public/overlay/game_day` liefert je Spiel zusätzlich `home_team_logo`, `guest_team_logo` (mit Rückfall auf das Vereinswappen) und nach dem Schlusspfiff `result`. Damit zeichnet die Thumbnail-Seite hinter dem OBS-Bedienfeld die Bilder aller Spiele des Spieltags mit einem einzigen Abruf, statt je Spiel `live` abzufragen und damit den Drosseltopf der laufenden Übertragung zu belasten. Neu ist außerdem `GET user/secretary_game_days/season?season_id=…` (ohne Angabe die aktuelle Saison): alle Spieltage der Saison, die der eigene Verein ausrichtet, samt Spielen, Wappen, Halle und Endstand, dazu die Saisons, in denen er ausgerichtet hat. Berechtigt sind wie bei der Sekretariats-Übersicht Vereins- und Teammanager des Ausrichters, Teammanager sehen nur Spieltage mit ihrer eigenen Mannschaft, und die Saisonliste nennt nur Saisons mit solchen Spieltagen; das Zeitfenster der Übersicht gilt hier nicht. Daraus baut die Sekretariatsseite den Thumbnail-Stapel einer ganzen Saison, auch wenn das Overlay-Token längst abgelaufen ist.
Verbessert
**Tor vor bereits erfassten Toren nur mit Bestätigung** (#835): `events/add` und `events/update` lehnen eine Eingabe mit 422 (`code: score_change_unconfirmed`, `changed_goals`) ab, wenn sie den Spielstand schon erfasster Tore ändert, etwa ein Tor mit früherer Zeit oder ein Mannschaftswechsel bei einem früheren Tor. Mit `confirm_score_change: true` wird sie wie bisher eingetragen. Anlass war Spiel 58665: 9:13 wurde als 3:13 erfasst, und aus einem 1:0 wurde still ein 0:1. Gilt für alle Rollen, Altdaten ausgenommen. Löschen bleibt ohne Rückfrage.