LatentEval

INSTRUMENT | Reliability testing

AI Model Deprecation Dates, Replacements and Breaking Changes

Retirement dates, vendor replacements and what breaks in your eval when you swap.

When a provider retires a model, three things matter: the date, the replacement and what breaks. This page tracks each across OpenAI, Anthropic and Google, with the day someone last checked the vendor page on every row. Other pages cover product-level shutdowns, such as the hosted OpenAI Evals wind-down; this page is keyed to models and says what breaks in your measurements. No build ships with an overdue row, so a stale entry freezes the site.

Rows are grouped: announced retirements first (soonest first), then models whose vendor has set only a floor date, then retired models.

Provider Model State Retirement date Replacement Days until retirement Notice given vs published minimum What breaks Checked
OpenAI GPT-3.5 Turbo Instruct gpt-3.5-turbo-instruct deprecated gpt-5.6-terra 6 days This month 367 days At least 6 months Met the published minimum baseline-does-not-port encoding-change the OpenAI deprecations page
OpenAI GPT-3.5 Turbo (0125 snapshot) gpt-3.5-turbo-0125 deprecated gpt-5.6-terra 31 days This quarter 184 days At least 6 months Met the published minimum baseline-does-not-port encoding-change alias-moves the OpenAI deprecations page
OpenAI GPT-4 (0613 snapshot) gpt-4-0613 deprecated gpt-5.6-sol 31 days This quarter 184 days At least 6 months Met the published minimum baseline-does-not-port encoding-change alias-moves the OpenAI deprecations page
OpenAI GPT-4o (2024-05-13 snapshot) gpt-4o-2024-05-13 deprecated gpt-5.6-sol 31 days This quarter 184 days At least 6 months Met the published minimum baseline-does-not-port judge-recalibration alias-moves the OpenAI deprecations page
OpenAI GPT-5 (2025-08-07 snapshot) gpt-5-2025-08-07 deprecated gpt-5.6-sol 80 days This quarter 183 days At least 6 months Met the published minimum baseline-does-not-port judge-recalibration alias-moves the OpenAI deprecations page
OpenAI o3 (2025-04-16 snapshot) o3-2025-04-16 deprecated gpt-5.6-sol 80 days This quarter 183 days At least 6 months Met the published minimum baseline-does-not-port alias-moves the OpenAI deprecations page
Vendor floor only · retirement not scheduled
Google Gemini 3 Pro Image Preview gemini-3-pro-image-preview deprecated earliest possible gemini-3-pro-image Floor passed No retirement announced No published minimum baseline-does-not-port the Google deprecations page
Anthropic Claude Sonnet 4.5 claude-sonnet-4-5-20250929 active not sooner than No replacement named at least 7 days No earlier than at least 60 days' notice before model retirement for publicly released models No announcement to measure the Anthropic deprecations page
Anthropic Claude Haiku 4.5 claude-haiku-4-5-20251001 active not sooner than No replacement named at least 23 days No earlier than at least 60 days' notice before model retirement for publicly released models No announcement to measure the Anthropic deprecations page
Anthropic Claude Opus 4.5 claude-opus-4-5-20251101 active not sooner than No replacement named at least 63 days No earlier than at least 60 days' notice before model retirement for publicly released models No announcement to measure the Anthropic deprecations page
Google Gemini 3.1 Flash Lite gemini-3.1-flash-lite deprecated earliest possible gemini-3.5-flash-lite at least 227 days No earlier than No published minimum baseline-does-not-port the Google deprecations page
Google Gemini Embedding 001 gemini-embedding-001 deprecated earliest possible gemini-embedding-2 at least 600 days No earlier than No published minimum baseline-does-not-port the Google deprecations page
Retired models
Anthropic Claude Opus 4.1 claude-opus-4-1-20250805 retired claude-opus-4-8 48 days ago Retired 61 days at least 60 days' notice before model retirement for publicly released models Met the published minimum baseline-does-not-port parameter-rejected the Anthropic deprecations page
Anthropic Claude Haiku 3 claude-3-haiku-20240307 retired claude-haiku-4-5-20251001 155 days ago Retired 60 days at least 60 days' notice before model retirement for publicly released models Met the published minimum baseline-does-not-port the Anthropic deprecations page
Anthropic Claude Sonnet 3.7 claude-3-7-sonnet-20250219 retired claude-sonnet-4-6 215 days ago Retired 114 days at least 60 days' notice before model retirement for publicly released models Met the published minimum baseline-does-not-port judge-recalibration the Anthropic deprecations page
gpt-3.5-turbo-instruct
The GPT-3.5 and GPT-5.6 families tokenize differently, so token counts and per-call cost move with the swap.
gpt-3.5-turbo-0125
A pinned dated snapshot id, so a run pinned to it stops on the shutdown date while the undated alias silently answers from a different model.
gpt-4-0613
A pinned dated snapshot id. The undated alias keeps answering because it repoints to a current model; this id fails outright on the shutdown date.
gpt-4o-2024-05-13
A pinned dated snapshot id. If it scored any of your judge runs, agreement and calibration are re-measured against the replacement.
gpt-5-2025-08-07
Six months to the day: the announcement lands exactly on the published floor, which is what makes the verdict a comparison rather than a rounding.
o3-2025-04-16
A pinned dated snapshot id. A reasoning-model swap moves both the pass rate and the token spend per task.
gemini-3-pro-image-preview
The published date has passed and the vendor page still lists the model in its deprecation table rather than as shut down. Google publishes earliest possible dates, so a passed date is not a retirement the vendor has confirmed.
claude-sonnet-4-5-20250929
The vendor cell reads "Not sooner than September 29, 2026" and the model is still listed as active, with no replacement named.
claude-haiku-4-5-20251001
The vendor cell reads "Not sooner than October 15, 2026" and the model is still listed as active, with no replacement named.
claude-opus-4-5-20251101
The vendor cell reads "Not sooner than November 24, 2026" and the model is still listed as active, with no replacement named.
gemini-3.1-flash-lite
The vendor states the listed dates are the earliest possible dates a model might be retired, and that the exact shutdown date is communicated with advance notice. No numeric minimum is published.
gemini-embedding-001
An embedding swap re-indexes the corpus, so retrieval numbers measured on the old index are not the new one's numbers.
claude-opus-4-1-20250805
The replacement is Claude Opus 4.8, and the vendor returns a 400 error when temperature, top_p or top_k is set to a non-default value on Claude Opus 4.7 and later.
claude-3-haiku-20240307
The 60-day floor lands exactly on the retirement date: 60 days after 2026-02-19 is 2026-04-20.
claude-3-7-sonnet-20250219
If this model scored any of your judge runs, agreement and calibration move with the swap and are re-measured, not carried over.

