Releases: Sysadminfromhell/LP-Tracker
Release list
LP-Tracker v2.5.0
This release adds the new privacy and legal page system.
Highlights
- Added Privacy Policy, Processed Data, Your Rights and Imprint pages
- Added admin editing and publish controls
- Added sanitized rich-text content
- Added public legal navigation and footer links
- Added default legal templates for new installations
- Added documentation for configuring legal/privacy information
Legal pages are unpublished by default and should be reviewed before being made public.
Release-Notes Github
- chore(deps-frontend): bump the frontend-minor-patch group across 1 directory with 2 updates by @dependabot[bot] in #73
- chore(deps-backend): bump the backend-minor-patch group across 1 directory with 3 updates by @dependabot[bot] in #75
- Chore/playbook frontend missing test by @Sysadminfromhell in #76
- Feat/privacy pages by @Sysadminfromhell in #77
- chore: prepare release 2.5.0 by @Sysadminfromhell in #78
Full Changelog: v2.4.2...v2.5.0
LP-Tracker v2.4.2
LP-Tracker v2.4.2
This release adds advanced database administration and Danger Zone tooling to the LP-Tracker admin interface.
Highlights
- Added PostgreSQL database overview and relationship map
- Added detailed per-table schema, index and constraint inspection
- Added per-table and all-table maintenance operations
- Added player cache cleanup
- Added configurable historical match detail pruning
- Added permanent deletion of ended events
- Added safe permanent player deletion with dependency checks
- Added full application database reset
- Added shared API contracts and runtime validation
- Added comprehensive backend tests for database administration
- Improved responsive admin database UI
Releasenotes Github
- feat: add admin database danger zone for v2.4.2 by @Sysadminfromhell in #74
Full Changelog: v2.4.1...v2.4.2
LP-Tracker v2.4.1
LP-Tracker v2.4.1
This release adds a new read-only diagnostics CLI for inspecting LP-Tracker installations.
Highlights
- Added
summary,db,event,player,queue, andproviderdiagnostics - Added machine-readable JSON output and defined exit codes
- Added Docker and Docker Swarm diagnostics usage
- Improved provider runtime/diagnostics logging
- Unified reconciliation retry diagnostics
- Added comprehensive diagnostic test coverage
- Kept
check:eventas a backwards-compatible alias
Github Release Notes
- feat: add diagnostics CLI for v2.4.1 by @Sysadminfromhell in #71
Full Changelog: v2.4.0...v2.4.1
LP-Tracker v2.4.0
LP-Tracker v2.4.0
This release adds public event history and detailed player profiles.
Highlights
- Added public player profile pages
- Added complete per-event player match history
- Added public event history archive
- Added historical final standings for completed events
- Added start and final rank snapshots for historical views
- Added persistent rich match details for future event history
- Added SSE updates for player profiles and event history
- Added shared API contracts and runtime validation for the new endpoints
- Added backend database, service, route, and contract tests
- Added direct navigation between event history, player profiles, and leaderboard
- Updated BrowserRouter navigation and Back to Leaderboard links
Routes
/players/:playerId/history/history/:eventId
API
GET /api/players/:idGET /api/players/:id/events/:eventIdGET /api/events/historyGET /api/events/history/:eventId
Notes
Historical final ranks are based on stored event snapshots and are not affected by a player's current live rank.
Rich match details are retained going forward; previously pruned historical match details are not automatically backfilled.
Release notes GitHub
- feat: add event history and player detail views by @Sysadminfromhell in #70
Full Changelog: v2.3.0...v2.4.0
v2.3.0
What's Changed
- feat: add stable event player overlay routes by @Sysadminfromhell in #69
Full Changelog: v2.2.0...v2.3.0
v2.2.0
What's Changed
- Update ROADMAP.md by @Sysadminfromhell in #63
- feat: introduce frontend routing; Versionupdate 2.0.2 to 2.1.0 by @Sysadminfromhell in #64
- feat: replace frontend polling with SSE; release v2.2.0 by @Sysadminfromhell in #68
- chore(deps-backend): bump the backend-minor-patch group across 1 directory with 3 updates by @dependabot[bot] in #65
- chore(deps-frontend): bump the frontend-minor-patch group across 1 directory with 2 updates by @dependabot[bot] in #67
- chore(deps-backend): bump dotenv from 17.4.2 to 18.0.0 in /backend by @dependabot[bot] in #66
Full Changelog: v2.0.2...v2.2.0
v2.0.2
What's Changed
- Update ROADMAP.md by @Sysadminfromhell in #60
- feat: add runtime API validation and shared contracts by @Sysadminfromhell in #62
Full Changelog: v2.0.1...v2.0.2
v2.0.1
What's Changed
- perf: split frontend pages into lazy-loaded chunks by @Sysadminfromhell in #27
- perf: coalesce SSE leaderboard reloads by @Sysadminfromhell in #28
- perf: add nginx asset caching and compression by @Sysadminfromhell in #29
- fix: keep player refresh status current via SSE by @Sysadminfromhell in #30
- feat: add leaderboard animations by @Sysadminfromhell in #31
- feat: improve admin quality of life by @Sysadminfromhell in #32
- Security/headers csp by @Sysadminfromhell in #33
- Refactor/server runtime by @Sysadminfromhell in #34
- chore(deps-frontend): bump the frontend-minor-patch group across 1 directory with 5 updates by @dependabot[bot] in #38
- Refactor refresh handling with a serialized queue by @Sysadminfromhell in #39
- Add incremental match sync and backfill by @Sysadminfromhell in #40
- fix: respect provider match history limits by @Sysadminfromhell in #41
- fix: handle incomplete match backfills as soft failures by @Sysadminfromhell in #42
- feat: add LP penalties for event participants by @Sysadminfromhell in #43
- feat: enhance leaderboard and add rich match details by @Sysadminfromhell in #44
- chore(deps-backend): bump the backend-minor-patch group in /backend with 3 updates by @dependabot[bot] in #45
- chore(deps-backend): bump vitest from 4.1.11 to 5.0.0 in /backend by @dependabot[bot] in #46
- perf: improve refresh performance by @Sysadminfromhell in #47
- style: compact match details and clean up frontend css by @Sysadminfromhell in #48
- feat: add per-event participant selection by @Sysadminfromhell in #49
- refactor: centralize runtime jobs in coordinator by @Sysadminfromhell in #50
- fix: keep event match state consistent during partial backfills by @Sysadminfromhell in #51
- fix: stabilize admin dialog and leaderboard animations by @Sysadminfromhell in #52
- chore(deps-backend): bump the backend-minor-patch group across 1 directory with 2 updates by @dependabot[bot] in #56
- chore(deps-frontend): bump the frontend-minor-patch group across 1 directory with 7 updates by @dependabot[bot] in #55
- feat: add safe LP reconciliation queue by @Sysadminfromhell in #57
- documentation/add roadmap.md by @Sysadminfromhell in #58
- refactor: remove legacy LP history resolution by @Sysadminfromhell in #59
Full Changelog: v2.0.0...v2.0.1
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.