{
  "product": "AgentGuard47",
  "description": "Release updates for the free SDK and paid dashboard control plane.",
  "url": "https://agentguard47.com/updates.json",
  "entries": [
    {
      "version": "v1.5.0",
      "date": "2026-04-18",
      "headline": "First-client control plane, decision traces, and release hardening",
      "summary": "This release sharpens the public SDK-to-dashboard path, adds demoable decision history and agent readiness surfaces, and hardens tenant/API behavior before a first-client push.",
      "changes": [
        "Landing, quickstart, pricing, trust, updates, and blog now lead with a shorter run-this-then-add-controls flow",
        "Decision trace events, retained timelines, context graph primitives, and demo data are now product surfaces",
        "Agent Readiness summarizes setup, trace, incident, and decision-history gaps for humans and API clients",
        "Tenant-scoped key limits, idempotent team creation, cron-log auth, validated ingest quotas, and attribution math were hardened"
      ]
    },
    {
      "version": "v1.4.1",
      "date": "2026-04-03",
      "headline": "SDK API hardening, safer webhooks, and release-surface cleanup",
      "summary": "This patch release hardens the SDK/control-plane boundary, reconciles the landing branch with main, and cleans up release and trust messaging before shipping.",
      "changes": [
        "Expired API keys are now enforced correctly and full-scope checks are covered by tests",
        "Mutable Bearer-auth routes now return explicit 400 responses on malformed JSON bodies",
        "Webhook destination validation is centralized across alert rule create, test, and delivery flows",
        "Release notes, updates feed, trust copy, and repo docs now align around the SDK-only zero-dependency claim"
      ]
    },
    {
      "version": "v1.4.0",
      "date": "2026-03-31",
      "headline": "OpenAI-first quickstart, SDK-sync copy, and a cleaner dashboard handoff",
      "summary": "This release rebuilt the public and in-app onboarding story around the real SDK path: prove guardrails locally first, then add the hosted dashboard when a team needs alerts, retained history, remote kill, and shared control.",
      "changes": [
        "Landing page now leads with the OpenAI budget-guardrails wedge and uses the current SDK import path",
        "Quickstart, blog, machine-readable docs, and lifecycle emails now pull from the same SDK-aligned snippet source",
        "Dashboard quickstart, onboarding, setup, and trace empty states now assume a local SDK proof before the hosted handoff",
        "New onboarding status route fixes first-trace polling without relying on Bearer-auth dashboard APIs from the browser"
      ]
    },
    {
      "version": "v1.3.0",
      "date": "2026-03-28",
      "headline": "SDK-first public site, cleaner onboarding, and release hardening",
      "summary": "This release aligned the public site and dashboard around the real product model: free SDK first, paid dashboard for hosted control. It also closed release-blocking auth, lead capture, and copy drift issues.",
      "changes": [
        "Landing, quickstart, trust, updates, and blog now reinforce the SDK-first path into the dashboard",
        "Protection report attribution now tracks views, leads, signups, first traces, and paid conversion",
        "Expired API keys are rejected correctly and public lead capture has abuse protection",
        "Release docs, changelog, legal copy, and trust messaging are aligned with current plans and product boundaries"
      ]
    },
    {
      "version": "v1.2.0",
      "date": "2026-03-13",
      "headline": "Sharper dashboard foundations and safer network handling",
      "summary": "This release improved the dashboard shell, tightened SSRF coverage, and cleaned up reliability issues around requests and billing UI.",
      "changes": [
        "The Contract dashboard redesign and typography refresh",
        "Full IPv6 CIDR coverage in SSRF protection",
        "Rate limiter x-real-ip handling on Vercel",
        "Billing card button alignment fixes"
      ]
    },
    {
      "version": "v1.1.0",
      "date": "2026-03-12",
      "headline": "Faster onboarding and stronger public-site metadata",
      "summary": "This release added loading states across the dashboard, improved onboarding recovery, and cleaned up structured metadata on the public site.",
      "changes": [
        "Skeleton loading states for dashboard pages",
        "Better onboarding wizard error recovery",
        "SEO structured data, OpenGraph, and Twitter Card improvements",
        "SDK package-name consistency fixes"
      ]
    },
    {
      "version": "v1.0.0",
      "date": "2026-03-10",
      "headline": "Core guardrails and intervention workflows launched",
      "summary": "The first stable release shipped the runtime guardrails that define the product wedge: intervention rules, remote kill, budget enforcement, loop detection, and cost tracking.",
      "changes": [
        "Runtime intervention engine with rule-based automation",
        "Remote kill from the dashboard",
        "Budget enforcement with hard dollar caps",
        "Loop detection with automatic circuit breaker",
        "Cost tracking per run and shared trace links"
      ]
    },
    {
      "version": "v0.9.0",
      "date": "2026-02-01",
      "headline": "Dashboard beta and SDK packaging landed",
      "summary": "The beta introduced the hosted dashboard, tracing basics, alerts, and the Python SDK package on PyPI.",
      "changes": [
        "Dashboard beta with tracing, alerts, and project management",
        "AgentGuard47 Python SDK on PyPI",
        "HttpSink background transport"
      ]
    }
  ]
}