Changelog

Every shipped change to Diamond Projections — projections, optimizer, MCP server, REST API, and integrations. Subscribe via RSS.

New here? Create a free trial account or browse the API docs.

  1. Postponed-game filtering

    Players from postponed, cancelled, or suspended games are now automatically removed from the slate, projections, and optimizer.

    • Track MLB game status (Postponed / Cancelled / Suspended) on every slate refresh.
    • Filter non-playable games out of the player pool, public projections, and lineup optimizer.
    • REST and MCP responses (`/api/v1/slates/*/players`, `get_player_pool`) now exclude affected teams immediately.
  2. Competitor comparison pages

    Launched side-by-side comparison pages so DFS players can evaluate Diamond DFS against Stokastic, SaberSim, RotoWire, and FantasyLabs.

    • New `/compare/{competitor}` pages with feature, pricing, and FAQ schema.
    • Added `/alternatives/mlb-dfs-projections` aggregator page.
    • Sitemap and internal links updated.
  3. Domain cutover and SEO foundations

    Canonicalized the site on https://diamonddfs.com and shipped the first wave of search-engine and LLM-discovery foundations.

    • All hardcoded references migrated to the diamonddfs.com apex.
    • Added `/sitemap.xml`, `robots.txt`, Organization + WebSite JSON-LD.
    • FAQPage and SoftwareApplication JSON-LD on ChatGPT, Claude, and Gemini integration pages.
    • Expanded `/llms.txt` and `/llms-full.txt` for LLM-native discovery.
  4. MCP server (Streamable HTTP) + OAuth 2.1

    Diamond Projections is now available as an MCP connector for ChatGPT, Claude, and any MCP-aware agent.

    • Streamable-HTTP MCP server at `/api/mcp`.
    • OAuth 2.1 with PKCE, Dynamic Client Registration (RFC 7591), and rotating refresh tokens.
    • Tools: `get_slates`, `get_player_pool`, `build_optimal_lineup`, `swap_player`, `explain_projection`, `explain_lineup`, weight-preset management.
  5. REST API v1

    Stable v1 REST API for projections, optimization, and PAPPI data, with full OpenAPI 3.1 spec at `/api/v1/openapi.json`.

    • `slateId` (DraftKings draft-group ID) is the canonical slate selector; `slateDate` accepted with ambiguous-slate handling.
    • API key auth (`dp_live_*`) plus OAuth and Supabase JWT support on every v1 endpoint.
    • Self-serve API key management at `/settings/api-keys`.