days = retiresOn - today; notice = retiresOn - announcedOn; verdict from notice vs floorHow?

How this is calculated

Four numbers per row, all counted in whole UTC days. Days until retirement is the vendor's published date minus today. When the vendor published a floor rather than a firm date, the same subtraction gives the minimum number of days until the earliest possible retirement, not a countdown to a scheduled one. Notice given is the retirement date minus the announcement date. The verdict compares notice given against the vendor's own published minimum: met when the announcement plus the floor falls on or before the retirement date, short otherwise. The urgency band marks each row: this month, this quarter, or later for announced dates; no earlier than for vendor floors; undated; and retired. Rows appear in that order, announced dates soonest first. A band is a label, never a score: it carries no weight, no sum and no composite.

Every row carries a re-read deadline 90 days after the date someone last checked the vendor page. A row past that deadline fails the build rather than dropping quietly: a silent removal would make the table look current while one entry is not, so the failure is the honest freshness signal. The build does warn before the deadline, so a re-read never has to be an emergency.

The break classes below are this site's routing device. They group the kinds of work a model swap forces so each class can link to the instrument that handles it. They are not the vendor's taxonomy and do not reproduce one.

  • baseline-does-not-port Your old scores cannot be compared to the new model without a fresh baseline. Re-run the eval on both. McNemar test paired vs. independent design chooser golden-set size planner
  • encoding-change The tokenizer changed, so token counts, costs and any token-level alignment shift.
  • judge-recalibration An LLM judge trained or prompted on the old model may grade the new one differently. Re-validate the judge. judge validation report builder kappa thresholds for LLM judges
  • parameter-rejected A request parameter the old model accepted is refused by the new one. Calls that rely on it will fail.
  • alias-moves An undated alias (such as "gpt-4o") repoints to a new snapshot. A pinned, dated snapshot id stops working instead.

A model swap is one instance of a change impact; the change-impact worksheet walks the general case.

An undated alias (such as "gpt-4o") repoints silently when the vendor publishes a new snapshot behind it. A pinned, dated snapshot id (such as "gpt-4o-2024-08-06") does not repoint; it stops working on the retirement date, and every call using it fails until you update the id.

Formula: days = retiresOn - today; notice = retiresOn - announcedOn; verdict from notice vs floor

Questions

How often is this updated?

Every row has a re-read deadline 90 days after the date in its Checked column. The build fails when a row passes that deadline, so the site cannot deploy with a stale entry. The cadence is enforced by the build gate, not by a calendar reminder.

Why so few models?

The row cap is deliberate. Comprehensive model coverage is the vendors' job, and every row on this page costs a human read: the break classes and the notice verdict both require checking the vendor page rather than scraping it. A larger table would go stale faster than anyone could re-read it.

Can I suggest a model?

There is no suggestion mechanism yet. The data file is in the repository, so you can open a pull request against it directly.