jameschang.co [experience] [/now] résumé.pdf ↓

James Chang / Projects / 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

v2.2.0 2026-07-06 feature

Email signup on the marketing site

  • Feature: Visitors can subscribe for updates from the home page at thefantasticleagues.com — a verified double opt-in list (confirmation email required, one-click unsubscribe). Only the email address is stored; no names, no tracking scripts.
  • Internal: New Subscriber table (Row-Level-Security-locked from the public/anon key — writes only via the server); public /api/public/subscribe endpoint with honeypot + per-IP rate limit + per-address cooldown; server-rendered confirm/unsubscribe pages; confirmation email via Resend. Also fixed a rotated/invalid Resend API key that had been silently breaking league-invite emails.
v2.1.2 2026-06-29 reliability

Deploy monitoring + CI/test hardening (internal)

  • Reliability: Automated deploy-failure alerting — /api/health now reports the deployed commit, and CI fails (notifying maintainers) if a push doesn't actually go live. Prevents a recurrence of a silent deploy freeze.
  • Internal: Hardened the destructive-test database guard (fail-closed); draft integration tests now run in CI against an ephemeral Postgres; fixed an IPv6 rate-limiter boot warning. No user-facing behavior change.
v2.1.1 2026-06-29 fix

Deploy pipeline restored; recent features now actually live

  • Fix: Production deploys had been failing for 8 days (a failed Prisma migration blocked every Railway boot via P3009). Resolved the migration state and redeployed — the MLB snake draft, NFL/NBA dashboards, and Scoring Settings built over the prior week are now actually live in production.
  • Fix: Server CI typecheck (red since the standings refactor) restored to green.
  • Verification: OGBA standings audited against FanGraphs/OnRoto — all 8 teams reconcile exactly.
  • Internal: Hardened a destructive test-database guard and added regression tests; no user-facing change.
v2.1.0 2026-06-22 improvement feature

In-season standings accuracy + AI refinements

  • Improvement: Real-time stat sync now 99.2% accurate (up from 96%)
  • Improvement: Daily stat line reconciliation for retroactive corrections
  • Feature: Claude AI micro-adjustments for keeper-league scoring anomalies
  • Feature: Injury reserve auto-flagging when player moves to IL/DTD
v2.0.0 2026-05-01 feature breaking

Live auction WebSockets + AI scoring overhaul

  • Feature: Real-time live auction with bid concurrency handling
  • Feature: Gemini + Claude AI hybrid scoring for league context
  • Feature: League-specific stat weighting (per-league custom scoring rules)
  • Breaking: Old single-league API endpoints consolidated to v2 namespace
v1.5.0 2026-03-15 feature improvement

Keeper league automation

  • Feature: Multi-year keeper tracking and salary cap management
  • Feature: Draft order randomization and tie-breaking rules
  • Improvement: Auction timer presets for different league sizes

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