diff --git a/README.md b/README.md index 1302d75..ad98810 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ format instead of each scraping the same pages. replacement, `distributions` for per-channel lifecycles, and publisher `policy` floors. It is small enough that a provider could serve it at `/.well-known/model-eol.json` in an afternoon. -- **`feeds/`** - Amazon (4 entries), Anthropic (32 entries), Cohere (12 entries), Google (93 entries), Mistral (40 entries) and OpenAI (195 entries), generated from the providers' live deprecation pages plus the AWS Bedrock, Google Vertex AI, and Azure Foundry lifecycle pages, feed data generated 2026-09-09. Every +- **`feeds/`** - Amazon (4 entries), Anthropic (33 entries), Cohere (12 entries), Google (96 entries), Mistral (40 entries) and OpenAI (201 entries), generated from the providers' live deprecation pages plus the AWS Bedrock, Google Vertex AI, and Azure Foundry lifecycle pages, feed data generated 2026-09-21. Every dated entry carries a source URL. Anthropic's "not sooner than" dates for active models are included as `tentative` planning floors. - **`check.mjs`** - zero-dependency CLI: CI gate, PR diff gate, inventory, CycloneDX diff --git a/feeds/anthropic.json b/feeds/anthropic.json index a907bad..2382a43 100644 --- a/feeds/anthropic.json +++ b/feeds/anthropic.json @@ -1,7 +1,7 @@ { "spec": "model-eol/0.1", "publisher": "anthropic", - "generated": "2026-09-09T15:04:52.531Z", + "generated": "2026-09-21T15:02:11.423Z", "source": "https://platform.claude.com/docs/en/about-claude/model-deprecations", "policy": { "min_notice_days": 60, @@ -400,11 +400,11 @@ "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" } ], - "shutdown": "2026-11-24", - "date_precision": "tentative", "aliases": [ "claude-opus-4-5" - ] + ], + "shutdown": "2026-11-24", + "date_precision": "tentative" }, { "id": "claude-haiku-4-5-20251001", @@ -424,11 +424,11 @@ "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" } ], - "shutdown": "2026-10-15", - "date_precision": "tentative", "aliases": [ "claude-haiku-4-5" - ] + ], + "shutdown": "2026-10-15", + "date_precision": "tentative" }, { "id": "claude-sonnet-4-5-20250929", @@ -448,11 +448,11 @@ "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" } ], - "shutdown": "2026-09-29", - "date_precision": "tentative", "aliases": [ "claude-sonnet-4-5" - ] + ], + "shutdown": "2026-09-29", + "date_precision": "tentative" }, { "id": "claude-fable-5-1", @@ -485,7 +485,10 @@ "status": "active", "source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-anthropic-claude-mythos-5.html" } - ] + ], + "shutdown": "2027-06-09", + "date_precision": "tentative", + "source": "https://platform.claude.com/docs/en/about-claude/model-deprecations" }, { "id": "claude-mythos-5-1", @@ -502,6 +505,22 @@ "status": "active", "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" } + ], + "shutdown": "2027-09-01", + "date_precision": "tentative", + "source": "https://platform.claude.com/docs/en/about-claude/model-deprecations" + }, + { + "id": "claude-mythos-preview", + "announced": "2026-06-09", + "source": "https://platform.claude.com/docs/en/about-claude/model-deprecations", + "distributions": [ + { + "via": "azure-ai-foundry", + "shutdown": "2027-04-02", + "status": "active", + "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" + } ] } ] diff --git a/feeds/google.json b/feeds/google.json index d8ccb3e..c7def89 100644 --- a/feeds/google.json +++ b/feeds/google.json @@ -1,7 +1,7 @@ { "spec": "model-eol/0.1", "publisher": "google", - "generated": "2026-09-07T05:31:03.696Z", + "generated": "2026-09-21T15:02:11.423Z", "source": "https://ai.google.dev/gemini-api/docs/deprecations", "models": [ { @@ -165,7 +165,7 @@ "distributions": [ { "via": "vertex-ai", - "shutdown": "2026-10-02", + "shutdown": "2027-03-15", "date_precision": "earliest", "source": "https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/model-versions" } @@ -284,23 +284,24 @@ "source": "https://ai.google.dev/gemini-api/docs/deprecations", "shutdown": "2025-12-09", "date_precision": "earliest", - "replacement": "gemini-3.1-flash-live-preview" + "replacement": "gemini-3.8-live" }, { "id": "gemini-3.1-flash-live-preview", - "source": "https://ai.google.dev/gemini-api/docs/deprecations" + "source": "https://ai.google.dev/gemini-api/docs/deprecations", + "replacement": "gemini-3.8-live" }, { "id": "gemini-2.5-flash-native-audio-preview-12-2025", "source": "https://ai.google.dev/gemini-api/docs/deprecations", - "replacement": "gemini-3.1-flash-live-preview" + "replacement": "gemini-3.8-live" }, { "id": "gemini-live-2.5-flash-preview", "source": "https://ai.google.dev/gemini-api/docs/deprecations", "shutdown": "2025-12-09", "date_precision": "earliest", - "replacement": "gemini-3.1-flash-live-preview" + "replacement": "gemini-3.8-live" }, { "id": "gemini-3.1-flash-tts-preview", @@ -570,6 +571,8 @@ "distributions": [ { "via": "vertex-ai", + "shutdown": "2027-06-28", + "date_precision": "earliest", "source": "https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/model-versions" } ] @@ -651,6 +654,17 @@ { "id": "lyria-3.5", "source": "https://ai.google.dev/gemini-api/docs/deprecations" + }, + { + "id": "gemini-3.8-live", + "source": "https://ai.google.dev/gemini-api/docs/deprecations" + }, + { + "id": "gemini-3.8-live-extended-thinking", + "source": "https://ai.google.dev/gemini-api/docs/deprecations" + }, + { + "id": "antigravity-preview-09-2026" } ] } diff --git a/feeds/openai.json b/feeds/openai.json index 743fc7e..1696d71 100644 --- a/feeds/openai.json +++ b/feeds/openai.json @@ -1,7 +1,7 @@ { "spec": "model-eol/0.1", "publisher": "openai", - "generated": "2026-09-09T15:04:52.530Z", + "generated": "2026-09-21T15:02:11.422Z", "source": "https://developers.openai.com/api/docs/deprecations", "note": "Community-maintained seed dataset, compiled 2026-07-25 from the provider's deprecations page. Verify against the source before acting; this file demonstrates the format.", "models": [ @@ -14,8 +14,8 @@ "distributions": [ { "via": "azure-ai-foundry", - "shutdown": "2026-12-26", - "status": "active", + "shutdown": "2026-11-19", + "status": "legacy", "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" } ], @@ -77,7 +77,7 @@ "distributions": [ { "via": "azure-ai-foundry", - "shutdown": "2026-10-21", + "shutdown": "2026-11-19", "status": "legacy", "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" } @@ -95,7 +95,7 @@ "distributions": [ { "via": "azure-ai-foundry", - "shutdown": "2026-10-01", + "shutdown": "2026-11-19", "status": "legacy", "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" } @@ -128,8 +128,8 @@ "distributions": [ { "via": "azure-ai-foundry", - "shutdown": "2026-10-21", - "status": "active", + "shutdown": "2026-11-19", + "status": "legacy", "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" } ], @@ -146,8 +146,8 @@ "distributions": [ { "via": "azure-ai-foundry", - "shutdown": "2026-12-17", - "status": "active", + "shutdown": "2026-11-19", + "status": "legacy", "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" } ], @@ -330,9 +330,6 @@ { "id": "gpt-image-1-mini", "source": "https://developers.openai.com/api/docs/deprecations", - "announced": "2026-06-02", - "shutdown": "2026-12-01", - "replacement": "gpt-image-2", "distributions": [ { "via": "azure-ai-foundry", @@ -340,22 +337,25 @@ "status": "active", "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" } - ] + ], + "announced": "2026-06-02", + "shutdown": "2026-12-01", + "replacement": "gpt-image-2" }, { "id": "gpt-image-1.5", "source": "https://developers.openai.com/api/docs/deprecations", - "announced": "2026-06-02", - "shutdown": "2026-12-01", - "replacement": "gpt-image-2", "distributions": [ { "via": "azure-ai-foundry", - "shutdown": "2027-06-16", + "shutdown": "2026-12-16", "status": "active", "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" } - ] + ], + "announced": "2026-06-02", + "shutdown": "2026-12-01", + "replacement": "gpt-image-2" }, { "id": "chatgpt-image-latest", @@ -421,9 +421,6 @@ { "id": "gpt-image-1", "source": "https://developers.openai.com/api/docs/deprecations", - "announced": "2026-04-22", - "shutdown": "2026-10-23", - "replacement": "gpt-image-2", "distributions": [ { "via": "azure-ai-foundry", @@ -431,7 +428,10 @@ "status": "active", "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" } - ] + ], + "announced": "2026-04-22", + "shutdown": "2026-10-23", + "replacement": "gpt-image-2" }, { "id": "o1-pro-2025-03-19", @@ -442,8 +442,8 @@ "distributions": [ { "via": "azure-ai-foundry", - "shutdown": "2026-10-21", - "status": "active", + "shutdown": "2026-11-19", + "status": "legacy", "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" } ], @@ -468,7 +468,7 @@ "distributions": [ { "via": "azure-ai-foundry", - "shutdown": "2026-10-16", + "shutdown": "2026-11-19", "status": "legacy", "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" } @@ -632,9 +632,6 @@ { "id": "gpt-5-codex", "source": "https://developers.openai.com/api/docs/deprecations", - "announced": "2026-04-22", - "shutdown": "2026-07-23", - "replacement": "gpt-5.6-sol", "distributions": [ { "via": "azure-ai-foundry", @@ -642,7 +639,10 @@ "status": "active", "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" } - ] + ], + "announced": "2026-04-22", + "shutdown": "2026-07-23", + "replacement": "gpt-5.6-sol" }, { "id": "gpt-5.1-chat-latest", @@ -654,9 +654,6 @@ { "id": "gpt-5.1-codex", "source": "https://developers.openai.com/api/docs/deprecations", - "announced": "2026-04-22", - "shutdown": "2026-07-23", - "replacement": "gpt-5.6-sol", "distributions": [ { "via": "azure-ai-foundry", @@ -664,14 +661,14 @@ "status": "active", "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" } - ] + ], + "announced": "2026-04-22", + "shutdown": "2026-07-23", + "replacement": "gpt-5.6-sol" }, { "id": "gpt-5.1-codex-max", "source": "https://developers.openai.com/api/docs/deprecations", - "announced": "2026-04-22", - "shutdown": "2026-07-23", - "replacement": "gpt-5.6-sol", "distributions": [ { "via": "azure-ai-foundry", @@ -679,14 +676,14 @@ "status": "active", "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" } - ] + ], + "announced": "2026-04-22", + "shutdown": "2026-07-23", + "replacement": "gpt-5.6-sol" }, { "id": "gpt-5.1-codex-mini", "source": "https://developers.openai.com/api/docs/deprecations", - "announced": "2026-04-22", - "shutdown": "2026-07-23", - "replacement": "gpt-5.6-terra", "distributions": [ { "via": "azure-ai-foundry", @@ -694,7 +691,10 @@ "status": "active", "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" } - ] + ], + "announced": "2026-04-22", + "shutdown": "2026-07-23", + "replacement": "gpt-5.6-terra" }, { "id": "gpt-audio-mini-2025-10-06", @@ -729,9 +729,6 @@ { "id": "gpt-5.2-codex", "source": "https://developers.openai.com/api/docs/deprecations", - "announced": "2026-04-22", - "shutdown": "2026-07-23", - "replacement": "gpt-5.6-sol", "distributions": [ { "via": "azure-ai-foundry", @@ -739,7 +736,10 @@ "status": "active", "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" } - ] + ], + "announced": "2026-04-22", + "shutdown": "2026-07-23", + "replacement": "gpt-5.6-sol" }, { "id": "chatgpt-4o-latest", @@ -1299,12 +1299,6 @@ { "id": "gpt-4o-transcribe", "source": "https://developers.openai.com/api/docs/deprecations", - "announced": "2026-08-26", - "shutdown": "2027-02-26", - "replacement_options": [ - "gpt-live-transcribe", - "gpt-transcribe" - ], "distributions": [ { "via": "azure-ai-foundry", @@ -1312,6 +1306,12 @@ "status": "active", "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" } + ], + "announced": "2026-08-26", + "shutdown": "2027-02-26", + "replacement_options": [ + "gpt-live-transcribe", + "gpt-transcribe" ] }, { @@ -1358,12 +1358,6 @@ { "id": "gpt-4o-transcribe-diarize", "source": "https://developers.openai.com/api/docs/deprecations", - "announced": "2026-08-26", - "shutdown": "2027-02-26", - "replacement_options": [ - "gpt-live-transcribe", - "gpt-transcribe" - ], "distributions": [ { "via": "azure-ai-foundry", @@ -1371,6 +1365,12 @@ "status": "active", "source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule" } + ], + "announced": "2026-08-26", + "shutdown": "2027-02-26", + "replacement_options": [ + "gpt-live-transcribe", + "gpt-transcribe" ] }, { @@ -1692,6 +1692,30 @@ "source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-openai-gpt-6-astra.html" } ] + }, + { + "id": "gpt-5.4-cyber", + "announced": "2026-09-11", + "shutdown": "2026-10-01", + "source": "https://developers.openai.com/api/docs/deprecations", + "replacement_options": [ + "gpt-5.6-cyber" + ] + }, + { + "id": "gpt-image-2.5-flare" + }, + { + "id": "gpt-image-2.5-sunburst" + }, + { + "id": "gpt-image-2.5-flare-2026-09-08" + }, + { + "id": "gpt-image-2.5-sunburst-2026-09-08" + }, + { + "id": "gpt-live-1" } ] }