James Chang / Work / The Fantastic Leagues / Changelog

Static snapshot showing the most recent five releases (v0.53 → v0.57) as of April 2026. The live changelog is admin-only inside the app. Public marketing site: thefantasticleagues.com.

Fantastic Leagues · Changelog · Last Updated

Recent releases.

v0.57.0 is the latest as of this snapshot. Releases ship every 1–3 days depending on scope; each one carries a thematic title, 4–6 user-facing highlights, and 10–30 detailed changes categorized by type.

v0.57.0most recent (Apr 13, 2026)
63total sessions since Nov 2025
732tests passing, 0 failing
~2.5 hparallel-agent build (vs ~10h sequential)

Recent releases

v0.57.0 2026-04-13 · Session 63 feature

Launch readiness, admin IA, dashboard, error correlation, session tracking

Highlights

  • Admin dashboard rebuilt as a 5-row card grid — stat cards, league health, AI summary, Todo progress, activity feed, recent errors
  • Side nav reorganized: dedicated Admin section with 3 sub-groups (Operations / Planning / Reference)
  • Error correlation: every 500 returns an ERR- code + admin-only detail field; click-to-copy toast; in-memory ring buffer feeds /admin dashboard
  • Session tracking: UserSession + UserMetrics + UserDeletionLog tables, heartbeat hook (30s, BroadcastChannel, one-session-per-browser), /admin/users page with real data
  • Cross-linking: Roadmap phases and Concept cards now have stable anchor IDs, hash-scroll + reverse links to related todos
  • Parallel-agent execution cut combined Phase A + Phase B build time from ~10 hours sequential to ~2.5 hours elapsed

Key changes

  • feat: Admin dashboard: 5-row card grid at /admin with auto-refresh 60s, manual refresh button, graceful degradation
  • feat: Session tracking — UserSession, UserMetrics, UserDeletionLog Prisma models with HOT-update optimization (no lastSeenAt index, fillfactor 80, aggressive autovacuum)
  • feat: POST /api/sessions/start | /heartbeat | /end — ownership checks, 20/min heartbeat rate limit, concurrent-session cap 10, AuditLog LOGIN entries, credential-stuffing canary
  • feat: lib/ipHash.ts — HMAC-SHA256 IP hasher with fail-fast if IP_HASH_SECRET missing; IPv4 /24 + IPv6 /48 truncation
  • test: +30 tests (16 server session, 7 client hook, 7 admin users) — total suite 732 passing, 0 failing
v0.56.0 2026-04-12 · Session 62 (cont.) feature

Admin system, draft report regen, waiver priority by period, YouTube fix

  • New /todo page — category-based micro-task tracker with cross-links to Roadmap/Concepts
  • Concepts page rebuilt with 4 tabs: Strategic / SEO Pages / Integrations / UX Mockups
  • Waiver priority UI now uses period-based standings (matches server processing logic)
  • Draft Report regenerated with admin bypass — all 8 teams graded A- to F
  • YouTube embeds switched to youtube-nocookie.com (fixes prod playback)
v0.55.0 2026-04-10 · Session 62 improvement

Auction player enrichment, add/drop error handling, position sort, standings verified

  • Auction nomination and force-assign now populate mlbTeam on Player records — no more "—" for newly drafted players
  • Add/drop claim errors return proper 400 with descriptive messages instead of opaque 500
  • Team page roster sorted by shared POS_SCORE constant; pitchers now sorted by position (SP before RP)
  • Scoring and standings verified: 8 teams, 7 periods, roto points computed correctly
v0.54.0 2026-04-09 · Session 61 feature

AI trade analyzer, insights cache, keeper recommender

  • Trade analyzer shipped — evaluates proposed trade for both sides with category-weighted analysis
  • Keeper recommender — surfaces value picks accounting for salary inflation + positional scarcity
  • Shared insights cache in SQLite (via MCP proxy) — duplicate prompts return in < 50ms instead of new inference
  • Google Gemini 2.5 Flash remains primary; Anthropic Claude Sonnet 4 now fully wired as fallback
v0.53.0 2026-04-07 · Session 60 security

CSP, HSTS, rate-limit tuning, retrospective

  • Full CSP header deployed in Cloudflare Worker — blocks inline script unless nonce matches, blocks unapproved CDN
  • HSTS with preload directive, 2-year max-age
  • Rate limiter tuned per-endpoint — auth 5/min, auction nominations 2/s, heartbeat 20/min
  • Six-month retrospective published internally — 62 sessions, 26 modules, 730 tests, ~100M tokens estimated

Pattern across releases

Each version includes a thematic title connecting to product goals, 4–6 highlights (user-facing features), and 10–30 detailed changes categorized by type (feat / fix / perf / refactor / test / docs / security). Cross-links to related docs and pages let someone jumping in mid-story find the context.

← Product & AI