Repository navigation
v7.0.0
The headline of this release is the complete removal of Material-UI. sRating now runs entirely on its own component and icon libraries. Alongside that: NBA support, career-long stat rankings, and in-app notifications.
Goodbye MUI
@mui/material and @mui/icons-material are gone. MUI imports dropped from 172 files to 0 live references, replaced by:
@esmalley/react-material-ui^1.3.1@esmalley/react-material-icons^4.0.2
The in-repo components/ux/* library (~37 files) was extracted into the published @esmalley/react-material-ui package and deleted from this repo. That accounts for most of the 20k deleted lines. Loading, modals, tables, inputs, menus, tooltips and buttons were all ported over in stages.
NBA support
NBA data is now wired through the GUI — rankings, boxscores, player gamelogs, trend graphs and the conference picker. NBA-aware code went from 2 files to 20, with a new components/helpers/NBA.ts for season defaults.
Career stats
New career-long ranking mode for players and coaches, spanning 15 files across rankings, player pages and the compare tool. A new Ranking/DataSince component tells you how far back coverage actually goes, which varies by sport and view (for example, CFB coaches from Aug 2000).
Notifications
New in-app notification centre (components/generic/Notifications.tsx), with unread badges on icon buttons.
Fantasy
- New winner display for completed leagues
- "My fantasy leagues" in the account menu
- Substantial bracket fixes — seeding, scoring, timing and URL parsing
- Fixed team search and a long-standing modal bug
Account & billing
- API usage now renders as a progress bar with current/limit, remaining, and a colourthe cap
- API keys are masked by default, with reveal and copy buttons
- Regenerating a key now asks for confirmation first — it invalidates the old key immediately
- Failed billing and key operations no longer leave the app stuck loading
New pages
- Privacy policy (
/privacy) - Blog, opening with a write-up on height calculations
Under the hood
- Shared types extracted to
@srating-io/types^2.0.0; localtypes/cbb.tsandtypnises entity types out ofGeneralintoFantasy,PaymentsandAuth` namespaces - New
useNavigationhook consolidating routing - TypeScript 5.5 → 6.0,
@esmalley/ts-utils6.1 → 6.4.4, web-vitals 4 → 5 - Ranking table search improvements and a faster search bar
- Repo moved from the
esmalleydevorg tosrating-io
Next 16 and React 19 are unchanged from v6.
Housekeeping
The Jest test stack (jest, ts-jest, @types/jest, @testing-library/jest-dom) and the test script were removed.
Full Changelog: v6.0...v7.0.0