Working…

Changelog

Currently running v1.13.1

v1.13.1

2026-07-17 Latest
✨ New
  • Post-tournament home page: once the final is played, the home page switches to a winner hero banner, labels the featured match as 'The Final', shows the top 5 biggest upsets with a link to the full Retrospective page, and replaces the champion projection with the final podium.

v1.13.0

2026-07-16
✨ New
  • Retrospective page: once the tournament is complete, see how teams performed against their pre-tournament expectations, the biggest upsets of the tournament, and how likely the final outcome was.

v1.12.3

2026-07-13
πŸ› οΈ Fixed
  • Fixed the home page showing the last group-stage result instead of the most recent knockout match after the group stage was complete.

v1.12.2

2026-07-01
πŸ› οΈ Fixed
  • Fixed a data-corruption bug where results recorded via the API could be stored in the wrong group if the caller supplied a mismatched group letter. All three result-write endpoints now reject any request where the teams don't belong to the claimed group.

v1.12.1

2026-06-29
πŸ› οΈ Fixed
  • During a live knockout match, the simulation now treats the leading team as a provisional winner β€” the bracket fills in as if they won, and odds update accordingly. Tied matches keep their normal simulation. Live styling and indicators are unaffected.
  • Home page now auto-refreshes one minute after an upcoming match's kick-off time, so the Live Match card appears without a manual reload.

v1.12.0

2026-06-29
✨ New
  • Bracket: each fixture card is now clickable and opens the match detail page.
  • Match detail page for knockout fixtures now shows 'How they got here' (group placement and prior knockout wins) and 'Path to the Cup' (likely future opponents), matching the home page.
  • Group standings: when one team has clinched first place, any other team that has clinched a top-two finish now shows '2nd βœ“' instead of 'Top 2 βœ“'.
  • Bracket: team rating badges now left-align with the flag instead of the team name.
πŸ› οΈ Fixed
  • What's at Stake during a live match no longer shows 'Can no longer advance' for all outcomes when the current score would eliminate a team β€” it now correctly analyses each outcome (win/draw/loss) independently.

v1.11.3

2026-06-29
πŸ› οΈ Fixed
  • Knocked-out team names on the Teams page are no longer greyed out β€” the KO badge already signals their status.

v1.11.2

2026-06-29
πŸ› οΈ Fixed
  • Fixed a crash on the home page (KeyError on a team name) that could occur when the group standings table was computed with cached simulation data that didn't fully match the current group composition.

v1.11.1

2026-06-28
πŸ› οΈ Fixed
  • Live knockout match scores are now fetched automatically β€” the background poller was previously only handling group-stage matches and silently skipping knockout fixtures.
  • Finished knockout matches are now also auto-detected: final score, winner, and penalty shootout result are written without manual admin entry.

v1.11.0

2026-06-28
✨ New
  • Home page now shows a 'How they got here' section for knockout matches, listing each team's group placement and prior knockout results (with penalty scorelines where applicable).
  • Live knockout match scores now appear on the home page fixture card, with the minute indicator β€” previously only the win-odds were shown.

v1.10.2

2026-06-28
πŸ› οΈ Fixed
  • 3rd-place standings table is now hidden once all groups have finished β€” it only appears while the group stage is partially complete.

v1.10.1

2026-06-28
πŸ› οΈ Fixed
  • Removed the 'Explore' hypothetical scenario button from fixture cards β€” the feature was no longer working.

v1.10.0

2026-06-28
✨ New
  • Bracket: live knockout matches now show the current score next to each team, with a pulsating red outline on the card and a πŸ”΄ live badge showing the minute.
  • Bracket: finished knockout matches show the final score, with penalties written as '1 (5)' when applicable, and the winning team's row subtly highlighted.
  • Bracket: quality and form badges moved below the team name for a cleaner layout; scores and win odds use a larger, more prominent font.
πŸ› οΈ Fixed
  • Fixed a crash on the home page ('list object has no attribute odds') that appeared once the group stage was complete.

v1.9.1

2026-06-26
πŸ› οΈ Fixed
  • Knockout fixtures now show a tournament win odds badge (πŸ†) instead of the advance badge β€” the teams have obviously already advanced.
  • Path to the Cup on the home page is now a single shared column (both teams in a bracket match face the same future opponents), with no redundant team label.
  • Featured fixture header now shows the round name for knockout matches, e.g. 'Up Next β€” Round of 32'.

v1.9.0

