issue.md · the AI changelog for agents
Insurance so your agent doesn't break, overpay, or run a stale model.
issue.md is a changelog of what changes at AI model providers, written for machines. Model releases and retirements, price and rate-limit changes, deprecations, breaking changes, policy changes, new capabilities and outages, as typed events with an effective date, the surfaces they touch, and a primary source and quote for every claim. Built for coding agents, DevOps agents and cost routers that need to know what changed before it breaks something.
Testnet. Payments are on testnet: no real money yet. Passes are bought with testnet pathUSD from the faucet.
Latest events
| 2026-09-19 fireworks price_change · high | fireworks-2026-10-01-deepseek-v4p1-flash-serverless-priceFireworks raises serverless DeepSeek V4.1 Flash prices on October 1, 2026 at 00:00 UTC: Standard $0.22/$0.007/$0.66 to $0.30/$0.006/$1.20 and Priority $0.275/$0.00875/$0.825 to $0.375/$0.0075/$1.50 per 1M tokens (uncached/cached/output). |
| 2026-09-18 openai outage · info | openai-2026-09-18-agent-api-container-overbillingOpenAI reported higher-than-expected charges for OpenAI-hosted containers in the Agent API starting 2026-09-18T22:29:53Z; mitigation applied and fully recovered by 2026-09-19T07:52:40Z with refunds in review. |
| 2026-09-18 xai model_release · medium | xai-2026-09-18-grok-voice-transcribe-2-0-releasexAI released grok-voice-transcribe-2.0 as the default Speech-to-Text model; existing integrations get accuracy gains with no code changes, and batch stays $0.10/hour while streaming stays $0.20/hour. |
| 2026-09-18 xai model_retirement · medium | xai-2026-09-18-grok-voice-transcribe-1-0-retirementxAI says grok-voice-transcribe-1.0 will be deprecated in the coming weeks as grok-voice-transcribe-2.0 becomes the Speech-to-Text API default; no hard shutdown date is published yet. |
| 2026-09-18 anthropic new_capability · info | anthropic-2026-09-18-compliance-api-claude-in-chromeCompliance API local session endpoints now also return Claude in Chrome session transcripts (product_surface claude_in_chrome) for Claude Enterprise orgs in beta. |
10 events · 4 runs · 12 corrections · last run 2026-09-19
Free and paid
Free. Free, forever: the full event list as summaries (id, vendor, product, type, severity, one-line summary, dates). All history, no sign-up, no key.
Pass, $20 per 30 days. A pass: $20 per 30 days, per wallet, auto-renewing, cancel any time. It unlocks full records (sources, evidence quotes, details, migration notes, related events, verification and confidence), single events, model lifecycles with sunset dates and replacements, and the corrections trail.
Paid over the Machine Payments Protocol on Tempo: your agent's wallet is the identity, there are no accounts or API keys, and it authorizes exactly the pass price per period to our wallet and nothing else, revocable in your wallet at any time.
Connect
MCP. MCP (Streamable HTTP), for Claude Code, Cursor, the MCP Inspector and any MCP client. Four tools: get_events (free), get_event, get_model, get_corrections.
https://mcp.issue.md/mcp
HTTP. HTTP, from anything that can make a request:
curl -s 'https://api.issue.md/v1/events?limit=5'
curl -s 'https://api.issue.md/v1/events?vendor=openai&type=deprecation'
Paying for full records. Full records answer 402 with a Machine Payments Protocol challenge in the WWW-Authenticate header and a JSON body that states the price. An MPP client (mppx, the Tempo wallet, the mppx CLI) signs the authorization, retries the same request with the credential in the Authorization header, and gets the record. That credential is your identity for 24 hours: send it on every request. When it expires you get a 402 again; sign it again with the same wallet, which costs nothing while the pass is paid. The pass itself renews automatically every 30 days from the authorization your wallet gave, until you cancel it (DELETE /v1/pass) or revoke the key in your wallet.
npm install mppx viem
// WALLET_KEY: a testnet wallet's private key; `npx mppx account create --network testnet` makes one, funded from the faucet
import { Mppx, tempo } from "mppx/client";
import { privateKeyToAccount } from "viem/accounts";
const mppx = Mppx.create({ methods: [tempo.subscription({ account: privateKeyToAccount(process.env.WALLET_KEY) })] });
const res = await mppx.fetch("https://api.issue.md/v1/events/anthropic-2026-09-18-compliance-api-claude-in-chrome");
console.log(await res.json()); // 402 → signed → retried → the full record
Schema: https://api.issue.md/schema/event.json · Health: https://api.issue.md/healthz
Vendor coverage
Generated from the data: every vendor with at least one event, and how many.
google3 events, latest 2026-09-17anthropic2 events, latest 2026-09-18openai2 events, latest 2026-09-18xai2 events, latest 2026-09-18fireworks1 event, latest 2026-09-19
How it's made
A producer reads the vendors' own pages every day (docs, pricing pages, changelogs, deprecation notices, status pages, blogs) and emits one run of typed events. Every event must carry a primary source and a quote; leads backed only by secondary reports are held back until confirmed. The loader validates each run against a strict schema, rejects it whole if anything is off, and assigns it an immutable edition number.
History is never rewritten. When a vendor changes a date or a detail, the event gets a new version and a correction is recorded with what changed and which run saw it, so an agent that already acted on the old value can find out. "What changed since I last looked" is new events plus corrections since then.
Roadmap
Expand coverage to the full stack agents depend on: not only model providers, but the runtimes, SDKs, agent frameworks, hosting and tooling that a coding or DevOps agent breaks on.
Contact
issue.md.team@proton.me. issue.md is a small independent project.