LP-Tracker v2.0.0
LP-Tracker v2.0.0
LP-Tracker v2 is a major update focused on reliability, scalability, provider flexibility and production readiness.
This release introduces a reworked event and leaderboard architecture, multiple League data providers, improved refresh behavior, live updates, monitoring, stronger admin security and a full project/documentation cleanup for production deployments.
Highlights
- Multi-event support with scheduled, active and completed events
- Reworked Leaderboard V2
- Provider abstraction for League data sources
- OP.GG MCP and Riot Games API support
- Riot API rate-limit handling, pacing and automatic HTTP 429 retries
- Incremental player refreshes
- Incremental match statistics
- Persistent leaderboard caching
- Server-Sent Events for live frontend updates
- Improved event lifecycle handling
- Stronger admin session security
- Prometheus-compatible monitoring
- Build/version metadata in the UI and health endpoint
- Frontend and backend CI checks for Pull Requests
- Updated deployment and contribution documentation
- AGPL-3.0-only licensing
Event and Leaderboard Improvements
V2 introduces a more robust event model with support for:
- Scheduled events
- Active events
- Completed events
- Participant start snapshots
- LP gain tracking relative to event start state
- Persistent match history
- Final participant refresh before ending an event
The leaderboard was reworked to provide more reliable live standings, highlights and update state.
League Data Providers
LP-Tracker now uses a provider abstraction instead of coupling the application directly to a single external source.
Available providers:
- OP.GG MCP
- Riot Games API
The Riot provider includes:
- Application rate-limit detection
- Request pacing
- HTTP 429 detection
- Automatic retry handling
- Rate-limit monitoring metrics
opgg remains the default provider when no provider is explicitly configured.
Refresh and Live Updates
Player refresh behavior has been reworked to reduce unnecessary provider requests and improve consistency.
V2 includes:
- Incremental player refreshes
- Incremental match processing
- Persistent leaderboard cache
- Scheduled refreshes
- Manual refresh support
- Server-Sent Events for live frontend updates
Monitoring
The backend now exposes:
GET /api/health
GET /metrics
The health endpoint includes:
- Application status
- Build version
- Git commit
- Database connectivity
- Provider status and diagnostics
- Event state
- Player/cache state
- Refresh scheduler state
Prometheus-compatible metrics include application state, refresh counters, refresh timing, provider connectivity and Riot API rate-limit information.
Security
V2 includes several admin and deployment security improvements:
- Existing admin sessions are invalidated when the backend restarts
- Production cookie and request security behavior is enabled through
NODE_ENV=production - Initial admin bootstrap behavior was hardened
- Deployment and secret-handling guidance was added
- A dedicated
SECURITY.mdpolicy is now included
Build and Deployment
Frontend and backend versions are now both reported as 2.0.0.
Production builds can include the Git commit used for the backend image through:
GIT_COMMIT_SHA
The leaderboard footer displays:
Frontend version · Backend version · Git commit
CI injects the current commit automatically into backend Docker builds.
Docker images:
safhdev/lp-tracker:lptracker-frontend
safhdev/lp-tracker:lptracker-backend
CI and Project Maintenance
V2 adds or improves:
- Backend tests on Pull Requests
- Backend type checking and production builds
- Frontend build checks on Pull Requests
- Frontend lint checks on Pull Requests
- Dependabot configuration cleanup
- Updated bug report template
CONTRIBUTING.mdSECURITY.mdbackend/.env.example- Reworked root README
- Frontend metadata and README cleanup
License
LP-Tracker is now licensed under the GNU Affero General Public License v3.0, version 3 only:
AGPL-3.0-only
The AGPL requires modified versions made available to users over a network to provide the corresponding source code under the same license.
Upgrade Notes
Before upgrading an existing production deployment:
- Back up PostgreSQL.
- Record the currently deployed image or commit.
- Pull or build the V2 frontend and backend.
- Deploy the backend and allow startup migrations to complete.
- Deploy or restart the frontend.
- Verify
/api/health. - Verify admin login and event state.
- Verify
/metricsif monitoring is enabled.
Existing admin sessions will be invalidated when the backend restarts.
Compatibility
Tested with:
- PostgreSQL 18.6
- Docker Engine / Docker Swarm 29.7.2
Full Changelog
This release includes all changes merged into main up to tag v2.0.0.