2026-06-26
πŸ› οΈ Fixed
  • Live match minute is now shown in real time (football-data.org API v4.1 added the minute field to the Livescore plan).
  • Team page: group placement odds (1st/2nd/3rd/4th) are hidden once all three group-stage matches have been played.
  • Team page: the odds graph no longer extends the 'advance from group' line into knockout-round checkpoints.
  • Team page: a knockout round is removed from 'Likely opponents' once both bracket teams are confirmed.
  • Team page loads much faster: chart checkpoints now run at 10 000 iterations, and a background thread pre-warms all played checkpoints on startup.

v1.8.0

2026-06-25
✨ New
  • What's at Stake: each team's entry now shows a plain-English sentence describing what each match outcome means β€” e.g. 'Win or draw to qualify in second place' or 'Win to place third and wait for other groups, lose to be knocked out.'
  • Bracket: venues now show the city name instead of the stadium name for a cleaner look.
πŸ› οΈ Fixed
  • Removed the 'Full scenarios' detail block from What's at Stake β€” the outcome text and odds chips cover the same ground more clearly.

v1.7.5

2026-06-25
✨ New
  • Fixtures page: new 'Today' button in the section nav jumps directly to the section containing today's (or next upcoming) matches.
πŸ› οΈ Fixed
  • Advance odds badges no longer show '100%' or '0%': the percentage filter now uses decimal-aware thresholds so values that would round to 100% show '>99%' and values that would round to 0% show '<1%'.

v1.7.4

2026-06-21
πŸ› οΈ Fixed
  • Page-view statistics are now preserved across version upgrades (pageviews.jsonl was not included in the persistent shared-data symlinks, so it was reset to empty on every deploy).

v1.7.3

2026-06-21
✨ New
  • Admin footer now has Usage and Diagnostics links (admin-only).
  • New Diagnostics page (/admin/diagnostics) shows the 3rd-place points range table for all groups β€” useful for verifying best-third clinch logic.
πŸ› οΈ Fixed
  • Best-third clinch now correctly counts equal-points groups as threats (was using strict > instead of >=), preventing teams from being incorrectly marked as clinched when another group's third-place finisher can match their points tally.

v1.7.2

2026-06-21
πŸ› οΈ Fixed
  • Groups page: a team marked 'Best 3rd βœ“' now also shows βœ“ in its Advance column (previously showed a statistical >99.9% because the groups-page table didn't apply the best-third clinch to the advance badge).
  • 3rd-place standings table now reflects mathematical clinch/elimination in its Advance badges, consistent with every other standings view.

v1.7.1

2026-06-21
πŸ› οΈ Fixed
  • What's at Stake chips now show βœ“ for all outcomes when a team has already clinched as best third-place (previously showed statistical odds instead of βœ“ because the per-outcome analysis only checked within-group clinch logic).
  • What's at Stake chips now show βœ— when an outcome mathematically eliminates the team from the group (finishing 4th regardless of other results), consistent with the advance badge in the standings table.
  • Advance badges no longer show βœ— for statistical 0% odds; βœ— is reserved for mathematically confirmed elimination, while near-zero statistical odds show <0.1% instead.

v1.7.0

2026-06-21
✨ New
  • Theoretical best-third qualification: a team now shows Q βœ“ when it is mathematically guaranteed to advance as one of the 8 best third-place finishers across all 12 groups, not just when it clinches a top-two spot.
  • Third-place clinch uses points-only reasoning while any group is still live (GD and GF are unbounded in unfinished groups), and upgrades to full (pts, GD, GF) comparison once both sides of the comparison are complete.
  • Clinched best-third rows appear with a distinct green tint and a 'Best 3rd βœ“' marker in group standings, consistent with the existing top-two secured styling.

v1.6.2

2026-06-21
✨ New
  • Team quality and form are now shown as a single joined badge β€” grey (≀2β˜…), bronze (≀3.5β˜…), or gold (>3.5β˜…) for quality, with form arrow alongside.
  • Quality badge now shown everywhere form was shown: team info card, likely opponents list, fixture rows, and standings.
  • Mobile chart fix: tournament odds graph now has a proper fixed height on small screens.
πŸ› οΈ Fixed
  • Match pages for upcoming knockout matches (TBD opponents) no longer crash with a JSON serialization error.
  • Match pages are now accessible without logging in.
  • Live score display now updates immediately in the fixture card when a goal is detected, without waiting for the full page reload.

v1.6.1

2026-06-21
✨ New
  • New app icon: football with white ball body, dark green pentagon patches, and transparent background.

v1.6.0

2026-06-21
✨ New
  • Theoretical qualification: Q βœ“ now means a team has mathematically clinched a top-two place β€” no combination of remaining results can knock them out, computed exactly under the official FIFA 2026 tiebreakers (points β†’ head-to-head β†’ goal difference β†’ goals scored).
  • Q >99.9% continues to mean near-certain in the simulations but not yet mathematically guaranteed.
  • Q βœ— marks a team that is guaranteed to finish last in their group, no matter what.
  • The distinction is applied consistently everywhere: group standings, Groups overview, Teams list, individual team pages, match pages, and What's at Stake outcome chips.
  • What's at Stake outcome chips show βœ“ only when a specific result exactly clinches top-two; statistical odds are used otherwise.
  • Explained on the 'How the Simulation Works' page.

v1.5.2

2026-06-20
✨ New
  • Each fixture now has its own dedicated page with full match details.
  • Fixtures in the Fixtures list and Groups page are clickable β€” tap a match to open its page.
  • Match pages show group standings, advance odds, and clinching badges as they stood at the end of that specific match.

v1.5.1

2026-06-20
✨ New
  • Teams page now shows a single Status column: active teams show advance and win odds badges; eliminated teams show a KO badge with the stage and opponent they lost to.
  • Win odds badges are now always yellow; eliminated teams show a red badge with a cross.
  • Bracket page shows win probability once both opponents in a fixture are confirmed.
πŸ› οΈ Fixed
  • Cross symbol in eliminated badges is now visible (was a red emoji on a red background).

v1.5.0

2026-06-20
✨ New
  • Team page now shows quality rating and form in the Team Info card.
  • Bracket page shows team quality and form badges instead of win odds.
  • Ask AI knows about live match scores, team info, and individual fixture details.
πŸ› οΈ Fixed
  • Explanation texts removed from the Fixtures and Bracket pages.

v1.4.8

2026-06-20
πŸ› οΈ Fixed
  • Team page now shows fixtures in the correct chronological order.
  • The odds chart on team pages now always ends with the current simulation results.

v1.4.7

2026-06-20
πŸ› οΈ Fixed
  • Expired or invalid invite links now show a clear error message.

v1.4.6

2026-06-20
πŸ› οΈ Fixed
  • New app icon.

v1.4.4

2026-06-20
✨ New
  • What’s at Stake now highlights the outcome that matches the current live score.

v1.4.3

2026-06-20
πŸ› οΈ Fixed
  • Fixture team names now scale correctly on mobile.

v1.4.0

2026-06-19
✨ New
  • New fixture card design with full-bleed flag images and larger team names.
  • Live goal and full-time notifications appear as banners below the navigation bar.

v1.3.1

2026-06-19
✨ New
  • Knockout stage: home page now shows your team’s likely path to the final.
  • Eliminated teams are greyed out across the bracket, teams list, and fixtures.
  • Penalty shootout scores shown as (5) 1–1 (4).
  • Live results now update every 10 seconds.

v1.3.0

2026-06-19
✨ New
  • Matchday 3 ready: simultaneous group matches shown together with shared standings and What’s at Stake.

v1.2.4

2026-06-19
✨ New
  • Fixture cards now show team quality (β˜… rating) and form (↑↓) alongside the advance odds.

v1.2.3

2026-06-19
πŸ› οΈ Fixed
  • β€œA draw is enough” headlines and βœ… badges now only appear when qualification is mathematically certain.

v1.2.0

2026-06-19
✨ New
  • What’s at Stake shows Win / Draw / Loss odds and a one-line headline.
  • Group standings tiebreakers follow the official FIFA procedure.
  • Advance badge shows Qβ€‰βœ“ when qualification is secured.
  • Admin usage statistics page.

v1.1.0

2026-06-18
✨ New
  • What’s at Stake qualification scenarios from matchday 2 onwards.
  • Group standings highlight qualification places as they are secured.
  • Odds badges now show a cup icon for tournament win and a marker for group advance.

v1.0.2

2026-06-18
✨ New
  • Draw comparison shows the real draw’s effect vs. the average across all possible draws.

v1.0.1

2026-06-18
✨ New
  • Fixtures page organised by round with a jump bar.

v1.0.0

2026-06-18
✨ New
  • Automatic live scores: updates at least once a minute during matches.
  • Goal and card events shown on the home page and in fixture lists.