2.0.7
What's Changed
A maintenance release — query-performance, robustness, and code-structure fixes. No user-facing feature changes.
Performance
- Schedule sync builds the team lookup once per run instead of re-querying it for every week.
- The leaderboard-history and profile-history endpoints load all seasons/weeks in batched queries instead of one query per season.
- The public stats endpoint caches a database-schema check (1 hour) instead of probing it on every request.
Fixed
- The user-scores and leaderboard-context endpoints now return a proper 500 error on an unexpected failure, so a real error is distinguishable from the normal "no picks yet" state.
- The
current_rankscore column is now declared on the model, so it's read as an integer (no manual casting).
Internal
- Removed redundant service-container bindings in favour of automatic injection.
- Split the large
/pickspage component into a shared state store plus four focused tab components (Matches / My Picks / Leaderboard / History), keeping behaviour identical.