Skip to content

fix(model_prices): add provider-announced deprecation dates for OpenAI, Gemini, Vertex, Azure models - #37213

Closed
devin-ai-integration[bot] wants to merge 1 commit into
litellm_internal_stagingfrom
litellm_model_registry_lifecycle_audit_20260817
Closed

fix(model_prices): add provider-announced deprecation dates for OpenAI, Gemini, Vertex, Azure models#37213
devin-ai-integration[bot] wants to merge 1 commit into
litellm_internal_stagingfrom
litellm_model_registry_lifecycle_audit_20260817

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

TLDR

Problem this solves:

  • 83 registry entries lack provider-announced retirement dates
  • text-embedding-004 carried a wrong retirement date
  • Claude Fable/Mythos 5 missing structured-output flag

How it solves it:

  • Adds verified deprecation_date from official retirement docs
  • Corrects text-embedding-004 to Vertex's published date
  • Flags supports_native_structured_output on 3 Anthropic models

User Flow

Before: an admin running gpt-4.1 on Azure OpenAI gets no warning that the deployment retires on 2027-04-14

  1. They open https://litellm-domain/ui/?page=models and look at their azure/gpt-4.1 deployment
  2. No retirement date is shown, because the registry has none for that model
  3. They call GET https://litellm-domain/model/info and the returned model info for azure/gpt-4.1 has no deprecation date field
  4. The retirement lands with no advance notice and calls start failing with provider "model not found" errors

