What's Changed
- [Fix] handle metadata=None in SDK path retry/error logic (utils.py) by @bluet in #20873
- fix: stop leaking Python tracebacks in streaming SSE error responses by @themavik in #20850
- feat: add standard_logging_payload_excluded_fields config option by @shin-bot-litellm in #20831
- fix(mcp): use anyio.fail_after instead of asyncio.wait_for for StreamableHTTP backends by @shin-bot-litellm in #20891
- fix(scheduler): remove orphan entries from queue - causing memory leak. by @piyushhhxyz in #20866
- fix(proxy): avoid in-place mutation in SpendUpdateQueue aggregation by @emerzon in #20876
- Generic Guardrails: Forward request headers + litellm_version to gene… by @itayov in #20729
- fix(router): use current retry exception for retry backoff by @emerzon in #20725
- fix: reasoning_effort=None and "none" should return None for Opus 4.6 by @Chesars in #20800
- fix(azure): preserve content_policy_violation error details from Azure OpenAI by @skylarkoo7 in #20883
- Litellm oss staging 02 10 2026 by @krrishdholakia in #20931
- Fix OCI Cohere system messages by populating preambleOverride by @gotsysdba in #20958
- fix(model-info): sync DeepSeek model metadata and add bare-name fallback by @skylarkoo7 in #20938
- fix: export PermissionDeniedError from litellm.init by @CSteigstra in #20960
- Fix: remove x-anthropic-billing block by @Sameerlite in #20951
- [Feat]Managing Anthropic Beta Headers by @Sameerlite in #20935
- fix: enable verbose_logger when LITELLM_LOG=DEBUG by @milan-berri in #20496
- fix(mcp): merge query params when authorization_url already contains them by @michelligabriele in #20968
- chore: improve Semgrep rules documentation and organization by @AlexsanderHamir in #20978
- Fix #20557: Fix Gemini multi-turn tool calling message formatting by @rahulrd25 in #20569
- fix: support Azure AD token auth for non-Claude azure_ai models by @ishaan-jaff in #20981
- [Feature] Allow Organization and Team Admins to call /invitation/new by @yuneng-jiang in #20987
- fix: support prompt_cache_key for OpenAI and Azure chat completions by @ishaan-jaff in #20989
- [Feature] Allow Sorting on /spend/logs/ui by @yuneng-jiang in #20991
- [UI] Rename "HTTP" transport type to "Streamable HTTP (Recommended), in the Add New MCP Server page" by @ishaan-jaff in #21000
- [Fix] UI - Guardrail Edit: LiteLLM Content Filter Categories by @yuneng-jiang in #21002
- OpenAI proxy server documentation by @krrishdholakia in #21006
- Litellm dev 02 09 2026 p1 by @krrishdholakia in #20810
- Guardrails - add toxic/abusive content filter guardrails by @krrishdholakia in #20934
- Fix authorization issues, same alias; verified working by @Harshit28j in #20481
- [Fix] UI - Add Auto Router: Description Text Input Focus by @yuneng-jiang in #21004
- Fix: add claude opus 4.6 in _supports_tool_search_on_bedrock by @Sameerlite in #21017
- Litellm oss staging 02 06 2026 by @krrishdholakia in #20587
- Revert "Fix #20557: Fix Gemini multi-turn tool calling message formatting" by @Sameerlite in #21051
- oss staging 02 / 11/ 2026 by @krrishdholakia in #20930
- Add support for MiniMax-M2.1 and MiniMax-M2.1-lightining by @Sameerlite in #21054
- fix docs by @Sameerlite in #21055
- [Feat] Adds support for server-side compaction on the OpenAI Responses API
context_managementby @ishaan-jaff in #21058 - [Feat] AI Gateway - Add Tracing for MCP Calls running through AI Gateway by @ishaan-jaff in #21018
- fix(proxy): skip premium check for empty metadata fields on team/key update by @muraliavarma in #20598
- [Infra] Add Mmigration for Tags Adjustment on Policy Table by @yuneng-jiang in #21061
- [Feat] Adds Shell tool support for the OpenAI Responses API by @ishaan-jaff in #21063
- fix: MCP - inject NPM_CONFIG_CACHE into STDIO MCP subprocess env by @ishaan-jaff in #21069
- [Feature] Access Groups by @yuneng-jiang in #21022
- fix(ui): Block spaces and hyphens in MCP server names and aliases by @milan-berri in #21074
- feat(vertex_ai): add Vertex GLM-5 model support by @emerzon in #21053
- [Feature] UI - Model Page: Improve Credentials Messaging by @yuneng-jiang in #21076
- fix: change model mismatch logs from WARNING to DEBUG by @milan-berri in #20994
- fix: allow Management keys to access user/daily/activity and team by @naaa760 in #20124
- feat: MCP server discovery UI by @ishaan-jaff in #21079
- [Infra] CI/CD Fixes - Nightly Release Feb 12 by @yuneng-jiang in #21081
- docs: add API base URLs for Dashscope (International and China/Beijing) by @shivamrawat1 in #21083
- fix(router): remove repeated provider parsing in budget limiter hot path by @emerzon in #21043
- fix(anthropic): use Authorization Bearer for OAuth tokens instead of x-api-key by @joaokopernico in #21039
- feat(bedrock): extend model support by @piyushhhxyz in #21035
- fix guardrail status error by @mubashir1osmani in #20972
- fix: remove unused MCP_NPM_CACHE_DIR import by @jquinter in #21084
- feat(ui): added UI for Zscaler AI Guard by @datzscaler in #21077
- docs: add native thinking param examples for Claude Opus 4.6 by @Chesars in #20799
- feat: add 30 missing models to pricing JSON by @Chesars in #20797
- chore: standardize endpoint display_name naming convention by @Chesars in #20791
- cleanup(model_prices): 39 deprecated OpenRouter models by @Chesars in #20786
- fix(vertex): map IMAGE_PROHIBITED_CONTENT to content_filter by @Chesars in #20524
- feat(vertex_ai): preserve usageMetadata in _hidden_params by @nielei3 in #20559
- fix: guard against None litellm_metadata in batch logging path by @themavik in #20832
- Fix #20562: Correct Bedrock Claude Opus 4.6 model IDs by @rahulrd25 in #20564
- refactor: reuse get_instance_fn in initialize_custom_guardraill by @otaviofbrito in #20917
- fix: openai moderation guardrails by @Harshit28j in #20718
- fallback-display: updated fallback display table to use arrows and card structure for better visibility. by @atapia27 in #20922
- Litellm oss staging 02 07 20262 by @Sameerlite in #21044
- Litellm oss staging 02 12 2026 by @krrishdholakia in #21024
- Litellm oss staging 02 13 2026 by @krrishdholakia in #21085
- docs: fix DEFAULT_NUM_WORKERS_LITELLM_PROXY default (1, not 4) by @AlexsanderHamir in #21127
- [Bug] Fix Session not found errors by @Sameerlite in #21040
- Add rag ingest vertex ai by @Sameerlite in #21120
- Fix azure batches issues by @Sameerlite in #21092
- feat(scaleway): add scaleway provider by @fpagny in #21121
- fix: regenerate poetry.lock to sync with pyproject.toml by @jquinter in #21108
- fix: remove duplicate PerplexityResponsesConfig from LLM_CONFIG_NAMES by @jquinter in #21105
- chore: remove redundant test-complete job from test workflow by @jquinter in #21106
- Add target_model_names for vector store endpoints by @Sameerlite in #21089
- [Fix] Spend Management Tests by @yuneng-jiang in #21088
- fix: shared health check serialization by @aidankovacic-8451 in #21119
- [Security] Remove leaked key from codebase by @ishaan-jaff in #21129
- Add support for remote URL fetching for anthropic beta header mapping by @Sameerlite in #21110
- fix(guardrails): Zscaler AI Guard bug fixes and support during post-call by @datzscaler in #20801
- Guardrails - new Policy Templates (pre-configured guardrail combinations for specific use-cases) by @krrishdholakia in #21025
- [Feature] UI - Spend Logs: Sorting Columns by @yuneng-jiang in #21143
- docs: fix Claude Code MCP tutorial by @ishaan-jaff in #21145
- [Refactor] UI - Fallbacks: Default Configurable to 10 Models by @yuneng-jiang in #21144
- [Fix] UI - Spend Logs: Reset Filters Resets Custom Date Range by @yuneng-jiang in #21149
- fix: MCP Gateway SCOPES on Atlassian issue by @ishaan-jaff in #21150
- feat: MCP OAuth2 client-side debug headers by @ishaan-jaff in #21151
- fix: add custom_body parameter to endpoint_func in create_pass_through_route by @themavik in #20849
- fix: populate identity fields in proxy admin JWT early-return path by @ishaan-jaff in #21169
- [Feature] UI - Access Groups: Table and Details Page by @yuneng-jiang in #21165
- [Refactor] Access Group model_ids to model_names for backwards Compatability by @yuneng-jiang in #21166
- Add pyroscope for observability by @AlexsanderHamir in #21167
- fix(model_info): Add missing tpm/rpm for Gemini models by @shin-bot-litellm in #21175
- fix(ci): Fix ruff lint error - unused import in vertex_ai_ingestion by @shin-bot-litellm in #21178
- fix(ci): Fix mypy type errors across 6 files by @shin-bot-litellm in #21179
- fix(ci): Fix E2E login button selector - use exact match by @shin-bot-litellm in #21176
- fix(mypy): Fix type errors across multiple files by @shin-bot-litellm in #21180
- [Guardrails] Add guardrail pipeline support for conditional sequential execution by @ishaan-jaff in #21177
- Add pipeline flow builder UI for guardrail policies by @ishaan-jaff in #21188
- fix(anthropic): filter unsupported JSON schema constraints for structured outputs by @shin-bot-litellm in #20813
- ci/cd fixes - streaming role & bedrock model cost by @ishaan-jaff in #21200
- [Infra] UI - Building for Release by @yuneng-jiang in #21201
- fix: remove unused variable original_guardrails in pipeline_executor by @jquinter in #21202
- Guardrails - add nsfw policy template, toxic keywords in multiple languages, child safety content filter, json content viewer by @krrishdholakia in #21205
- refactor: extract helper functions to reduce statement count in add_guardrails_from_policy_engine by @jquinter in #21203
- Fix: Refactor content filter to reduce statement count (PLR0915) by @jquinter in #21207
- Fix: JWT email domain validation error message by @jquinter in #21212
- fix(langfuse_otel): prevent empty proxy request spans from being sent to Langfuse by @luisgallego-aily in #19935
- Agent Guardrails - on streaming output by @krrishdholakia in #21206
- Fix CI/CD pyroscope test failure by @AlexsanderHamir in #21219
- ci/cd fixes by @krrishdholakia in #21218
- [Infra] New Github Workflow For UI Build on Every PR by @yuneng-jiang in #21224
- [Fix] UI - E2E Tests: Injecting localStorage Values to Hide Usage Indicator by @yuneng-jiang in #21230
- [Feature] Access Group Checks by @yuneng-jiang in #21190
- Litellm notes 181 12 by @ishaan-jaff in #21231
New Contributors
- @bluet made their first contribution in #20873
- @itayov made their first contribution in #20729
- @CSteigstra made their first contribution in #20960
- @rahulrd25 made their first contribution in #20569
- @muraliavarma made their first contribution in #20598
- @joaokopernico made their first contribution in #21039
- @datzscaler made their first contribution in #21077
- @atapia27 made their first contribution in #20922
- @fpagny made their first contribution in #21121
- @aidankovacic-8451 made their first contribution in #21119
- @luisgallego-aily made their first contribution in #19935
Full Changelog: litellm_dev-test-v0...v1.81.12-nightly