Releases: BerriAI/litellm
Releases · BerriAI/litellm
v1.81.12.rc.1
Full Changelog: v1.81.12-nightly...v1.81.12.rc.1
v1.81.12-nightly
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 https://github.com/BerriAI/li...
litellm_dev-test-v0.1
v1.81.11-nightly
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
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
Full Changelog: litellm_dev-test-v0...v1.81.11-nightly
v1.81.0-patch4
Full Changelog: v1.81.0-patch3...v1.81.0-patch4
v1.81.10-nightly
What's Changed
- merge main by @Sameerlite in #20252
- [Docs] 1.81.9 stability by @ishaan-jaff in #20665
- Semantic filter hook warning by @krrishdholakia in #20651
- Litellm docs rc fixes by @ishaan-jaff in #20667
- [Bug] PostHog JSON serialization error for non-serializable objects by @shivamrawat1 in #20668
- Observatory block post update by @AlexsanderHamir in #20670
- [Docs] UI Team Soft Budget by @yuneng-jiang in #20669
- [Docs] UI Contributing and Troubleshooting by @yuneng-jiang in #20674
- [Docs] Reorganize Admin UI Subsection by @yuneng-jiang in #20676
- docs: add LiteLLM Observatory section to v1.81.9 release notes by @AlexsanderHamir in #20675
- [Refactor] Add knip and removed some unused files by @yuneng-jiang in #20678
- [Fix] UI - Logs: Input and Output Copying by @yuneng-jiang in #20657
- docs: add callback registration optimization to v1.81.9 release notes by @ryan-crabbe in #20681
- docs: add middleware performance blog post by @ryan-crabbe in #20677
- [Fix] UI - Teams: Available Teams by @yuneng-jiang in #20682
- [Refactor] AntD refactoring and 0 cost models fix by @yuneng-jiang in #20687
- fix: empty guardrails/policies arrays should not trigger enterprise license check by @veeceey in #20567
- fix critical CVE vulnerabliltes by @Harshit28j in #20683
- Correct ElevenLabs support status in README by @iver56 in #20643
- fix: add hook to handle db case by @Harshit28j in #20635
- Add team policy mapping for zguard by @jwang-gif in #20608
- feat: add support for anthropic_messages call type in prompt caching by @nuernber in #19233
- docs: add SDK proxy authentication (OAuth2/JWT auto-refresh) by @Chesars in #20680
- Fix Bedrock Claude Opus 4.6 model ID (remove :0 suffix) by @veeceey in #20671
- OCI: Cohere responseFormat/Pydantic by @gotsysdba in #20663
- fix: show error details instead of 'Data Not Available' for failed requests by @veeceey in #20656
- fix(ui): add null guard for models in API keys table by @veeceey in #20655
- Fix: Spend logs pickle error with Pydantic models and redaction by @veeceey in #20685
- fix(vertex_ai): propagate extra_headers anthropic-beta to
request body by @eliasaronson in #20666 - fix(responses): preserve tool call argument deltas when streaming id is omitted by @emerzon in #20712
- add missing indexes on VerificationToken table by @CAFxX in #20736
- merge main by @Sameerlite in #20738
- fix(streaming): preserve interleaved thinking/redacted_thinking blocks by @emerzon in #20702
- Fix video list pagination cursors not encoded with provider metadata by @tsachis in #20710
- Litellm oss staging 02 08 2026 by @krrishdholakia in #20696
- Add output_config as supported param by @Sameerlite in #20748
- Add new vercel ai anthropic models by @Sameerlite in #20745
- [Feat]Add new claude 4-6 feat for v1/messages by @Sameerlite in #20733
- Fix: get_supported_anthropic_messages_params by @Sameerlite in #20752
- Fix: base_model name for body and deplyment name in URL by @Sameerlite in #20747
- [Feat] Chat completion - Add Websearch support using LiteLLM /search (using web search interception hook) by @Sameerlite in #20483
- fix conflicts with main- (this PR is from upstream/main) by @Harshit28j in #20601
- docs fix. -fwd client headers to LLM API by @ishaan-jaff in #20768
- [Feature] UI - Logs: Show Predefined Error Codes in Filter with User Definable Fallback by @yuneng-jiang in #20773
- fix(callbacks): allow MAX_CALLBACKS override via env var by @ishaan-jaff in #20781
- [Refactor] UI - Remove unused files + Add unit tests by @yuneng-jiang in #20780
- [Refactor] UI - Team Info: Migrate to AntD Tabs + Table by @yuneng-jiang in #20785
- fix(prometheus): sanitize label values to prevent metric scrape failures by @michelligabriele in #20600
- [Feat] MCP Oauth2 Fixes - Add support for MCP M2M Oauth2 support by @ishaan-jaff in #20788
- [Feature] UI - Invite User: Email Integration Alert by @yuneng-jiang in #20790
- [UI] M2M OAuth2 UI Flow by @ishaan-jaff in #20794
- [Fix] prevent shared backend model key from being polluted by per-deployment custom pricing by @shivamrawat1 in #20679
- fix(mcp): resolve OAuth2 root endpoints returning "MCP server not found" by @michelligabriele in #20784
- fix: Preserved nullable object fields by carrying schema properties by @Sameerlite in #19132
- Add support for langchain_aws via litellm passthrough by @Sameerlite in #20843
- Litellm oss staging 02 05 2026 3 by @Sameerlite in #20854
- feat: Add Sarvam AI STT and TTS support by @NirantK in #19656
- litellm oss staging 09/02/2026 by @krrishdholakia in #20783
- Add Kimi model pricing by region by @Sameerlite in #20855
- Add moonshotai.kimi-k2.5 by @Sameerlite in #20863
- Add support managed error file by @Sameerlite in #20838
- [Feat] Perplexity research api support by @Sameerlite in #20860
- Handle image in assitant message for gemini by @Sameerlite in #20845
New Contributors
- @iver56 made their first contribution in #20643
- @eliasaronson made their first contribution in #20666
- @NirantK made their first contribution in #19656
Full Changelog: v1.81.9-nightly...v1.81.10-nightly
v1.81.3-stable.opus-4-6
Full Changelog: v1.81.3-stable...v1.81.3-stable.opus-4-6
litellm_stable_build-test-v0.1
What's Changed
- merge main by @Sameerlite in #20252
- [Docs] 1.81.9 stability by @ishaan-jaff in #20665
- Semantic filter hook warning by @krrishdholakia in #20651
- Litellm docs rc fixes by @ishaan-jaff in #20667
- [Bug] PostHog JSON serialization error for non-serializable objects by @shivamrawat1 in #20668
- Observatory block post update by @AlexsanderHamir in #20670
- [Docs] UI Team Soft Budget by @yuneng-jiang in #20669
- [Docs] UI Contributing and Troubleshooting by @yuneng-jiang in #20674
- [Docs] Reorganize Admin UI Subsection by @yuneng-jiang in #20676
- docs: add LiteLLM Observatory section to v1.81.9 release notes by @AlexsanderHamir in #20675
- [Refactor] Add knip and removed some unused files by @yuneng-jiang in #20678
- [Fix] UI - Logs: Input and Output Copying by @yuneng-jiang in #20657
- docs: add callback registration optimization to v1.81.9 release notes by @ryan-crabbe in #20681
- docs: add middleware performance blog post by @ryan-crabbe in #20677
- [Fix] UI - Teams: Available Teams by @yuneng-jiang in #20682
- [Refactor] AntD refactoring and 0 cost models fix by @yuneng-jiang in #20687
- fix: empty guardrails/policies arrays should not trigger enterprise license check by @veeceey in #20567
- fix critical CVE vulnerabliltes by @Harshit28j in #20683
- Correct ElevenLabs support status in README by @iver56 in #20643
- fix: add hook to handle db case by @Harshit28j in #20635
- Add team policy mapping for zguard by @jwang-gif in #20608
- feat: add support for anthropic_messages call type in prompt caching by @nuernber in #19233
- docs: add SDK proxy authentication (OAuth2/JWT auto-refresh) by @Chesars in #20680
- Fix Bedrock Claude Opus 4.6 model ID (remove :0 suffix) by @veeceey in #20671
- OCI: Cohere responseFormat/Pydantic by @gotsysdba in #20663
- fix: show error details instead of 'Data Not Available' for failed requests by @veeceey in #20656
- fix(ui): add null guard for models in API keys table by @veeceey in #20655
- Fix: Spend logs pickle error with Pydantic models and redaction by @veeceey in #20685
- fix(vertex_ai): propagate extra_headers anthropic-beta to
request body by @eliasaronson in #20666 - fix(responses): preserve tool call argument deltas when streaming id is omitted by @emerzon in #20712
- add missing indexes on VerificationToken table by @CAFxX in #20736
- merge main by @Sameerlite in #20738
- fix(streaming): preserve interleaved thinking/redacted_thinking blocks by @emerzon in #20702
- Fix video list pagination cursors not encoded with provider metadata by @tsachis in #20710
- Litellm oss staging 02 08 2026 by @krrishdholakia in #20696
- Add output_config as supported param by @Sameerlite in #20748
- Add new vercel ai anthropic models by @Sameerlite in #20745
- [Feat]Add new claude 4-6 feat for v1/messages by @Sameerlite in #20733
- Fix: get_supported_anthropic_messages_params by @Sameerlite in #20752
- Fix: base_model name for body and deplyment name in URL by @Sameerlite in #20747
- [Feat] Chat completion - Add Websearch support using LiteLLM /search (using web search interception hook) by @Sameerlite in #20483
- fix conflicts with main- (this PR is from upstream/main) by @Harshit28j in #20601
- docs fix. -fwd client headers to LLM API by @ishaan-jaff in #20768
- [Feature] UI - Logs: Show Predefined Error Codes in Filter with User Definable Fallback by @yuneng-jiang in #20773
- fix(callbacks): allow MAX_CALLBACKS override via env var by @ishaan-jaff in #20781
- [Refactor] UI - Remove unused files + Add unit tests by @yuneng-jiang in #20780
- [Refactor] UI - Team Info: Migrate to AntD Tabs + Table by @yuneng-jiang in #20785
- fix(prometheus): sanitize label values to prevent metric scrape failures by @michelligabriele in #20600
- [Feat] MCP Oauth2 Fixes - Add support for MCP M2M Oauth2 support by @ishaan-jaff in #20788
- [Feature] UI - Invite User: Email Integration Alert by @yuneng-jiang in #20790
- [UI] M2M OAuth2 UI Flow by @ishaan-jaff in #20794
- [Fix] prevent shared backend model key from being polluted by per-deployment custom pricing by @shivamrawat1 in #20679
- fix(mcp): resolve OAuth2 root endpoints returning "MCP server not found" by @michelligabriele in #20784
- fix: Preserved nullable object fields by carrying schema properties by @Sameerlite in #19132
- Add support for langchain_aws via litellm passthrough by @Sameerlite in #20843
- Litellm oss staging 02 05 2026 3 by @Sameerlite in #20854
- feat: Add Sarvam AI STT and TTS support by @NirantK in #19656
- litellm oss staging 09/02/2026 by @krrishdholakia in #20783
- Add Kimi model pricing by region by @Sameerlite in #20855
- Add moonshotai.kimi-k2.5 by @Sameerlite in #20863
- Add support managed error file by @Sameerlite in #20838
- [Feat] Perplexity research api support by @Sameerlite in #20860
- Handle image in assitant message for gemini by @Sameerlite in #20845
- fix(otel): auto-infer otlp_http exporter when endpoint is configured by @michelligabriele in #20438
- fix(aiohttp): respect ssl_verify with shared sessions by @michelligabriele in #20349
- [Feature] UI - Spend Logs: Paginated Searchable Model Select by @yuneng-jiang in #20892
- [Infra] CI/CD - Fix PyPI CI Step by @yuneng-jiang in #20893
- feat(model-db): add azure_ai/kimi-k2.5 to azure model DB by @emerzon in #20896
- Guardrails - add logging to all unified_guardrails + link to custom code guardrail templates by @krrishdholakia in #20900
- [Stability] Investigate + fix issue where model cost map became poorly formatted by @ishaan-jaff in #20895
- fix(router): propagate model-level tags from config to SpendLogs by @michelligabriele in #20769
- [Release - 02/10/2026] v1.81.10-nightly by @AlexsanderHamir in #20903
- [Fix] /v2/guardrails/list Returns Sensitive Values by @yuneng-jiang in #20796
- [Feature] Include Config Defined Pass Through Endpoints by @yuneng-jiang in #20898
- [Fix] UI - Usage: Request Chart stack variant by @yuneng-jiang in #20894
New Contributors
- @iver56 made their first contribution in #20643
- @eliasaronson made their first contribution in #20666
- @NirantK made their first contribution in #19656
Full Changelog: v1.81.9-nightly...litellm_stable_build-test-v0.1
litellm_dev-test-v0
What's Changed
- merge main by @Sameerlite in #20252
- [Docs] 1.81.9 stability by @ishaan-jaff in #20665
- Semantic filter hook warning by @krrishdholakia in #20651
- Litellm docs rc fixes by @ishaan-jaff in #20667
- [Bug] PostHog JSON serialization error for non-serializable objects by @shivamrawat1 in #20668
- Observatory block post update by @AlexsanderHamir in #20670
- [Docs] UI Team Soft Budget by @yuneng-jiang in #20669
- [Docs] UI Contributing and Troubleshooting by @yuneng-jiang in #20674
- [Docs] Reorganize Admin UI Subsection by @yuneng-jiang in #20676
- docs: add LiteLLM Observatory section to v1.81.9 release notes by @AlexsanderHamir in #20675
- [Refactor] Add knip and removed some unused files by @yuneng-jiang in #20678
- [Fix] UI - Logs: Input and Output Copying by @yuneng-jiang in #20657
- docs: add callback registration optimization to v1.81.9 release notes by @ryan-crabbe in #20681
- docs: add middleware performance blog post by @ryan-crabbe in #20677
- [Fix] UI - Teams: Available Teams by @yuneng-jiang in #20682
- [Refactor] AntD refactoring and 0 cost models fix by @yuneng-jiang in #20687
- fix: empty guardrails/policies arrays should not trigger enterprise license check by @veeceey in #20567
- fix critical CVE vulnerabliltes by @Harshit28j in #20683
- Correct ElevenLabs support status in README by @iver56 in #20643
- fix: add hook to handle db case by @Harshit28j in #20635
- Add team policy mapping for zguard by @jwang-gif in #20608
- feat: add support for anthropic_messages call type in prompt caching by @nuernber in #19233
- docs: add SDK proxy authentication (OAuth2/JWT auto-refresh) by @Chesars in #20680
- Fix Bedrock Claude Opus 4.6 model ID (remove :0 suffix) by @veeceey in #20671
- OCI: Cohere responseFormat/Pydantic by @gotsysdba in #20663
- fix: show error details instead of 'Data Not Available' for failed requests by @veeceey in #20656
- fix(ui): add null guard for models in API keys table by @veeceey in #20655
- Fix: Spend logs pickle error with Pydantic models and redaction by @veeceey in #20685
- fix(vertex_ai): propagate extra_headers anthropic-beta to
request body by @eliasaronson in #20666 - fix(responses): preserve tool call argument deltas when streaming id is omitted by @emerzon in #20712
- add missing indexes on VerificationToken table by @CAFxX in #20736
- merge main by @Sameerlite in #20738
- fix(streaming): preserve interleaved thinking/redacted_thinking blocks by @emerzon in #20702
- Fix video list pagination cursors not encoded with provider metadata by @tsachis in #20710
- Litellm oss staging 02 08 2026 by @krrishdholakia in #20696
- Add output_config as supported param by @Sameerlite in #20748
- Add new vercel ai anthropic models by @Sameerlite in #20745
- [Feat]Add new claude 4-6 feat for v1/messages by @Sameerlite in #20733
- Fix: get_supported_anthropic_messages_params by @Sameerlite in #20752
- Fix: base_model name for body and deplyment name in URL by @Sameerlite in #20747
- [Feat] Chat completion - Add Websearch support using LiteLLM /search (using web search interception hook) by @Sameerlite in #20483
- fix conflicts with main- (this PR is from upstream/main) by @Harshit28j in #20601
- docs fix. -fwd client headers to LLM API by @ishaan-jaff in #20768
- [Feature] UI - Logs: Show Predefined Error Codes in Filter with User Definable Fallback by @yuneng-jiang in #20773
- fix(callbacks): allow MAX_CALLBACKS override via env var by @ishaan-jaff in #20781
- [Refactor] UI - Remove unused files + Add unit tests by @yuneng-jiang in #20780
- [Refactor] UI - Team Info: Migrate to AntD Tabs + Table by @yuneng-jiang in #20785
- fix(prometheus): sanitize label values to prevent metric scrape failures by @michelligabriele in #20600
- [Feat] MCP Oauth2 Fixes - Add support for MCP M2M Oauth2 support by @ishaan-jaff in #20788
- [Feature] UI - Invite User: Email Integration Alert by @yuneng-jiang in #20790
- [UI] M2M OAuth2 UI Flow by @ishaan-jaff in #20794
- [Fix] prevent shared backend model key from being polluted by per-deployment custom pricing by @shivamrawat1 in #20679
- fix(mcp): resolve OAuth2 root endpoints returning "MCP server not found" by @michelligabriele in #20784
- fix: Preserved nullable object fields by carrying schema properties by @Sameerlite in #19132
- Add support for langchain_aws via litellm passthrough by @Sameerlite in #20843
- Litellm oss staging 02 05 2026 3 by @Sameerlite in #20854
- feat: Add Sarvam AI STT and TTS support by @NirantK in #19656
- litellm oss staging 09/02/2026 by @krrishdholakia in #20783
- Add Kimi model pricing by region by @Sameerlite in #20855
- Add moonshotai.kimi-k2.5 by @Sameerlite in #20863
- Add support managed error file by @Sameerlite in #20838
- [Feat] Perplexity research api support by @Sameerlite in #20860
- Handle image in assitant message for gemini by @Sameerlite in #20845
- fix(otel): auto-infer otlp_http exporter when endpoint is configured by @michelligabriele in #20438
- fix(aiohttp): respect ssl_verify with shared sessions by @michelligabriele in #20349
- [Feature] UI - Spend Logs: Paginated Searchable Model Select by @yuneng-jiang in #20892
- [Infra] CI/CD - Fix PyPI CI Step by @yuneng-jiang in #20893
- feat(model-db): add azure_ai/kimi-k2.5 to azure model DB by @emerzon in #20896
- Guardrails - add logging to all unified_guardrails + link to custom code guardrail templates by @krrishdholakia in #20900
- [Stability] Investigate + fix issue where model cost map became poorly formatted by @ishaan-jaff in #20895
- fix(router): propagate model-level tags from config to SpendLogs by @michelligabriele in #20769
- [Release - 02/10/2026] v1.81.10-nightly by @AlexsanderHamir in #20903
- [Fix] /v2/guardrails/list Returns Sensitive Values by @yuneng-jiang in #20796
- [Feature] Include Config Defined Pass Through Endpoints by @yuneng-jiang in #20898
- [Fix] UI - Usage: Request Chart stack variant by @yuneng-jiang in #20894
- [Infra] UI - E2E Tests: Key Delete, Regenerate, and Update TPM/RPM Limits by @yuneng-jiang in #20803
- fix(cloudzero): update CBF field mappings per LIT-1907 by @shin-bot-litellm in #20906
- Add semgrep & Fix OOMs by @AlexsanderHamir in #20912
- [Feat] Policies - Allow connecting Policies to Tags, Simulating Policies, Viewing how many keys, teams it applies on by @ishaan-jaff in #20904
- fix: type error & better error handling by @Harshit28j in #20689
- [Docs] Add docs guide for using policies by @ishaan-jaff in #20914
- feat: add dashscope/qwen3-max model with tiered pricing by @looksgood in #20919
- feat: enable support for non-tool structured outputs on Anthropic Claude Opus 4.5 and 4.6 (use
output_formatparam) by @kelvin-tran in #20548 - [Feature] UI - Login: New Login With SSO Button by @yuneng-jiang ...
v1.81.9.rc.1
What's Changed
- fix: search tools not found when using per-request routers by @Quentin-M in #19818
- feat: add faster linting targets for development workflow by @jquinter in #19729
- Litellm fix langfuse otel trace by @Harshit28j in #20382
- fix: Preserve streaming content on guardrail-sampled chunks by @akraines in #20027
- [Fix] Unique Constraint on Daily Tables + Logging When Updates Fail by @yuneng-jiang in #20394
- [Feature] UI - Search Tools: Show Config Defined Search Tools by @yuneng-jiang in #20436
- Fix mypy regression: TypedDict key error in fireworks_ai transformation by @shin-bot-litellm in #20391
- langfuse doc update by @shivamrawat1 in #20443
- fix(a2a): use text/event-stream SSE format for message/stream endpoint by @shin-bot-litellm in #20365
- Revert "fix(a2a): use text/event-stream SSE format for message/stream endpoint" by @ishaan-jaff in #20446
- [Fix] inconsistent response format in anthropic.messages.acreate() when using non anthropic providers by @ishaan-jaff in #20442
- [Feat] UI - Add support for MCP Semantic Filtering on UI by @ishaan-jaff in #20454
- docs: improve Okta SSO setup guide with step-by-step instructions by @michelligabriele in #20353
- fix(lint): remove unused Any/cast imports in github_copilot transformation by @jquinter in #20431
- feat(openrouter): add Qwen3-235B models by @Chesars in #20455
- bump: litellm-proxy-extras 0.4.29 → 0.4.30 by @Sameerlite in #20458
- chore: update poetry.lock for litellm-proxy-extras 0.4.30 by @Sameerlite in #20460
- [Infra] Fixing UI Build by @yuneng-jiang in #20461
- Litellm cicd 5 feb 2026 by @Sameerlite in #20464
- bugfix: Disable merging of consecutive user messages for GigaChat provider by @natimofeev in #20341
- Fix Vertex AI Gemini streaming content_filter handling by @krisxia0506 in #20105
- fix #20326 - [Feature]: Support TTL(1h) field in prompt caching for Bedrock Claude 4.5 models by @Lucky-Lodhi2004 in #20338
- Litellm oss staging 02 04 2026 by @krrishdholakia in #20398
- Cli arguments rds iam auth by @krrishdholakia in #20437
- [Fix] 404 Not Found on /api/event_logging/batch endpoint by @ishaan-jaff in #20504
- [Feat] add
claude-opus-4-6to model cost map by @ishaan-jaff in #20506 - Add Claude Opus 4.6 by @PeterDaveHello in #20508
- fix(ui): adjust daily spend date filtering for user timezone by @nina-hu in #20472
- [Fix] Non Root Dockerfile: Keep package-lock.json by @yuneng-jiang in #20452
- [Infra] UI - Adding Unit Tests for Coverage by @yuneng-jiang in #20513
- Fix test isolation for test_watsonx_gpt_oss_prompt_transformation by @shin-bot-litellm in #20474
- Fix test isolation for test_log_langfuse_v2_handles_null_usage_values by @shin-bot-litellm in #20475
- [Fix] Guardrails API - Ensure OpenAI Moderations Guard works with OpenAI Embeddings by @ishaan-jaff in #20523
- [Feature] Add soft_budget to Team Table + Create/Update Endpoints by @yuneng-jiang in #20530
- [Chore] Move anthropic input/output test to right folder by @shivamrawat1 in #20535
- [Refactor] UI - Usage Page: Spend By Provider by @yuneng-jiang in #20539
- fix: make sure gcs_bucket_name passes by @Sameerlite in #20491
- feat(web_search): add gpt-5-search-api model and docs clarifications by @Chesars in #20512
- [Feat] add ElevenLabs eleven_v3 and eleven_multilingual_v2 to model cost map by @Chesars in #20522
- [Refactor] UI - Admin Page: Migrate to AntD Tabs by @yuneng-jiang in #20465
- fix: Add array type checks for model, agent, and MCP hub data to prev… by @swayambhu94 in #20469
- [Refactor] Rename admins to AdminPanel by @yuneng-jiang in #20554
- Align Claude Opus 4.6 metadata and limits by @PeterDaveHello in #20514
- Add unsupported claude code beta headers in json by @Sameerlite in #20578
- Add full support for Opus 4.6 (Anthropic, Azure AI, Bedrock, Vertex AI) by @Sameerlite in #20551
- perf(prometheus): parallelize budget metrics, fix caching bug, reduce CPU by ~40% by @AlexsanderHamir in #20544
- Warn when budget lookup fails; cache won't populate by @AlexsanderHamir in #20545
- [Feature] Team Soft Budget Email Alerts by @yuneng-jiang in #20553
- Add INFO-level session reuse logging per request by @AlexsanderHamir in #20597
- [Infra] UI - Testing: Adding Unit Testing Coverage by @yuneng-jiang in #20596
- [Feature] UI - Admin Settings: Add option for Authentication for public AI Hub by @yuneng-jiang in #20444
- [Fix] UI - Model Info Page: Fix Input and Output Labels by @yuneng-jiang in #20462
- [Fix] UI - Model Page: Column Resizing on Smaller Screens by @yuneng-jiang in #20599
- refactor: migrate Ant Design notifications to use
App.useApp()cont… by @swayambhu94 in #20549 - fix(mcp): resolve OAuth2 'Capabilities: none' bug for upstream MCP servers by @michelligabriele in #20602
- [Fix] A2a Agent Gateway Fixes - A2A agents deployed with localhost/internal URLs in their agent cards (e.g., http://0.0.0.0:8001/) by @ishaan-jaff in #20604
- [Re-issue: Fix] Keys and Teams Router Setting + Allow Override of Router Settings by @yuneng-jiang in #20205
- fix(sso): extract user roles from JWT access token for Keycloak compa… by @michelligabriele in #20591
- [Feat] add au version of
claude-opus-4-6to model cost map by @ssadedin in #20566 - Add http support to custom code guardrails + Unified guardrails for MCP + Agent guardrail support by @krrishdholakia in #20619
- fix(mypy): resolve missing return statements and type casting issues by @shin-bot-litellm in #20618
- [Feat] MCP Gateway - Allow setting MCP Servers as Private/Public available on Internet by @ishaan-jaff in #20607
- [Feat] IP-Based Access Control for MCP Servers by @ishaan-jaff in #20620
- Add blog post about litellm-observatory by @AlexsanderHamir in #20622
- [Fix] /key/list user_id Empty String Edge Case by @yuneng-jiang in #20623
- docs - expose MCPs on public internet by @ishaan-jaff in #20626
- fix(mypy): Stabilize mypy linting - resolve type checking errors by @shin-bot-litellm in #20627
- fix(test): update deprecated gemini embedding model by @shin-bot-litellm in #20621
- [Feature] UI - Team Settings: Soft Budget + Alerting Emails by @yuneng-jiang in #20634
- Update opus 4.6 blog with adaptive thinking by @Sameerlite in #20637
- [Infra] UI Build for Release by @yuneng-jiang in #20648
- fix(lint): extract helper function to reduce statement count in MCP rest_endpoints by @shin-bot-litellm in #20629
- perf: add LRU cache to normalize_request_route by @ryan-crabbe in #19812
- fix(tests): Fix sendgrid email tests to properly mock httpx client by @shin-bot-litellm in #20628
- perf: optimize get_standard_logging_metadata with set intersection by @ryan-crabbe in #19685
- fix(tests): Fix flaky container and scientific notation tests by @shin-bot-litellm in #20650
- perf: add early-exit guards in completion_cost for unused features by @ryan-crabbe in #20020
- perf: Optimize get_litellm_params with sparse kwargs extraction by @ryan-crabbe in #19884
- perf: guard debug log f-strings and remove red...