v1.81.12-nightly
📦 litellmView on GitHub →
✨ 17 features🐛 30 fixes⚡ 1 deprecations🔧 5 symbols
Summary
This release focuses heavily on bug fixes across various providers (Azure, OCI, Anthropic, Vertex AI) and internal systems like the scheduler and proxy. It also introduces several new features, including enhanced Guardrails, new model support (MiniMax, Vertex GLM-5), and UI improvements for MCP management and Zscaler AI Guard.
Migration Steps
- If using Anthropic with OAuth tokens, ensure the token is passed as an Authorization Bearer header instead of x-api-key.
- If relying on specific OpenRouter models that were deprecated, update configurations to use supported alternatives.
- If you were using the old HTTP transport type in MCP server configuration UI, it is now named "Streamable HTTP (Recommended)".
✨ New Features
- Added standard_logging_payload_excluded_fields config option.
- Generic Guardrails now forward request headers + litellm_version.
- Organization and Team Admins can now call /invitation/new.
- Added support for sorting on /spend/logs/ui.
- UI: Renamed transport type "HTTP" to "Streamable HTTP (Recommended)" in the Add New MCP Server page.
- Added support for toxic/abusive content filter guardrails.
- Added support for MiniMax-M2.1 and MiniMax-M2.1-lightining models.
- Adds support for server-side compaction on the OpenAI Responses API context_management.
- AI Gateway: Added Tracing for MCP Calls running through AI Gateway.
- Adds Shell tool support for the OpenAI Responses API.
- Added support for Access Groups.
- MCP server discovery UI added.
- UI: Added UI for Zscaler AI Guard.
- Added 30 missing models to pricing
- Vertex AI: Added Vertex GLM-5 model support.
- Vertex AI: Preserve usageMetadata in _hidden_params.
- Added support for prompt_cache_key for OpenAI and Azure chat completions.
🐛 Bug Fixes
- Handled metadata=None in SDK path retry/error logic (utils.py).
- Stopped leaking Python tracebacks in streaming SSE error responses.
- Used anyio.fail_after instead of asyncio.wait_for for StreamableHTTP backends.
- Removed orphan entries from queue, fixing a memory leak.
- Avoided in-place mutation in SpendUpdateQueue aggregation.
- Used current retry exception for retry backoff.
- reasoning_effort=None and "none" now correctly return None for Opus 4.6.
- Preserved content_policy_violation error details from Azure OpenAI.
- Fixed OCI Cohere system messages by populating preambleOverride.
- Synced DeepSeek model metadata and added bare-name fallback.
- Exported PermissionDeniedError from litellm.__init__.
- Removed x-anthropic-billing block.
- Enabled verbose_logger when LITELLM_LOG=DEBUG.
- Merged query params when authorization_url already contains them for MCP.
- Fixed Gemini multi-turn tool calling message formatting (though later reverted).
- Supported Azure AD token auth for non-Claude azure_ai models.
- Fixed guardrail status error.
- Fixed authorization issues related to same alias.
- Added claude opus 4.6 in _supports_tool_search_on_bedrock.
- Reverted fix for Gemini multi-turn tool calling message formatting.
- Fixed proxy: skip premium check for empty metadata fields on team/key update.
- Blocked spaces and hyphens in MCP server names and aliases in UI.
- Changed model mismatch logs from WARNING to DEBUG.
- Allowed Management keys to access user/daily/activity and team endpoints.
- Fixed MCP: inject NPM_CONFIG_CACHE into STDIO MCP subprocess env.
- Fixed router: remove repeated provider parsing in budget limiter hot path.
- Fixed anthropic: use Authorization Bearer for OAuth tokens instead of x-api-key.
- Fixed docs.
- Fixed vertex: map IMAGE_PROHIBITED_CONTENT to content_filter.
- Guard against None litellm_metadata.
Affected Symbols
⚡ Deprecations
- 39 deprecated OpenRouter models have been removed from pricing