Changelog
Was sich seit der ersten Version verändert hat. Versionierung nach Semantic Versioning.
v1.10.3 Aktuell
4. Juni 2026
Patch-Badge zeigt jetzt die Game-Patch-Nummer
- Bugfix: Footer-Badge zeigte „Patch 16.11" statt „Patch 26.11". Die Versionsnummer kommt von Riot Data Dragon, das seit Riots Umstellung auf die Season-Jahr-Nummerierung im alten Schema weiterzählt (ddragon 16.x = Game-Patch 26.x). Der konstante Major-Offset (+10) wird jetzt umgerechnet — angezeigt wird die Patch-Nummer, die man aus dem Client und von op.gg kennt.
v1.10.2
24. Mai 2026
Stats-Dashboard-Link im Header
- Neu: dezente „shokz Stats"-Pille neben dem Twitch-Button im Header — verlinkt aufs persönliche Stats-Dashboard unter
shokz-stats.xibeca-labs.ch (Last Match, Form-Tracker, Signature-Champions, Pantheon). Eigenständiges Tool, lebt parallel zur Counter-App.
- Pulsierender grüner Dot als visueller Hinweis — bewusst farblich vom roten Twitch-LIVE-Dot abgesetzt, damit klar ist: anderes Tool, nicht der Stream-Status.
- Mobile-Polish: Label klappt auf kleinen Screens ein (analog zum Twitch-Button), nur der Dot bleibt — Header bleibt aufgeräumt.
prefers-reduced-motion respektiert die Pulse-Animation und schaltet sie für entsprechend konfigurierte Systeme aus.
v1.10.1 Nur Streamer
22. Mai 2026
Overlay-Feature ausgebaut
- Das OBS-Stream-Overlay und der Controller (
/overlay, /overlay-control) sind entfernt. Das Feature war eine Know-how-Übung (KV-Sync, Secret-Auth, Live-Push) und nie produktiv im Stream genutzt worden. Aufräumen statt schleppen.
- Worker-Route
/api/overlay-state entfernt, KV-Binding OVERLAY_STATE aus der Production-Config raus, Production-Secret OVERLAY_SECRET per wrangler secret delete gelöscht.
overlay.html + overlay-control.html bleiben im Repo (excluded vom Production-Build), damit das Feature im Zweifel mit wenig Aufwand reaktivierbar wäre.
- Public App ist nicht betroffen — die Counter-Picker-Funktionalität läuft unverändert.
v1.10.0
22. Mai 2026
Multi-Pick: „Beste Counter overall" über mehrere Gegner
- Neu: Schnittmengen-Empfehlung außerhalb des Pools — bei 2+ gewählten Gegnern berechnet das Frontend parallel die op.gg-Top-Counter-Liste für jeden Gegner und zeigt die Top 3 Champs, die in allen Listen vorkommen (Min. 30 Spiele pro Matchup), sortiert nach games-gewichtetem Avg-WR. Antwort auf „welcher Champ aus dem ganzen Roster countert diese Lineup-Auswahl am besten — und ist er schon in meinem Pool?".
- „+ Pool"-Button bei jedem Vorschlag (wenn ein freier Slot da ist) übernimmt den Champ direkt in den Pool und reloadet die Matchup-Daten. Wer schon im Pool steht, kriegt eine „★ Pool"-Pille.
- Klare Empty-States: wenn keine Schnittmenge existiert oder ein Gegner zu wenig op.gg-Sample für den gewählten Tier/Region hat, sagt's die Box explizit statt zu raten.
- Limits-safe: max ~5 parallele Worker-Calls pro Multi-Pick,
/api/enemy-counters cached 6h pro champ×lane×region×tier — Cloudflare-Free-Plan-Budget wird nicht spürbar belastet.
v1.9.0
22. Mai 2026
Multi-Pick: mehrere Gegner gleichzeitig
- Neu: Mehrere Gegner gleichzeitig pickbar — die Suche und die Quick-Picks fügen jetzt zu einer Chip-Liste hinzu statt zu ersetzen. Jeder Chip ist per Klick entfernbar, bereits gewählte Gegner werden aus den Such-Vorschlägen gefiltert.
- Aggregat-Ranking bei 2+ Gegnern: pro Pool-Champ wird der games-gewichtete Avg-WR über alle gewählten Gegner berechnet (Σ Wins / Σ Spiele). Sortierung absteigend; der Sample-Count zeigt „N von M Matchups", damit transparent bleibt wie viel Daten hinter dem Aggregat stecken.
- Per-Enemy Mini-Badges pro Pool-Row zeigen die einzelnen WRs gegen jeden gewählten Gegner (grün ≥ 52 %, neutral ≥ 48 %, rot darunter, „—" wenn keine Daten). So bleibt sichtbar ob ein Aggregat-Sieger nur deshalb gut aussieht weil ein Matchup besonders stark ist.
- Bei 1 Gegner identisches Verhalten wie vorher — Tip-Box und „Bester Counter overall" bleiben Single-Mode-only, weil beides matchup-spezifisch ist und nicht sinnvoll aggregierbar wäre.
v1.8.1
18. Mai 2026
Security-Härtung
- Content-Security-Policy + Security-Header auf allen Responses: CSP mit restriktiven img/connect/script-Allowlists,
X-Content-Type-Options: nosniff, X-Frame-Options: SAMEORIGIN, Referrer-Policy: strict-origin-when-cross-origin, Permissions-Policy für Kamera/Mikrofon/Geolocation.
- Champ-Validation im Worker:
/api/matchups, /api/enemy-counters und /api/tip filtern Champion-Slugs gegen den Riot-Catalog, bevor sie in Cache-Keys oder op.gg-Fetches landen — Schutz gegen Cache-Bloat durch Permutations-Angriffe.
- Overlay-Controller-Secret im HTTP-Header statt Query-String. Logs und Browser-History sehen den Key nicht mehr.
- Defense-in-Depth: Champion-Namen werden in allen
innerHTML-Templates konsequent escaped — Schutz falls eine Datenquelle je kompromittiert wäre.
v1.8.0
18. Mai 2026
Blind-Helper, Skill-Order, Elo-Hinweis & Ban-Polish
- Neu: Blind-/Pivot-Helper — solange kein Gegner gepickt ist, zeigt eine Tabelle pro Pool-Champ den games-gewichteten Avg-WR, den schwächsten Counter (Worst-Case) und die Anzahl harter Counter (< 47 % WR). Antwort auf „welcher meiner Picks ist am wenigsten counterbar wenn ich blind picken muss?". Signature-Picks hervorgehoben, optionaler Filter „Nur ★ Signature".
- Neu: Skill-Order pro Pool-Champ — pro Result-Row erscheint neben Runen/Spells die häufigste Skill-Priorität (z.B. Shen: Q › E › W, 99 % Pick). Mit „GENERELL"-Pille markiert weil op.gg's Skill-Reihenfolge nicht matchup-spezifisch ist.
- Neu: Elo-/Region-Hinweis — dezenter Banner oben, der erklärt warum Tier + Region auf deine Ranked-Realität gestellt sein sollten. Dismissable.
- Ban-Empfehlungen aufgeräumt: Top 5 → Top 6, Section ein-/ausklappbar mit Count-Pill, default eingeklappt um die Übersicht zu schonen.
- Bugfix Worst-Case: der Min-Sample-Filter im Blind-Helper war zu aggressiv und hat in Platinum/niedrigeren Tiers die echten harten Counter rausgeworfen. Filter gesenkt, jetzt aligned mit op.gg's eigenem Counter-Widget.
v1.7.2 Nur Streamer
18. Mai 2026
Overlay-Controller: Live-Suche statt Tippen
- Pool, Gegner-Pick und Mein Pick haben jetzt die gleiche Live-Suche wie die Hauptapp: tippen filtert die Liste live, Pfeiltasten navigieren, Enter wählt. Tippfehler-resistent — der Wert ist immer ein valider Champ-Key. Pool wird als Chip-Liste angezeigt, per
× an der Pille entfernbar.
- Mein Pick außerhalb Pool zeigt jetzt Daten: Wenn shokz einen Champ pickt der nicht in seinem Pool-Slot steht, holt das Overlay trotzdem das Matchup gegen den Gegner und zeigt Winrate + Spielzahl (statt „keine Daten").
- Favicons für Overlay und Overlay-Controller ergänzt (waren leer → hässliches Browser-Default).
- Betrifft nur den privaten Streamer-Controller — die öffentliche App bleibt unverändert.
v1.7.1
17. Mai 2026
Changelog-Popup: Multi-Release-Modus
- Das „Was ist neu"-Popup zeigt jetzt alle Releases nachgeholt, die du seit deinem letzten Besuch verpasst hast — nicht mehr nur die aktuellste Version. Versionen werden als gestapelte Cards mit eigenen Highlights gerendert.
- Erstbesucher sehen jetzt die komplette Feed-History (lernen alle bisherigen Features auf einen Blick kennen), nicht mehr nur das aktuellste Release.
- Bei nur einer neuen Version verhält sich das Popup wie vorher (Single-Mode).
v1.7.0
17. Mai 2026
Draft-Coaching: Ban-Suggester, Signature-Picks & Changelog-Popup
- Neu: Ban-Empfehlungen unter Pool/Gegner-Pick — zeigt die Top-Champs (max 5), die deinen Pool am stärksten ausschalten. Pro Card: Champ-Bild, „countert N von M"-Badge, Liste der hart getroffenen Pool-Champs mit WR. Klick setzt den Champ als Gegner-Pick.
- Neu: Signature-Sterne pro Pool-Slot — markiere deine Comfort/Go-To-Picks pro Lane. Im Ergebnis-Bereich werden sie mit einem Stern und einem grünen Akzent-Hintergrund hervorgehoben. Sortierung bleibt unbeeinflusst — der Stern ist reiner visueller Marker.
- Neu: „Was ist neu"-Popup — bei jedem Versions-Bump siehst du eine Kurz-Zusammenfassung beim Page-Load. „Verstanden" schließt es bis zur nächsten Version, X-Close lässt es beim nächsten Visit wieder erscheinen.
- Bugfix: das Gegner-Suchfeld-Dropdown öffnete sich ungewollt bei jedem Reload. Behoben.
v1.6.1
17. Mai 2026
Request-Budget-Fix
- Twitch-Polling drastisch gedrosselt: von 60 s auf 180 s erhöht, Visibility-Debounce von 30 s auf 60 s. Live-Status-Pill kann jetzt bis zu 3 min Latenz haben, dafür sinkt der Worker-Request-Verbrauch um ~70 %. Hintergrund: das Polling fraß auf dem Cloudflare Free Plan (100k/Tag) den Großteil des Budgets.
- Browser-Cache für
/api/twitch aktiviert — verhindert doppelte Worker-Hits bei kurz aufeinanderfolgenden Polls.
- Cloudflare-Edge-Cache-Rule für
/api/twitch (30 s Edge-TTL, Bypass-Browser-Cache): der CF-Edge serviert die Twitch-Response ohne Worker-Invocation. Bei viralen Traffic-Spikes (1000+ Viewer parallel) bleibt der Worker-Verbrauch bei max ~2.880 Hits pro Tag statt zu eskalieren.
v1.6.0
17. Mai 2026
Live-Overlay für OBS (für shokz)
- Neu: OBS-Browser-Source Overlay — zeigt während dem Stream den aktuellen Gegner-Pick und shokz's Counter-Champion mit Winrate, Spielanzahl und Verdict. Transparenter Hintergrund, passt direkt über jeden Gameplay-Stream.
- Neu: Streamer-Controller mit Quick-Buttons für Gegner und Pool-Pick, Live-Vorschau, OBS-Setup-Anleitung. Auth über privates Shared-Secret, das nur shokz bekommt.
- Failsafe-Design: zweite Wrangler-Config verhindert versehentliche Production-Deploys mit Dev-Defaults.
v1.5.1
17. Mai 2026
Impressum & Datenschutz
- Pseudonym „Theo" als dezenter Zusatz unter dem Klarnamen im Impressum und in der Verantwortlichen Stelle der Datenschutzerklärung — Erkennungsmerkmal für die Gaming-Community, ohne die rechtliche Identifikation zu verwässern.
- Region- und Tier-Auswahl im Overlay-Controller auf die volle Liste der Hauptapp angeglichen.
v1.5.0
17. Mai 2026
Coaching-Features & Performance-Pass
- Neu: Hinweis "Bester Counter overall" über der Pool-Liste — zeigt den stärksten Counter aus dem gesamten Champion-Roster gegen den Gegner-Pick. Mit "+ in Pool"-Button (oder "★ in deinem Pool"-Marker wenn er schon drin steht).
- Neu: Lane-Tips pro Matchup — direkt unter jeder Pool-Row erscheint der op.gg-Coaching-Hinweis für genau dieses Matchup (z.B. "Be careful when [W] is on cooldown...").
- Bugfix: Winrate-Orientierung war seit Anfang invertiert — alle Pool-Champ-WRs wurden mit der falschen Richtung interpretiert. Empirisch via Komplement-Cross-Check verifiziert (Champ A vs B + Champ B vs A summieren jetzt zu 100%).
- Performance: Twitch-Polling auf 60 s (vorher 20 s) + Pause wenn Tab nicht sichtbar + 30 s Worker-Edge-Cache → ~5× weniger Worker-Anfragen, decapi.me wird nur 1× pro 30 s downstream gefetched (vorher: 6 Calls pro Client-Request).
- UI: Pool-Hint klärt jetzt explizit, dass Rechtsklick / Shift-Klick einen Champ entfernt.
- UI: Changelog & Versions-Anzeige im Footer.
v1.4.0
16. Mai 2026
Pool pro Lane & vollständiger Champion-Katalog
- Pool ist jetzt pro Lane separat persistiert (Top/Jungle/Mid/ADC/Support haben jeweils eigene Slots). Lane-Wechsel stellt den zugehörigen Pool wieder her.
- Champion-Picker zeigt alle ~170 Champions aus Riot Data Dragon (nicht mehr nur die, die in Counter-Listen auftauchen).
- Region (18 op.gg-Regionen) und Tier (Iron bis Challenger) konfigurierbar.
v1.3.0
16. Mai 2026
Build-Empfehlungen pro Pool-Champ
- Jeder Pool-Champ in der Result-Liste zeigt zusätzlich Keystone-Rune, Primär-/Sub-Tree und meist-gespielte Summoner-Spells.
- Pick-Rate, Sample-Size und Winrate als Tooltip — damit die Confidence der Daten direkt einschätzbar ist.
v1.2.0
16. Mai 2026
Impressum & Datenschutz
- Impressum mit Anbieterkennzeichnung (Schweizer Recht).
- Datenschutzerklärung nach DSG / nDSG mit Cookie-Hinweis und Drittanbieter-Auflistung (op.gg, Cloudflare, Twitch, decapi.me).
- E-Mail-Adresse JS-zusammengesetzt zum Bot-Schutz.
v1.1.0
16. Mai 2026
Twitch-Integration
- Live-Status-Pill im Header — wenn shokzTV streamt, leuchtet die LIVE-Anzeige rot pulsierend.
- Twitch-Profilbild ersetzt das SVG-Fallback-Logo, mit
localStorage-Cache für instant Render beim Reload.
- Polling alle 20 s (in 1.5.0 reduziert auf 60 s).
v1.0.0
16. Mai 2026
Basisversion: Counter-Picker
- Pool-basierter Counter-Picker für League of Legends Top-Lane.
- Gegner-Pick via Suchfeld oder Quick-Buttons.
- Top-Pool-Counter mit Winrate, Spielen, Wins, Verdict (Favored / Slight Edge / Even / Avoid).
- Datenquelle: op.gg (HTML-Scrape mit eingebettetem JSON aus Next.js RSC-Streams).
- Cloudflare Worker + Static Assets, Vanilla JS Frontend, kein Build-Step.