fix(model_prices): refresh deprecation_date metadata from OpenAI/Anthropic/Gemini docs - #36188
Conversation
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
|
|
Greptile SummaryThe PR refreshes provider deprecation metadata and also changes E2E model-creation polling to wait across data-plane synchronization. The new poller can falsely time out after a transient worker miss.
Confidence Score: 4/5The model metadata appears sound, but the E2E polling regression should be fixed before merging because transient worker visibility can falsely fail model creation A late miss clears the continuous-listing state and restores an already-expired initial deadline, so split-deployment E2E setup can fail while propagation is still converging Files Needing Attention: tests/e2e/proxy_client.py
|
| Filename | Overview |
|---|---|
| model_prices_and_context_window.json | Adds and corrects provider-scoped deprecation metadata; no concrete incorrect entry was established from repository evidence |
| tests/e2e/proxy_client.py | Adds multi-worker servability polling, but resetting visibility after the original deadline can cause false setup failures and the implementation violates repository conventions |
| tests/e2e/transport.py | Adds an optional per-call GET timeout consistently across the protocol and both known implementations |
Comments Outside Diff (2)
-
tests/e2e/proxy_client.py, line 154-155 (link)When a cold worker misses after the initial deadline, resetting
first_seen_atreuses that expired deadline, causingcreate_modelto fail during convergence -
tests/e2e/proxy_client.py, line 78-86 (link)Polling violates source conventions
The added comments and repeated local reassignments violate the repository's source conventions, making this timing-sensitive state harder to maintain safely
Context Used: CLAUDE.md (source)
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Reviews (1): Last reviewed commit: "fix(model_prices): refresh deprecation_d..." | Re-trigger Greptile
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
…ropic/Gemini docs Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
761a134 to
4e10afb
Compare
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
Superseded by #37658, which carries this PR's registry data (field-level, on top of current |
…ngeset Combines the model-cost-map data from BerriAI#35911, BerriAI#36017, BerriAI#36080, BerriAI#36113, BerriAI#36188, BerriAI#36444, BerriAI#37029, BerriAI#37252 and BerriAI#37632 onto current litellm_internal_staging, merged per entry field so older branches no longer revert fields the base has gained since they were opened. Drops the Gemini deprecation dates from BerriAI#36188 and the text-embedding-004 date from BerriAI#36080 that the official docs contradict. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
TLDR
Problem this solves:
deprecation_dateis missing on ~80 live models/model/deprecationsendpoint #26900 alerts are only as good as this dataHow it solves it:
deprecation_dateonlyRelevant issues
Supports #26900 (
/model/deprecationsendpoint + Slack deprecation alerts), which readsdeprecation_datefrom this file.Linear ticket
Pre-Submission checklist
Screenshots / Proof of Fix
Data-only change to
model_prices_and_context_window.json(no code paths touched), verified by the repo's own checks at commit on this branch:Type
🐛 Bug Fix
Changes
Only the
deprecation_datekey is touched — 86 entries (81 added, 5 corrected). Every value comes from the provider's own deprecation page; nothing was inferred.Corrections (existing values that disagree with the provider)
claude-3-opus-20240229claude-opus-4-20250514claude-sonnet-4-20250514gpt-4-0613gpt-4-1106-previewBackfills
Anthropic (docs.claude.com) — retired models that had no date:
2026-04-20:claude-3-haiku-202403072026-06-15:claude-4-opus-20250514,claude-4-sonnet-20250514(aliases of the retired 2025-05-14 snapshots)OpenAI (platform.openai.com/docs/deprecations), grouped by the shutdown dates in the "Upcoming deprecations" tables:
2027-01-20— legacy audio/realtime/transcription families:gpt-realtime*,gpt-audio*,gpt-4o-audio-preview*,gpt-4o-realtime-preview*,gpt-4o-mini-audio-preview*,gpt-4o-mini-realtime-preview*,gpt-4o-mini-transcribe-2025-03-20(family-level entries in the doc are applied to that family's snapshots, excluding separately-named successors such asgpt-audio-1.5/gpt-realtime-2.1)2026-12-11—gpt-5-2025-08-07,gpt-5-mini-2025-08-07,gpt-5-nano-2025-08-07,gpt-5-pro-2025-10-06,o3-2025-04-16,o3-pro-2025-06-102026-12-01—gpt-image-1-mini,gpt-image-1.5,chatgpt-image-latest2026-10-23—gpt-3.5-turbo(-0125),gpt-4,gpt-4-turbo(-2024-04-09),gpt-4.1-nano(-2025-04-14),gpt-4o-2024-05-13,gpt-image-1,o1(-2024-12-17),o1-pro(-2025-03-19),o3-mini(-2025-01-31),o4-mini(-2025-04-16)2026-08-10—gpt-5.2-chat-latest,gpt-5.3-chat-latest2026-07-23—gpt-5-chat-latest,gpt-5-codex,gpt-5.1-chat-latest,gpt-5.1-codex{,-max,-mini},gpt-5.2-codex,gpt-4o{,-mini}-search-preview-2025-03-11,gpt-4o-mini-tts-2025-03-20,gpt-audio-mini-2025-10-06,gpt-realtime-mini-2025-10-06,o3-deep-research{,-2025-06-26},o4-mini-deep-research{,-2025-06-26}Gemini (ai.google.dev/gemini-api/docs/deprecations) — applied to the
gemini/(Gemini API) entries only, since Vertex publishes its own schedule:2027-05-07gemini-3.1-flash-lite;2026-10-16gemini-2.5-pro,gemini-2.5-flash,gemini-2.5-flash-lite;2026-10-02gemini-2.5-flash-image;2026-08-17imagen-4.0-{,ultra-,fast-}generate-001;2026-07-14gemini-embedding-001;2026-06-30veo-2.0-generate-001;2026-06-25gemini-3.1-flash-image-preview,gemini-3-pro-image-preview;2026-05-25gemini-3.1-flash-lite-preview;2026-04-30gemini-robotics-er-1.5-preview;2026-03-31gemini-2.5-flash-lite-preview-09-2025Deliberately not changed
claude-opus-4-5,claude-sonnet-4-6) — recording a floor as a deprecation date would produce false alerts in feat(proxy): proactive model deprecation alerts and/model/deprecationsendpoint #26900.gpt-4-0314,gpt-4-0125-preview,gpt-3.5-turbo-1106: their entries carry dates I could not confirm on the current OpenAI page (the historical "already shut down" section was not retrievable), so they were left untouched rather than guessed at.Final Attestation
Link to Devin session: https://app.devin.ai/sessions/6d98ff2f5b1d41da9b47eaa1e333103f