2026-06-17
🔄 Automatic data refresh & staleness handling
- Leaderboard data is now automatically refreshed from RaceRoom every 10 minutes in the background — no longer dependent on user visits
- Daily snapshot at 10am is now reliable
- Stale data warning only appears after 30 minutes of API downtime
- Added data update info to the help modal
2026-06-16
📊 Tab navigation, snapshot timing & history UX
- Leaderboard now has three tabs: Current, Compare and History
- Each tab updates the URL hash — views are bookmarkable and shareable (
/#compare,/#history) - Browser back/forward navigation switches between tabs
- Trend column shows rank position change over the last 3 days (↑ gained, ↓ lost, – unchanged)
- Compare tab lets you compare any past snapshot against the current leaderboard — see who gained or lost rating, rank, reputation and races
- History tab lets you browse the full leaderboard as it appeared on any past date
- Daily leaderboard snapshots are now consistently saved around 10am for stable day-to-day comparisons
- History date dropdown groups snapshots into "Last 30 days" and "Archive" for easier navigation
2026-06-10
⚡ Performance improvements & resilience
- Self-hosted Inter variable font — eliminated Google Fonts external origin overhead (47 KB single file, was 4 separate files)
- Fonts now load synchronously in with font-display: optional — no more deferred loading or invisible text
- Car class icon column now has a max-width with wrapping — prevents table from overflowing on multi-class races
- Leaderboard, player profiles and race results now fall back to cached data when RaceRoom API is unreachable
- Amber warning banner shown when serving stale data, with timestamp of last successful fetch
2026-06-09
🏗️ Series system rework — foundation for future series
- DTM page logic extracted into a generic series framework — adding future racing series will be easier
- New series can be added via a simple JSON config file with their own schedule, standings and results
- Split 2 results are now properly loaded and can be accessed on DTM page
- Added sector times (splits) to the dtm race anylsis
- Fixed average lap time calculation excluding invalid laps
- Improved livery display to include manufacturer and car info
2026-06-07
🏆 DTM Standings & Combined Season Overview
- Added championship standings table sourced from external JSON data
- Combined points standings with season statistics (wins, podiums, poles, avg finish) into a single table
- Extra stats are hidden by default with a gold toggle button to show/hide them on demand
- Added disclaimer about manual data maintenance and hidden decimal places in RaceRoom points
- Overall styling improvements for the season overview section
2026-06-05
📊 Precision of rating, rank and reputation and small fixes
- Rating, Reputation and RankScore now display with two decimal places across leaderboard, player page and race results
- Various small fixes and improvements
2026-06-05
🔐 Login & Admin Panel
- Added login system for premium features — e.g. stint anylsis
- Admin panel added to better control event specific pages e.g. DTM
2026-06-03
🏁 DTM Esports 2026 page & stats
- Added dedicated DTM Esports 2026 page with round schedule, race results and statistics
- Season statistics section with driver standings, wins, podiums, poles and average finish
- Team names and car liveries shown on podium, qualifying and standings
- Full race results accessible for every completed DTM round
2026-06-01
☕ Buy Me a Coffee and small improvements
- Added "Buy Me a Coffee" donation button on every page
- Your support helps keep this project running!
- Added a one-click clear (×) button inside the search bar to quickly reset your search
2026-05-03
🔍 Search Improvements, Race Compare & UI Updates
- Added race comparison feature that shows all matching races on same track/class
- Global track records are now shown directly on top of every race page
- Search now supports special characters, accents and umlauts without needing to type them
- Proper multi-class position display in race results and qualifying tables
- Class position column automatically hides for single class races
- Player race history now shows finish position in class
- Added help button on leaderboard with table explanations
- Updated site favicon
- Fixed chart scrolling on mobile devices
2026-05-01
🎯 Track Records, Strength of Field & Improvements
- Added year markers and time axis to rating history chart
- Added Strength of Field (SoF) column to player race history tables
- Automatically pre-calculates SoF in background as you scroll down
- Once calculated, SoF values are permanently stored and available instantly for all users
- Added proper race finish timestamps stored permanently
- Race date is now displayed directly in race header title
- Added Track Records with ± 2 weeks time window filtering
- Optimized background preloading to never block user actions
- Player page now uses 20 races per page with pagination
2026-04-30
🟢 Live Server Popup & Navigation Fixes
- New live server detail popup when clicking on ONLINE badges
- Shows full server information including players, track preview, race duration
- Displays Strength of Field (average rating) for each running server
- All player names in popup are clickable links
- Changed player page navigation from username to userid parameter
- Fixed button hover behavior for active filter buttons
- Fixed sorting with online filter enabled
- Fixed pagination with online filter enabled
- Fixed broken pagination on page 2+
2026-04-29
✅ Initial release on stats.needracing.com
- Global leaderboard with all ranked players
- Detailed player profiles with rating history
- Full race results with lap times
- Laptime comparisons for every race
- Real-time statistics and strength of field calculations
- Fastest lap detection and driver statistics