v1.95.0rc1 - Claude Opus 5, MCP Gateway DCR & Rust /v1/messages
Deploy this version​
- Docker
- Pip
docker run \
-e STORE_MODEL_IN_DB=True \
-p 4000:4000 \
docker.litellm.ai/berriai/litellm:1.95.0-rc.1
pip install litellm==1.95.0rc1
Key Highlights​
- Claude Opus 5 on day zero, everywhere - the new 1M-context Opus lands simultaneously on Anthropic, Amazon Bedrock (including the
us,eu,au,jp, andglobalinference profiles), Google Vertex AI, and Azure AI Foundry, with adaptive thinking, xhigh reasoning effort, computer use, PDF input, and prompt caching all recorded in the cost map. - Gemini 3.6 Flash and Gemini 3.5 Flash Lite - day-0 pricing on both Google AI Studio and Vertex AI, at $1.50/$7.50 and $0.30/$2.50 per 1M tokens respectively.
- MCP gateway grows a real front door - an always-on aggregate DCR discovery endpoint, identity-only session tokens, RFC 8707 resource indicators on upstream OAuth legs, MCP server support on the Anthropic
/v1/messagesAPI, and a standalone/connectroute that no longer depends on the Chat UI flag. - The Rust gateway takes over
/v1/messages- native Anthropic Messages now routes through the axum gateway behindLITELLM_RUST, joined by a 1:1 port of the Responses API WebSockets surface, BaseAWSLLM credential resolution and SigV4 inlitellm-core, and Bedrock audio transcription over the Python-to-Rust bridge. - SAML 2.0 SSO for the admin UI - a second enterprise SSO path alongside the existing OIDC flow.
- The dashboard finishes its shadcn and DataTable migration - roughly twenty routes move onto shadcn and the shared composable DataTable, plus new react-hook-form and zod form infrastructure behind Organization Settings and Create Organization.
- Budget resets get correct - a configurable
budget_reset_timeof day, word-formbudget_durationvalues that no longer silently collapse to daily, and repair for users and teams whosebudget_reset_atwas left NULL.
New Models / Updated Models​
New Model Support (16 new pricing entries)​
| Provider | Model | Context Window | Input ($/1M tokens) | Output ($/1M tokens) | Features |
|---|---|---|---|---|---|
| Anthropic | claude-opus-5 | 1M | $5.00 | $25.00 | Reasoning (adaptive + xhigh), vision, computer use, function calling, PDF input, prompt caching, native structured output |
| Amazon Bedrock | anthropic.claude-opus-5 | 1M | $5.00 | $25.00 | Reasoning (adaptive + xhigh), vision, computer use, function calling, PDF input, prompt caching, parallel tool use config |
| Amazon Bedrock | global.anthropic.claude-opus-5 | 1M | $5.00 | $25.00 | Same as above |
| Amazon Bedrock | us.anthropic.claude-opus-5 | 1M | $5.50 | $27.50 | Same as above |
| Amazon Bedrock | eu.anthropic.claude-opus-5 | 1M | $5.50 | $27.50 | Same as above |
| Amazon Bedrock | au.anthropic.claude-opus-5 | 1M | $5.50 | $27.50 | Same as above |
| Amazon Bedrock | jp.anthropic.claude-opus-5 | 1M | $5.50 | $27.50 | Same as above |
| Google Vertex AI | vertex_ai/claude-opus-5 | 1M | $5.00 | $25.00 | Reasoning (adaptive + xhigh), vision, computer use, function calling, PDF input, prompt caching |
| Google Vertex AI | vertex_ai/claude-opus-5@default | 1M | $5.00 | $25.00 | Same as above |
| Azure AI Foundry | azure_ai/claude-opus-5 | 1M | $5.00 | $25.00 | Reasoning (adaptive + xhigh), vision, computer use, function calling, PDF input, prompt caching |
| Google AI Studio | gemini/gemini-3.6-flash | 1.05M | $1.50 | $7.50 | Reasoning, vision, audio input, video input, PDF input, web search, URL context, prompt caching |
| Google AI Studio | gemini/gemini-3.5-flash-lite | 1.05M | $0.30 | $2.50 | Reasoning, vision, audio input, video input, PDF input, web search, URL context, prompt caching |
| Google Vertex AI | gemini-3.6-flash | 1.05M | $1.50 | $7.50 | Same as above |
| Google Vertex AI | vertex_ai/gemini-3.6-flash | 1.05M | $1.50 | $7.50 | Same as above |
| Google Vertex AI | gemini-3.5-flash-lite | 1.05M | $0.30 | $2.50 | Same as above |
| Google Vertex AI | vertex_ai/gemini-3.5-flash-lite | 1.05M | $0.30 | $2.50 | Same as above |
Beyond the new entries, this release raises the advertised context window on azure_ai/claude-opus-4-6, claude-opus-4-7, and claude-opus-4-8 from 200K to 1M, marks the DeepSeek V4 flash and pro families as reasoning models, and records supports_mid_conversation_system across the Claude Fable 5, Sonnet 5, and Opus 4.8 entries on Vertex AI and Azure AI. No pricing entries were removed.
Features​
- Anthropic
- Add Claude Opus 5 - PR #34518
- Google AI Studio / Vertex AI
- Day-0 pricing for
gemini-3.6-flashandgemini-3.5-flash-lite- PR #34106
- Day-0 pricing for
Bug Fixes​
- Anthropic
- Amazon Bedrock
- Hoist Codex
additional_toolsinput items to top-leveltoolson Bedrock Mantle - PR #33228
- Hoist Codex
- Google Vertex AI
- Azure AI Foundry
- Advertise the 1M context window for Claude Opus 4.6 and newer on Foundry - PR #34556
- Fireworks AI
- Restore the
application/jsonContent-Type header, fixing a 415 response - PR #33929
- Restore the
LLM API Endpoints​
Features​
- Responses API
- 1:1 port of the OpenAI Responses API WebSockets surface to
litellm-rust- PR #33849
- 1:1 port of the OpenAI Responses API WebSockets surface to
- Anthropic
/v1/messages - Batches
- Forward
bedrock_tagstoCreateModelInvocationJobfor batch jobs - PR #33733
- Forward
- General
- Auto-enable
drop_paramsfor Codex user agents - PR #34068
- Auto-enable
Bugs​
- Responses API
- Anthropic
/v1/messages - Batches
- Realtime
- A2A
- General
Management Endpoints / UI​
Features​
- Auth & SSO
- Organizations
- Virtual Keys
- Models + Endpoints
- Shared DataTable migration
- Credentials, available teams, memory, audit logs, organizations, and agents tables - PR #34053, PR #34070, PR #34079, PR #34080, PR #34081, PR #34089
- Tool Policies, users and model health checks, request logs, models and endpoints, and routing groups tables - PR #34176, PR #34182, PR #34343, PR #34363, PR #34571
- Controlled row selection on the shared DataTable - PR #34167
- shadcn migration
- api-reference, prompts list, transform-request, old-usage, search-tools, agents, memory, and workflow runs - PR #34263, PR #34289, PR #34303, PR #34304, PR #34323, PR #34365, PR #34366, PR #34370
- mcp-servers, tag-management, tool-policies, logging-and-alerts, caching, policies, budgets, skills, ui-theme, access-groups, and vector-stores - PR #34469, PR #34468, PR #34465, PR #34466
- react-hook-form and zod form infrastructure - PR #34170
- Migrate inline provider logo lookups and MCP, callback, guardrail, SSO, and search-tool logos onto the shared Logo component - PR #34141, PR #34169
- Typed management API
Bugs​
- SCIM
- Use
members_with_rolesas the source of truth for group membership - PR #34162 - Prune a deleted user from teams'
members_with_roles- PR #34180 - Parse the membership id from the filtered PATCH path when
valueis omitted - PR #34181 - Sync the team roster and dedup teams on existing-user email upsert - PR #34183
- Use
- Teams & Users
- Make team member add atomic so a concurrent add cannot lose a member - PR #34185
- Restore the atomic user upsert when adding team members - PR #34457
- Route the JWT default-team into memberships instead of the create payload - PR #33082
- Populate
user_emailonUserAPIKeyAuthfor JWT auth - PR #34174 - Validate default team values in Default User Settings - PR #34815
- Config & credentials
- Prevent provider key exposure through URL-valued model destinations and fallbacks - PR #34189
- Stop
save_configfrom snapshottingenvironment_variablesinto the DB - PR #34119 - Hash a caller-supplied key in the key update audit log
object_id- PR #34632 - Surface SSO and SMTP settings supplied as process env vars - PR #33576
- Reflect
REDIS_*env cache config and stop the UI overwriting the stored password - PR #34160
- CLI
- Dashboard
- Find logs by request id across pages and dates - PR #31743
- Scope and bound the End User filter on the logs page - PR #34579
- Bind the key duration input to a single
Form.Itemso a pre-filled expiry submits - PR #34521 - Stop cloning body-carrying requests into stream uploads in the fetchClient middleware - PR #34122
- Distinguish the response cache from provider prompt caching - PR #34138
- Keep entity usage tabs aligned with their panels - PR #34573
- Add a tooltip to the Active key status badge - PR #34109
- Restore the Add MCP Server dialog size and header spacing, and match MCP Servers tabs to the dashboard line tab pattern - PR #34679, PR #34685
- Center vertical toolbar dividers and truncate long team names in the models table team dropdown - PR #34684, PR #34689
- Serve
/ui/assetsfrom the nginx image instead of the SPA fallback, and bundle provider logos as static imports - PR #34066, PR #34125, PR #34163 - Return Models + Endpoints tabs to in-memory routing while keeping the
?modeldrill-in - PR #34629
AI Integrations​
Logging​
- OpenTelemetry
- Langfuse
- Send the v4 ingestion header for the otel callback - PR #33907
- Prometheus
- Populate cache write token metrics for OpenAI-style usage - PR #34803
- General
- Record cost and usage reported by the upstream target on passthrough routes - PR #34590
- Move the logs end-user filter onto
/management/v1- PR #34691 - Sanitize per-key callback config out of logged metadata - PR #32583
- Match the exact class in callback dedup so a custom subclass no longer blocks a built-in logger - PR #34804
- Stop scheduling the sync
failure_handlerconcurrently withasync_failure_handler- PR #34306 - Surface env-var-sourced theme and logging-callback settings, and drop the misleading
os.environtooltip - PR #34156, PR #34305
Guardrails​
- General
- Add
only_scan_new_messagesfor per-session incremental scanning - PR #33278 - Add a
run_in_parallelopt-in for concurrentpre_callandpost_callguardrails - PR #33770 - Add DeepKeep as a custom guardrail - PR #33844
- Merge model-level guardrails before
pre_call_hook- PR #29654 - Classify all 4xx
HTTPExceptionguardrail blocks as intervened - PR #33821 - Stop reporting a no-op guardrail as applied on passthrough - PR #34411
- Keep guardrail information in spend logs when the caller sends its own metadata - PR #34458
- Resolve
judge_modelcredentials via a lazy Router lookup inllm_as_a_judge- PR #34509
- Add
- Model Armor
- Compresr / Headroom
- Straiker
- Add
/v1/messagessupport - PR #34548
- Add
- Bedrock Guardrails
- Stop replaying expired Google OIDC tokens to STS on guardrail auth - PR #34637
- Dashboard
- Hide guardrail group headers when only one group has entries - PR #33885
Spend Tracking, Budgets and Rate Limiting​
- Budgets
- Configurable
budget_reset_timeof day - PR #31007 - Reset users and teams whose
budget_reset_atis NULL - PR #33623 - Resolve word-form
budget_durationso it no longer silently resets daily - PR #34250 - Enforce a global
max_budgetagainst the resettable proxy budget row sobudget_durationis honored - PR #33732 - Set
budget_reset_atwhen a JWT upsert seeds abudget_duration- PR #34050 - Reject failed atomic budget reservations under
fail_closed_budget_enforcement- PR #34429 - Handle a tz-aware
temp_budget_expiry, applytemp_budget_increasefor cache-hit keys, and derive the increase without mutating the token - PR #33840, PR #33841, PR #34121 - Raise the dashboard session budget default to $1 and make it configurable in config and the Admin UI - PR #34146
- Configurable
- Cost tracking
- Map OpenAI
cache_write_tokensfor prompt cache creation billing - PR #34046 - Track prompt compression saved tokens in daily spend aggregates - PR #33810
- Attribute org spend for team-linked credentials minted without an
org_id- PR #34577 - Gate an unsupported
service_tierondrop_paramsfor the Bedrock Mantle Responses API - PR #34058 - Raise the
/spend/logs/v2page_sizecap to 1000 - PR #33994
- Map OpenAI
- Cost Optimization page
- Add spend-by-tool and cache leakage views - PR #33978
- Add configuration tabs - PR #33899
- Mark Cost Optimization as beta in the left nav - PR #34984
- Anchor the savings line at a $0 range start and swap the methodology Collapse for a shadcn HoverCard - PR #34453, PR #34598
- Keep the cache leakage time range picker inline at narrow widths and the date picker on the right - PR #34439, PR #34885
- Tool spend
- Dashboard
- Stop the key-edit form 403ing on non-budget saves - PR #34112
MCP Gateway​
- Dynamic Client Registration
- Always-on aggregate gateway DCR discovery front door - PR #33174
- Identity-only session tokens for the gateway DCR front door - PR #33182
- Admit gateway DCR session bearers at the aggregate
/mcpscope - PR #33190 - Return the DCR client's own
redirect_uristo stop the/callbackself-redirect loop - PR #33756 - Fall through to an ephemeral DCR mint when passthrough authorize has no
client_id- PR #33884
- OAuth
- Send RFC 8707 resource indicators on upstream OAuth legs - PR #34265
- Migrate
client_credentials(M2M) onto the v2 resolver arm - PR #32259 - Delete the unreachable v1 OBO handler and gate REST OAuth on the v2 resolver - PR #34407
- Let an admin-pinned issuer drive OAuth discovery for url-less servers - PR #34065
- Log actionable OAuth discovery failures for misconfigured server urls - PR #34225
- Store the enterprise IdP identity assertion at SSO login for EMA egress - PR #34072
- Standalone
/connectroute for MCP OAuth, decoupled from the Chat UI flag - PR #34334
- Servers & tools
- Support MCP servers on the Anthropic
/v1/messagesAPI - PR #33631 - Add Google Sheets, Drive, Calendar, and Docs to the OpenAPI registry, and move Drive to the official streamable HTTP MCP server - PR #34059, PR #34322
- Attach resolved OAuth credentials to OpenAPI
spec_pathtool calls - PR #34063 - Stop leaking upstream server credentials in a tool-call 403 - PR #34340
- Use a toolset row's stored tool name as written - PR #34559
- Keep a key's MCP toolsets when saving an edit - PR #34452
- Consolidate exception-tree walkers into one shared faults traversal - PR #33183
- Support MCP servers on the Anthropic
Performance / Loadbalancing / Reliability improvements​
- Rust core
- Streaming & core
- Router
- Edit fallback chains from router settings - PR #32841
return_raw_model_nametoggle for the complexity router's response model field - PR #33875- Show in the log drawer and session sidebar when an auto-router served a request - PR #34434
- Don't cool down the parent deployment on an advisor sub-call failure - PR #33792
- Stop custom
model_infoleaking onto the shared backend cost map key, and propagate capability flags to it - PR #34041, PR #34047 - Honor request-level
num_retriesoverlitellm_settings.num_retries, and stop per-deploymentnum_retriesdouble-counting as providermax_retries- PR #34124, PR #34129 - Release the pre-routing strategy slot when a deployment is replaced or deleted - PR #34564
- Treat malformed cost-map token limits as absent on
/v1/models- PR #33903
- Proxy reliability
- Make in-memory and disk cache increments atomic - PR #34013
- Share CLI SSO login sessions across workers without
enable_redis_auth_cache- PR #33261 - Avoid a DB outage during planned RDS IAM rotation - PR #34749
- Stop
litellm/proxyfrom shadowing installed packages onsys.path- PR #34656 - Bake non-root prisma engines at
/opt/prismaso migrations run offline for any uid - PR #34325 - Pass an explicit Python version request to
uv tool install- PR #34750
- Dependencies & build
Documentation Updates​
- Add a TLDR section to the PR template - PR #34203
- Ask for a numbered list of reproduction steps in the issue template - PR #34207
PR roll-up by ownership area​
PRs by ownership area (total: 292)
- UI: 54
- Other (CI / chore / tests / build / version bumps): 46
- Spend / Budgets / Rate Limits: 33
- LLM API Endpoints: 31
- MCP: 29
- Auth & Management: 28
- Performance: 22
- Guardrails: 19
- Logging: 14
- Models & Providers: 14
- Docs: 2
End-to-End Testing​
We are investing heavily in end-to-end testing to cut regressions and make LiteLLM more stable release over release. Every version is exercised by a live suite that runs against a real deployed proxy and hits real provider endpoints, not mocks, so the behavior we validate is the behavior you get in production.
This window added 62 test PRs, the largest single-release investment in the suite so far. New coverage lands on live A2A agents, /v1/images/edits, /openai and /vllm chat passthrough cost logging, credential-backed /v1/messages, Azure AI Foundry and Anthropic /v1/messages through the Rust bridge, MCP access-group tool selection at key creation, a real Linear OAuth MCP driven through chat completions, budget and rate-limit resets across personal, team, and team-member keys, and a weekly session-anomaly load test against real providers. The Admin UI Playwright suite moved under tests/e2e/ui, and a run of hardening PRs removed cross-suite races on control-plane writes and data-plane sync lag.
New Contributors​
- @lyb0307 made their first contribution in PR #33228
- @jyeung-r7 made their first contribution in PR #33623
- @vineetpuranik made their first contribution in PR #33940
Full Changelog​
https://github.com/BerriAI/litellm/compare/v1.94.0-rc.1...v1.95.0-rc.1