<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: AI Deprecations</title>
    <description>The latest articles on DEV Community by AI Deprecations (@aideprecations).</description>
    <link>https://dev.to/aideprecations</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4229872%2F9c1b5a57-e217-4173-b5b4-14622c905041.png</url>
      <title>DEV Community: AI Deprecations</title>
      <link>https://dev.to/aideprecations</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aideprecations"/>
    <language>en</language>
    <item>
      <title>What to Do Before OpenAI GPT-5 and o3 Shut Down on December 11, 2026</title>
      <dc:creator>AI Deprecations</dc:creator>
      <pubDate>Fri, 06 Nov 2026 07:23:06 +0000</pubDate>
      <link>https://dev.to/aideprecations/what-to-do-before-openai-gpt-5-and-o3-shut-down-on-december-11-2026-fap</link>
      <guid>https://dev.to/aideprecations/what-to-do-before-openai-gpt-5-and-o3-shut-down-on-december-11-2026-fap</guid>
      <description>&lt;p&gt;OpenAI removes &lt;code&gt;gpt-5&lt;/code&gt;, &lt;code&gt;gpt-5-mini&lt;/code&gt;, &lt;code&gt;gpt-5-nano&lt;/code&gt;, &lt;code&gt;gpt-5-pro&lt;/code&gt;, &lt;code&gt;o3&lt;/code&gt;, &lt;code&gt;o3-pro&lt;/code&gt; and their dated snapshots from the API on &lt;strong&gt;Dec 11, 2026&lt;/strong&gt; (announced Jun 11, 2026).&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Free Mon/Wed/Fri email + breaking shutdown alerts (every date linked to the official source): &lt;strong&gt;&lt;a href="https://aideprecations.com/subscribe/" rel="noopener noreferrer"&gt;Subscribe at aideprecations.com/subscribe&lt;/a&gt;&lt;/strong&gt;. Double opt-in. Confirming also unlocks the AI Model Migration Checklist and a personal &lt;code&gt;.ics&lt;/code&gt; shutdown calendar.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Every affected model ID and its replacement
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model ID&lt;/th&gt;
&lt;th&gt;Platform&lt;/th&gt;
&lt;th&gt;Shutdown&lt;/th&gt;
&lt;th&gt;Replacement (provider wording)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;gpt-5&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;Dec 11, 2026&lt;/td&gt;
&lt;td&gt;&lt;code&gt;gpt-5.6-sol&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;gpt-5-2025-08-07&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;Dec 11, 2026&lt;/td&gt;
&lt;td&gt;&lt;code&gt;gpt-5.6-sol&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;gpt-5-mini&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;Dec 11, 2026&lt;/td&gt;
&lt;td&gt;&lt;code&gt;gpt-5.6-terra&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;gpt-5-mini-2025-08-07&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;Dec 11, 2026&lt;/td&gt;
&lt;td&gt;&lt;code&gt;gpt-5.6-terra&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;gpt-5-nano&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;Dec 11, 2026&lt;/td&gt;
&lt;td&gt;&lt;code&gt;gpt-5.6-luna&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;gpt-5-nano-2025-08-07&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;Dec 11, 2026&lt;/td&gt;
&lt;td&gt;&lt;code&gt;gpt-5.6-luna&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;gpt-5-pro&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;Dec 11, 2026&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;gpt-5.6-sol&lt;/code&gt; (&lt;code&gt;reasoning.mode: pro&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;gpt-5-pro-2025-10-06&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;Dec 11, 2026&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;gpt-5.6-sol&lt;/code&gt; (&lt;code&gt;reasoning.mode: pro&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;o3&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;Dec 11, 2026&lt;/td&gt;
&lt;td&gt;&lt;code&gt;gpt-5.6-sol&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;o3-2025-04-16&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;Dec 11, 2026&lt;/td&gt;
&lt;td&gt;&lt;code&gt;gpt-5.6-sol&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;o3-pro&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;Dec 11, 2026&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;gpt-5.6-sol&lt;/code&gt; (&lt;code&gt;reasoning.mode: pro&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;o3-pro-2025-06-10&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;Dec 11, 2026&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;gpt-5.6-sol&lt;/code&gt; (&lt;code&gt;reasoning.mode: pro&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Source: &lt;a href="https://developers.openai.com/api/docs/deprecations" rel="noopener noreferrer"&gt;OpenAI API deprecations&lt;/a&gt; ("2026-06-11: GPT-5 and o3 model deprecations").&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fine-tuned models:&lt;/strong&gt; OpenAI says fine-tuned versions follow the same shutdown schedule as their underlying base models.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pro models:&lt;/strong&gt; the replacement for &lt;code&gt;gpt-5-pro&lt;/code&gt; and &lt;code&gt;o3-pro&lt;/code&gt; is written as &lt;code&gt;gpt-5.6-sol&lt;/code&gt; with &lt;code&gt;reasoning.mode: pro&lt;/code&gt; — the model ID changes &lt;strong&gt;and&lt;/strong&gt; you set a reasoning mode. Swapping the ID alone is not the documented replacement.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aliases vs snapshots:&lt;/strong&gt; both the alias (&lt;code&gt;gpt-5&lt;/code&gt;) and the dated snapshot (&lt;code&gt;gpt-5-2025-08-07&lt;/code&gt;) are on the list. Pinning a snapshot does not save you.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Azure OpenAI&lt;/strong&gt; deployments follow Azure's own retirement schedule; check the Azure OpenAI page, not this date.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 1: Find every call site
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rg &lt;span class="nt"&gt;-n&lt;/span&gt; &lt;span class="nt"&gt;--hidden&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; &lt;span class="s1"&gt;'!node_modules'&lt;/span&gt; &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="s1"&gt;'"gpt-5(-mini|-nano|-pro)?(-20[0-9-]+)?"'&lt;/span&gt; &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="s1"&gt;'"o3(-pro)?(-20[0-9-]+)?"'&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;
rg &lt;span class="nt"&gt;-n&lt;/span&gt; &lt;span class="nt"&gt;--hidden&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; &lt;span class="s1"&gt;'*.{yml,yaml,json,toml,tf,tfvars}'&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; &lt;span class="s1"&gt;'.env*'&lt;/span&gt; &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="s1"&gt;'gpt-5'&lt;/span&gt; &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="s1"&gt;'\bo3\b'&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note the quotes in the first pattern: they avoid matching newer IDs like &lt;code&gt;gpt-5.1&lt;/code&gt; or &lt;code&gt;gpt-5.6-sol&lt;/code&gt;. Review the hits by hand. Also check CI workflows, eval configs, LLM gateways/routers, feature flags, and fine-tune job configs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Map each model to its replacement
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;gpt-5&lt;/code&gt;, &lt;code&gt;o3&lt;/code&gt; → &lt;code&gt;gpt-5.6-sol&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;gpt-5-mini&lt;/code&gt; → &lt;code&gt;gpt-5.6-terra&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;gpt-5-nano&lt;/code&gt; → &lt;code&gt;gpt-5.6-luna&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;gpt-5-pro&lt;/code&gt;, &lt;code&gt;o3-pro&lt;/code&gt; → &lt;code&gt;gpt-5.6-sol&lt;/code&gt; with &lt;code&gt;reasoning.mode: pro&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Confirm in OpenAI's model docs before switching.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Re-test what actually breaks
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Reasoning parameters: &lt;code&gt;o3&lt;/code&gt; and &lt;code&gt;gpt-5&lt;/code&gt; accept reasoning-effort settings; confirm which settings the replacement accepts and pin them explicitly.&lt;/li&gt;
&lt;li&gt;Tool calls: validate every function call against your JSON schema and re-run multi-step agent loops end to end.&lt;/li&gt;
&lt;li&gt;Structured outputs: parse every response with your production parser; compare refusal and truncation rates.&lt;/li&gt;
&lt;li&gt;Cost and latency: measure on your own traffic; pro reasoning modes can be much slower.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 4: Roll out in stages before Dec 11
&lt;/h2&gt;

&lt;p&gt;Model ID and reasoning settings in config, not code. Shadow traffic, then 1% → 10% → 50% → 100%. Finish at least a week before Dec 11, 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Guard against the day-after failure
&lt;/h2&gt;

&lt;p&gt;Alert on model-not-found errors from the OpenAI SDK. Fail CI if any of the 12 retired IDs above appears in the repo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Free checklist + alerts
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Full guide (canonical): &lt;a href="https://aideprecations.com/guides/gpt-5-o3-shutdown/" rel="noopener noreferrer"&gt;https://aideprecations.com/guides/gpt-5-o3-shutdown/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Subscribe (email, calendar, webhooks, MCP): &lt;a href="https://aideprecations.com/subscribe/" rel="noopener noreferrer"&gt;https://aideprecations.com/subscribe/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Machine-readable data: &lt;a href="https://aideprecations.com/data.json" rel="noopener noreferrer"&gt;https://aideprecations.com/data.json&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dates come from official provider pages. If a date looks wrong, open an issue against the source page first — that page is the source of truth.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>openai</category>
      <category>llm</category>
      <category>devops</category>
    </item>
    <item>
      <title>What to Do Before Claude Sonnet 4.5 Shuts Down on November 30, 2026</title>
      <dc:creator>AI Deprecations</dc:creator>
      <pubDate>Fri, 06 Nov 2026 07:23:05 +0000</pubDate>
      <link>https://dev.to/aideprecations/what-to-do-before-claude-sonnet-45-shuts-down-on-november-30-2026-55g4</link>
      <guid>https://dev.to/aideprecations/what-to-do-before-claude-sonnet-45-shuts-down-on-november-30-2026-55g4</guid>
      <description>&lt;p&gt;Anthropic retires &lt;code&gt;claude-sonnet-4-5-20250929&lt;/code&gt; on the Claude API on &lt;strong&gt;Nov 30, 2026&lt;/strong&gt;. After that date, requests to it fail. Anthropic's recommended replacement is &lt;code&gt;claude-sonnet-5-5&lt;/code&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Free Mon/Wed/Fri email + breaking shutdown alerts (every date linked to the official source): &lt;strong&gt;&lt;a href="https://aideprecations.com/subscribe/" rel="noopener noreferrer"&gt;Subscribe at aideprecations.com/subscribe&lt;/a&gt;&lt;/strong&gt;. Double opt-in. Confirming also unlocks the AI Model Migration Checklist and a personal &lt;code&gt;.ics&lt;/code&gt; shutdown calendar.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The facts (from official pages)
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model ID&lt;/th&gt;
&lt;th&gt;Platform&lt;/th&gt;
&lt;th&gt;Shutdown&lt;/th&gt;
&lt;th&gt;Replacement&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;claude-sonnet-4-5-20250929&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Anthropic Claude API&lt;/td&gt;
&lt;td&gt;Nov 30, 2026&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;claude-sonnet-5-5&lt;/code&gt; (&lt;a href="https://platform.claude.com/docs/en/about-claude/model-deprecations" rel="noopener noreferrer"&gt;source&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;anthropic.claude-sonnet-4-5-20250929-v1:0&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;AWS Bedrock&lt;/td&gt;
&lt;td&gt;Apr 8, 2027&lt;/td&gt;
&lt;td&gt;not listed (&lt;a href="https://docs.aws.amazon.com/bedrock/latest/userguide/model-lifecycle-legacy.html" rel="noopener noreferrer"&gt;source&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Anthropic deprecated &lt;code&gt;claude-sonnet-4-5-20250929&lt;/code&gt; on Sep 30, 2026 and retires it on the Claude API on Nov 30, 2026 (&lt;a href="https://platform.claude.com/docs/en/about-claude/model-deprecations" rel="noopener noreferrer"&gt;Anthropic model deprecations&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;AWS Bedrock is different: &lt;code&gt;anthropic.claude-sonnet-4-5-20250929-v1:0&lt;/code&gt; was marked deprecated on Oct 8, 2026 with a shutdown date of &lt;strong&gt;Apr 8, 2027&lt;/strong&gt;. AWS does not list a replacement on that page (&lt;a href="https://docs.aws.amazon.com/bedrock/latest/userguide/model-lifecycle-legacy.html" rel="noopener noreferrer"&gt;AWS Bedrock model lifecycle&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Google Vertex AI publishes its own retirement dates for partner models — check Google's page directly. Do not assume it matches the Claude API date.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Find every place you call it
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rg &lt;span class="nt"&gt;-n&lt;/span&gt; &lt;span class="nt"&gt;--hidden&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; &lt;span class="s1"&gt;'!node_modules'&lt;/span&gt; &lt;span class="s1"&gt;'claude-sonnet-4-5'&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;
rg &lt;span class="nt"&gt;-n&lt;/span&gt; &lt;span class="nt"&gt;--hidden&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; &lt;span class="s1"&gt;'*.{yml,yaml,json,toml,tf,tfvars}'&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; &lt;span class="s1"&gt;'.env*'&lt;/span&gt; &lt;span class="s1"&gt;'sonnet-4-5'&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Check CI workflows, Dockerfiles, notebooks, eval configs, LLM gateway/router configs, feature flags and prompt registries. On Bedrock, the ID looks like &lt;code&gt;anthropic.claude-sonnet-4-5-20250929-v1:0&lt;/code&gt; (often with a region or inference-profile prefix); search for &lt;code&gt;sonnet-4-5&lt;/code&gt; to catch every form.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Map each call to its platform and date
&lt;/h2&gt;

&lt;p&gt;The same model retires on different days depending on where you call it. Write down, per call site: platform (Claude API / Bedrock / Vertex / gateway), model ID, shutdown date, owner.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Test the replacement
&lt;/h2&gt;

&lt;p&gt;Run &lt;code&gt;claude-sonnet-5-5&lt;/code&gt; against a frozen set of real prompts and compare quality, refusals, latency and cost.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tool use: confirm every tool call still validates against your schemas and that multi-step tool loops end the same way.&lt;/li&gt;
&lt;li&gt;Structured output: parse 100% of responses with your real JSON parser, not by eye.&lt;/li&gt;
&lt;li&gt;Parameters: re-check max output tokens, thinking/extended-reasoning settings and any beta headers against Anthropic's docs for the new model.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 4: Roll out in stages, well before Nov 30
&lt;/h2&gt;

&lt;p&gt;Put the model ID in config, not code, so rollback is one change. Shadow traffic first, then 1% → 10% → 50% → 100%. Aim to finish at least a week before Nov 30, 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Guard against the day-after failure
&lt;/h2&gt;

&lt;p&gt;Alert on model-not-found / 404 errors from the Anthropic SDK. Add a CI check that fails if &lt;code&gt;claude-sonnet-4-5-20250929&lt;/code&gt; appears in the repo after the cutover.&lt;/p&gt;

&lt;h2&gt;
  
  
  Free checklist + alerts
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Full guide (canonical): &lt;a href="https://aideprecations.com/guides/claude-sonnet-4-5-shutdown/" rel="noopener noreferrer"&gt;https://aideprecations.com/guides/claude-sonnet-4-5-shutdown/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Subscribe (email, calendar, webhooks, MCP): &lt;a href="https://aideprecations.com/subscribe/" rel="noopener noreferrer"&gt;https://aideprecations.com/subscribe/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Machine-readable data: &lt;a href="https://aideprecations.com/data.json" rel="noopener noreferrer"&gt;https://aideprecations.com/data.json&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dates come from official provider pages. If a date looks wrong, open an issue against the source page first — that page is the source of truth.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>anthropic</category>
      <category>llm</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
