Skip to content

1.0.4

Latest

Choose a tag to compare

@Bulletdev Bulletdev released this 23 Apr 12:11
· 89 commits to master since this release
9503d2d

v1.0.4 - Pro Match Data Lake & Competitive Intelligence

Highlights

Match Detail View + Elasticsearch Data Lake

  • New GET /competitive/pro-matches/match-preview — per-game picks, KDA, gold, CS, DMG from Elasticsearch for any recent series
  • New GET /competitive/pro-matches/es-series — full H2H history between two teams across all leagues
  • 97K+ pro games (2014–2026) indexed from Oracle's Elixir across all major leagues (LCK, LPL, LEC, LCS, CBLOL, and more)
  • Prefix wildcard fix on win_team — cross-source team name mismatches (e.g. "FlyQuest" vs "FlyQuest NZXT") resolved correctly

Multi-League Historical Backfill

  • CBLOL, CBLOL Academy and Circuito Desafiante now auto-sync daily via dedicated Sidekiq cron jobs
  • HistoricalBackfillJob accepts league: kwarg — each league runs independently with staggered schedules
  • Backfill is fully resumable — re-runs skip already-completed tournaments

PandaScore Integration

  • Upcoming and recent pro matches from PandaScore
  • Match preview drawer wires PandaScore series to Elasticsearch game data

New Features

  • ProStaff Events — organization-wide event system
  • Multi-roster — organizations can manage multiple active rosters
  • ArenaBR Tournaments — full double-elimination bracket with check-in, result reporting and admin dispute resolution
  • Scrims — real-time lobby chat (Action Cable), live popup, result reports
  • Riot Gateway — Go-based internal proxy replacing direct Riot API calls; circuit breaker (3-state, Redis-backed) protects against cascade failures
  • Response cache layer — Redis cache on 6 high-traffic endpoints (TTL 5–30 min), org-scoped, with X-Cache-Hit header
  • Mailing — password reset and transactional email templates
  • Scouting → Hire — hire player directly from scouting target
  • Team tag on organizations
  • Season history for scouting targets
  • Tier thresholds for player classification

Fixes & Improvements

  • Semgrep + Brakeman clean (0 HIGH/CRITICAL)
  • Healthcheck, SMTP, dead job queue, Sidekiq concurrency and DB pool fixes
  • MatchFilterQuery extracted as standalone object; cache invalidation hardened
  • Roster import edge cases resolved
  • PostgreSQL connection pooling improved (PgBouncer session mode)
  • Architecture diagram auto-update workflow

Full Changelog: 1.0.3...1.0.4