{
  "version": "1.0",
  "description": "FundOS API changelog. Machine-readable for AI coding assistants. Format: CalVer (YYYY-MM-DD).",
  "entries": [
    {
      "date": "2026-06-12",
      "version": "2026.06.12",
      "modules": ["all"],
      "changes": [
        {
          "type": "added",
          "description": "/.well-known/fundos-modules.json — module contract describing all 12 modules, canonical IDs, cross-module foreign keys, and webhook events"
        },
        {
          "type": "added",
          "description": "17 new business webhook events: deal.created, deal.stage_changed, deal.closed, lp.created, lp.stage_moved, lp.signal_logged, transaction.created, transaction.task_completed, transaction.closed, capital_call.issued, capital_call.paid, covenant.breached, alert.created, room.created, document.uploaded, qa.answered, order.created, order.filled, order.cancelled"
        },
        {
          "type": "added",
          "description": "API error responses now include 'code', 'hint', and 'docs_url' fields to guide developers and AI coding assistants on how to fix errors"
        },
        {
          "type": "added",
          "description": "/api/changelog.json — this machine-readable changelog endpoint"
        },
        {
          "type": "added",
          "description": "/developers/modules/<module> — per-module developer guides for crm, lp-crm, investors, cfo, vdr, transactions"
        },
        {
          "type": "added",
          "description": "/developers/quickstart — 15-minute end-to-end quickstart: create deal → VDR room → webhook → document upload"
        }
      ]
    },
    {
      "date": "2026-06-11",
      "version": "2026.06.11",
      "modules": ["cfo", "oms", "hf_ops"],
      "changes": [
        {
          "type": "added",
          "description": "Master-feeder fund accounting: FundAccount.parent_fund_account_id self-ref FK, /fundos/cfo/accounts/<id>/master-feeder routes, intercompany GL entries"
        },
        {
          "type": "fixed",
          "description": "GLFeeSchedule missing preferred_return column — LP Terms page 500 fixed"
        },
        {
          "type": "added",
          "description": "HF Ops price reconciliation: HFPriceRow model, _reconcile_prices() in recon.py, 5th upload slot pb_prices"
        },
        {
          "type": "added",
          "description": "Daily NAV Accrual Engine: NavAccrualEntry model, accruals dashboard, crystallize endpoint, daily cron at 09:30 ET"
        }
      ]
    },
    {
      "date": "2026-06-03",
      "version": "2026.06.03",
      "modules": ["lp_crm"],
      "changes": [
        {
          "type": "added",
          "description": "IR Campaign system: /fundos/lp-crm/campaigns/* — create, send, batch-drain, pause, open/click tracking"
        },
        {
          "type": "added",
          "description": "LP Segments: /fundos/lp-crm/segments/* — static and dynamic filter-based LP distribution lists"
        },
        {
          "type": "added",
          "description": "LP Prospecting Connectors: Apollo.io integration, CSV import (Dakota/LinkedIn Sales Nav), review queue"
        }
      ]
    },
    {
      "date": "2026-05-30",
      "version": "2026.05.30",
      "modules": ["auth", "mcp"],
      "changes": [
        {
          "type": "added",
          "description": "OAuth 2.0 Dynamic Client Registration (RFC 7591) at /oauth/register — MCP clients self-register without pre-configured client_id"
        },
        {
          "type": "added",
          "description": "/.well-known/oauth-authorization-server includes registration_endpoint"
        }
      ]
    },
    {
      "date": "2026-05-15",
      "version": "2026.05.15",
      "modules": ["oms", "cfo"],
      "changes": [
        {
          "type": "added",
          "description": "OMS Portfolio Models: /fundos/oms/models/* — create model portfolios with target weights, assign to fund accounts"
        },
        {
          "type": "added",
          "description": "Rebalancing Proposals: /fundos/oms/rebalance/* — drift/manual/cash-flow triggered trade proposals with pre-trade compliance"
        },
        {
          "type": "added",
          "description": "Tax Lots: /fundos/oms/lots/import — historical lot import, ST/LT classification, unrealized/realized G/L"
        },
        {
          "type": "added",
          "description": "FX Rates: /fundos/oms/fx-rates — Finnhub forex refresh, per-lot currency column"
        },
        {
          "type": "added",
          "description": "CFO Fund Dashboard v2: 6 tiles — MTD/QTD/YTD P&L, Risk, Movers, Period Close, LP Waterfall, Benchmark sparkline"
        }
      ]
    },
    {
      "date": "2026-05-01",
      "version": "2026.05.01",
      "modules": ["oms", "hf_ops"],
      "changes": [
        {
          "type": "added",
          "description": "Order Management System (OMS): orders, executions, positions, locates, limits, FIX session config"
        },
        {
          "type": "added",
          "description": "HF Ops module: DTCC ITP T+0 affirmation, recon (position/cash/price), scorecard"
        }
      ]
    },
    {
      "date": "2026-04-20",
      "version": "2026.04.20",
      "modules": ["developers"],
      "changes": [
        {
          "type": "added",
          "description": "Stateless Document API: /api/v1/documents/k1, /odd, /analyze, /waterfall, /pricer — pay-per-call, no auth required beyond API key"
        },
        {
          "type": "added",
          "description": "Developer registration portal at /developers — self-serve API keys, usage dashboard"
        }
      ]
    }
  ]
}