After: the same admin sees the published retirement date for that deployment

  1. They open https://litellm-domain/ui/?page=models and look at their azure/gpt-4.1 deployment
  2. They call GET https://litellm-domain/model/info and the model info for azure/gpt-4.1 now carries "deprecation_date": "2027-04-14", matching Microsoft's published schedule
  3. The same is true for their Azure AI Foundry (azure_ai/*), Vertex (gemini-2.5-*, veo-*, embeddings) and legacy OpenAI (babbage-002, davinci-002, gpt-3.5-turbo-instruct) deployments
  4. They can plan migrations ahead of the retirement instead of discovering it from failed requests

Relevant issues

Supports #26900 (proactive model deprecation alerts and /model/deprecations endpoint), which consumes registry deprecation_date values.

Changes

All values below come from official provider retirement/lifecycle docs; every date was read from the raw HTML/Markdown of the source page, not a rendered summary. Provider-announced dates for direct APIs were not copied to cloud-hosted variants (or vice versa) — each entry is dated only from the doc that covers that platform.

OpenAI — https://platform.openai.com/docs/deprecations

Models deprecation_date
gpt-3.5-turbo-instruct, babbage-002, davinci-002 2026-09-28
text-moderation-007, text-moderation-latest, text-moderation-stable 2025-10-27

Size/quality-derived keys (1024-x-1024/...) were left alone, matching existing registry convention.

Gemini API — https://ai.google.dev/gemini-api/docs/deprecations

Model deprecation_date
gemini/gemini-robotics-er-1.6-preview 2026-08-31

The Gemini API page still shows "No shutdown date announced" for gemini-2.5-pro / -flash / -flash-lite, so no date was added to the gemini/* keys for those.

Vertex AI — https://cloud.google.com/vertex-ai/generative-ai/docs/learn/model-versions (Discontinuation date column)

Models deprecation_date
gemini-2.5-pro, gemini-2.5-flash, gemini-2.5-flash-lite 2026-10-20
gemini-2.5-flash-image, vertex_ai/gemini-2.5-flash-image 2026-10-02
vertex_ai/veo-2.0-generate-001, vertex_ai/veo-3.0-generate-001, vertex_ai/veo-3.0-fast-generate-001 2026-06-30
text-embedding-005, text-multilingual-embedding-002, multimodalembedding@001 2027-04-01
text-embedding-004 (was 2026-01-14, not on the page) 2027-04-01

gemini-embedding-001 was left undated: the page says "No sooner than May 20, 2028", which is not a committed date.

Azure OpenAI + Azure AI Foundry — https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule (Retirement date column)

Azure OpenAI (azure/*): gpt-4.1 2027-04-14, gpt-4.1-mini 2027-04-14, gpt-4o-mini 2027-04-14, gpt-4.1-nano 2026-10-14, gpt-5/-mini/-nano 2027-02-09, gpt-5.1/-codex/-codex-mini 2027-05-15, gpt-5.2 2027-06-08, gpt-5.4 2027-09-02, gpt-5.4-mini/-nano 2027-09-21, gpt-5.4-pro 2027-09-07, gpt-5.5 2027-10-26, gpt-image-1.5 2027-06-16, gpt-image-2 2027-10-21, o1 2026-10-21, o3 2026-10-21, o3-mini 2026-10-01, o3-pro 2026-12-17, o4-mini 2026-10-16.

Azure AI Foundry (azure_ai/*): claude-opus-4-1 2026-08-05, claude-haiku-4-5/claude-opus-4-5/claude-sonnet-4-5 2026-10-19, claude-opus-4-6 2027-02-02, claude-sonnet-4-6 2027-02-10, claude-opus-4-7 2027-04-06, deepseek-r1 2026-08-13, deepseek-v3-0324/deepseek-v3.1 2026-07-13, deepseek-v4-flash/deepseek-v4-pro 2028-02-20, grok-3/grok-3-mini (incl. global/) and grok-4-fast-reasoning/-non-reasoning 2026-05-01, kimi-k2.5 2027-01-26, kimi-k2.6 2027-04-16, FW-DeepSeek-V3.2/FW-GLM-5/FW-GLM-5.1/FW-Kimi-K2.5/FW-MiniMax-M2.5 2027-07-01, Llama-3.2-11B-Vision-Instruct/Llama-3.2-90B-Vision-Instruct/Meta-Llama-3.1-405B-Instruct/Meta-Llama-3.1-8B-Instruct 2026-06-13, cohere-rerank-v3.5 2026-05-14, mistral-document-ai-2505 2026-07-20, MAI-Image-2e 2026-08-15, gpt-5.4/gpt-5.4-2026-03-05 2027-09-02, gpt-5.4-mini(+snapshot)/gpt-5.4-nano(+snapshot) 2027-09-21, gpt-5.4-pro(+snapshot) 2027-09-07, gpt-5.5 2027-10-26.

Models with several live versions under one alias (e.g. azure/gpt-4o, azure/sora-2, azure_ai/model_router) were skipped rather than pinned to one version's date.

Anthropic capability flag — https://docs.claude.com/en/docs/build-with-claude/structured-outputs

claude-fable-5, claude-mythos-5, claude-mythos-preview are listed as supported models for structured outputs but were missing supports_native_structured_output. Added on the Anthropic-direct entries only (matching #35930, which did the same for claude-sonnet-5 / claude-haiku-4-5).

Audited, deliberately unchanged

  • Anthropic pricing/context/cache minimums, Bedrock lifecycle dates, xAI, Groq, Cohere, Mistral, Fireworks: registry already matches the official docs.
  • eu.anthropic.claude-opus-4-1-20250805-v1:0: the Bedrock lifecycle row lists only us-east-1/us-east-2/us-west-2, so the EU inference-profile key was left undated.
  • DeepSeek deepseek-v4-flash / deepseek-v4-pro pricing: https://api-docs.deepseek.com/quick_start/pricing now lists only peak ($0.44/$1.32 in, $1.32/$3.96 out per 1M) and off-peak (half those) rates, while the registry pins $0.14/$0.28 and $0.435/$0.87 as a "75% discounted active price" (test_deepseek_v4_models_in_cost_map, from [Feature]: Add cost mapping for Deepseek V4 Flash and Pro #26709). The registry matches neither published rate, but correcting it means changing that pinning test and choosing a single rate for a time-of-day price, so it is left for maintainers to decide.

Pre-Submission checklist

  • I have added meaningful tests
  • My PR passes all CI/CD checks (e.g., lint, format, unit tests)
  • My PR's scope is as isolated as possible; it only solves 1 specific problem
  • I have received a Greptile Confidence Score of at least 4/5 before requesting a maintainer review

Existing coverage applies (this is a data-only change): tests/test_litellm/test_model_prices_schema.py (19 passed), tests/test_litellm/test_utils.py (264 passed), and python ci_cd/check_files_match.py confirming the root registry and litellm/model_prices_and_context_window_backup.json stay in sync.

Proof

Data-only change; no runtime behavior to exercise e2e. Verification of the change against the provider docs, at commit 0897b6d:

  1. python3 -c "import json; d=json.load(open('model_prices_and_context_window.json')); print(d['azure/gpt-4.1']['deprecation_date'], d['gemini-2.5-pro']['deprecation_date'], d['babbage-002']['deprecation_date'])"2027-04-14 2026-10-20 2026-09-28, matching the Microsoft, Vertex and OpenAI pages linked above.
  2. python3 ci_cd/check_files_match.pyPassed! Files model_prices_and_context_window.json and litellm/model_prices_and_context_window_backup.json match.
  3. LITELLM_LOCAL_MODEL_COST_MAP=True pytest tests/test_litellm/test_model_prices_schema.py tests/test_litellm/test_utils.py -q283 passed.

Link to Devin session: https://app.devin.ai/sessions/9b4d808bfacd40a1abb0c894c05e04a0


Note

Cursor Bugbot is generating a summary for commit 0897b6d. Configure here.

…I, Gemini, Vertex, Azure models

Adds missing deprecation_date values verified against provider retirement docs and flags native structured output support on Anthropic-direct Claude Fable/Mythos 5.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@greptile-apps

greptile-apps Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR synchronizes provider-announced model retirement dates into both model registries and enables native structured-output metadata for three Anthropic models.

  • Adds retirement metadata for selected OpenAI, Gemini, Vertex AI, Azure OpenAI, and Azure AI Foundry models.
  • Corrects the retirement date for text-embedding-004.
  • Keeps the primary and backup model registries synchronized.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
model_prices_and_context_window.json Adds and corrects model lifecycle metadata and three structured-output capability flags; no eligible follow-up defect was established.
litellm/model_prices_and_context_window_backup.json Mirrors the primary registry changes without introducing divergence.

Reviews (2): Last reviewed commit: "fix(model_prices): add provider-announce..." | Re-trigger Greptile

@codecov

codecov Bot commented Aug 17, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@codspeed-hq

codspeed-hq Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Merging this PR will not alter performance

✅ 31 untouched benchmarks


Comparing litellm_model_registry_lifecycle_audit_20260817 (0897b6d) with litellm_internal_staging (2bc87ec)1

Open in CodSpeed

Footnotes

  1. No successful run was found on litellm_internal_staging (b69068c) during the generation of this report, so 2bc87ec was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

@mateo-berri mateo-berri reopened this Aug 18, 2026
@mateo-berri

Copy link
Copy Markdown
Contributor

bugbot run

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 0897b6d. Configure here.

@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

Superseded by #37283, which adds the same provider-announced deprecation dates (identical values on the 51 overlapping entries) plus 122 more. Closing in favor of that PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants