Changelog
Notable changes to StatsHub products and platform, newest first.
Changes are listed newest first. Unreleased tracks work on dev since the
last merge to main.
Unreleased
Added
- Expanded the Expo app to cover Outliers, Lineups, 100 Club, Super Sub Heroes, Build Ups, the assistant, favourites, Bet Builder, fixture calculators and visualizations, Value Bets account tools, the bet tracker, and complete football and basketball detail routes.
- Added season-aware league, team, player, referee, fixture, odds, ranking, watchlist, alert, and tracker resources to API v2, with Go bridge routes and a route explorer for checking the contract.
- Added native Google sign-in through Supabase, complete PKCE callback handling, native onboarding, admin settings, and authenticated account controls.
- Added the experimental App Router web workspace alongside the restored production web app.
Improved
- Reworked the mobile web shell, sidebar, home date navigation, player trends, fixture player grids, and Value Bets cards for focused phone layouts, then moved the interface to Satoshi and rebuilt player charts on Visx.
- Brought native navigation, pagers, filters, search, loading states, season selectors, detail metadata, and analysis views in line with the production web experience.
- Moved Expo and App Router reads to canonical v2 resources, including saved views, favourites, watchlists, lineups, models, rankings, trends, and complete entity details.
- Kept short-window value bets visible and labelled, excluded bench players from confirmed lineups, and added odds pills to fixture player grids.
- Expanded the public docs with hosted previews, complete OpenAPI coverage, API topology, parity records, performance reports, and product pages.
Fixed
- Fixed Stripe entitlement persistence and Go checkout routes, live foul-alert behavior, fractional event timestamps, referee sorting, player-odds feed parity, and tracked-bet editing.
- Stabilized reconnect recovery, filter and odds loading, nested detail routes, AI analysis streams, native sidebar gestures, and fixture navigation.
- Corrected API v2 response shapes, identifiers, query plans, authorization, personal-data isolation, and legacy-equivalent collection behavior found by the parity audits.
Security
- Upgraded Next.js for CVE-2025-29927, replaced unverified server session reads, closed SQL-injection paths in Prop Hunter and Screener, and marked authenticated API responses private.
31 August 2026
Added
- Added inline previews for fixture, league, player, referee, and team pages in the experimental web app.
- Added an odds-movement chart and normalized player and match odds from Bet365, Paddy Power, Kambi/BetMGM, Betfair Exchange, and Betfred, including shot ladders and bookmaker deduplication.
- Expanded Bet Builder with player- and team-aware Super Sub anchoring, last-lineup fallback, model tags, and a wider lineup comparison.
- Added shots-on-target and tackles models, goalkeeper saves, started-last-game and watchlist filters, mobile fair odds, lineup alerts, and flat-market support across Teams Model and Value Bets.
- Added bet tracking from Value Bets and Teams Model, with bankrolls, denominations, staking options, tags, search, and an Analysis Centre.
- Added a Value Bets v4 service and board backed by precomputed cards, plus shared v2 and v4 evaluation logic.
- Added a followed-club Live Activity for upcoming matches in the Expo app.
- Added a three-tier pricing page and refreshed the Bet Builder pricing and market presentation.
Improved
- Moved value bets, player and team trends, team models, outliers, lineups, matchday fixtures, data quality, 100 Club, and referee views onto paginated v2 API queries.
- Refined the Expo Home and Matches surfaces with native paging, segmented controls, consistent filters, and full-width lists.
- Simplified Expo HTTP transport around React Native fetch, one timeout layer, and TanStack Query-owned caching, retries, and prefetching.
- Reduced latency and memory pressure across home fixtures, search, player rosters and odds, screeners, and Value Bets with indexed queries, bounded and coalesced caches, and earlier pagination.
- Improved opposition rankings with venue splits, last-season fallback, and clear labels when current-season samples are too small.
- Established the canonical Fumadocs site with generated OpenAPI reference, component previews, and shared product documentation.
Fixed
- Stabilized Trending Today's loading states and restored the Matches calendar toolbar, saved items, and history lists.
- Corrected player-to-bookmaker label matching, starter and substitute flags, late lineup changes, odds-source deduplication, and missing opponent averages.
- Bounded API caches that could exhaust server memory on busy days.
- Fixed account isolation and persistence for tracked bets, favourites, watchlists, lineup alerts, live-alert preferences, and Stripe entitlements.
Security
- Marked personalized API responses as private so shared caches cannot reuse one person's response for another request.