Commit Graph
31540 Commits
Author SHA1 Message Date
Xiaohan FuandGitHub 2b25d03046 Fix fail-open for grayswan and pass metadata to cygnal api endpoint (#19837)
* fix fail-open for grayswan; pass metadata to cygnal api endpoint; update docs

* pass litellm_metadata to cygnal in payload

* switch error msg to const, and clean exception handling.

* update pyproject.toml as requested

* Revert "update pyproject.toml as requested"

This reverts commit 4eece154d056ba33689a5584c86c8fc352bb7cdd.
2026-02-03 14:41:31 -08:00
cc76f95555 fix: check for model_response_choices before guardrail input (#19784)
* fix: check for model_response_choices before guardrail input

* test: add tests for responses api translation

* fix: protect other guardrail translations

* refactor: remove type ignores

* anthropic request body got mutated fix

* add warning when extra_body is provided but user is non premium

* fix: resolve mypy union-attr errors in anthropic guardrail handler

Cast choices[0] to Choices type before accessing .message attribute
to satisfy mypy's union type checking for Choices | StreamingChoices.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* add logger when model response has no choices for streaming /response and /messages

* update pyproject.toml as requested

* Revert "update pyproject.toml as requested"

This reverts commit 541a2b075a91b1b2d9efaf0407572f35bf5d4324.

* update pyproject.toml as requested

* Revert "update pyproject.toml as requested"

This reverts commit 716ea0caa1fee5e5f028d3f86479fedea2fac68b.

---------

Co-authored-by: Xiaohan Fu <xiaohan@grayswan.ai>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 14:41:13 -08:00
Sameer KankuteandGitHub b7f0d05dfd Merge pull request #20337 from BerriAI/main
update 02 staging PR
2026-02-03 17:08:01 +05:30
Sameer KankuteandGitHub 070d501ced Merge pull request #20336 from BerriAI/litellm_bump_version_1.81.7
bump litellm 1.81.7
2026-02-03 16:52:12 +05:30
Sameer Kankute 47c5366cf3 bump litellm 1.81.7 2026-02-03 16:51:42 +05:30
Sameer KankuteandGitHub 793a7fd993 Merge pull request #20333 from BerriAI/litellm_tuesday_cicd_release_final
Litellm tuesday cicd release final
2026-02-03 15:37:30 +05:30
Sameer Kankute 21e95c73e4 Fix litellm_security_tests 2026-02-03 15:24:31 +05:30
Sameer Kankute 31cdffd3a4 Revert "fix: prevent error when max_fallbacks exceeds available models (#20071)"
This reverts commit ef73f330f1.
2026-02-03 15:15:30 +05:30
Sameer Kankute fae0554fdc Revert "add missing indexes on VerificationToken table (#20040)"
This reverts commit 1e8848ca97.
2026-02-03 15:01:28 +05:30
Sameer Kankute 017b78de40 Fix code quality tests 2026-02-03 15:01:17 +05:30
Sameer Kankute 9a6bafe89e Fix litellm/tests/test_litellm/proxy/_experimental/mcp_server/test_semantic_tool_filter.py tests 2026-02-03 15:01:10 +05:30
Sameer Kankute eb8f4d3e05 Revert "fix: models loadbalancing billing issue by filter (#18891) (#19220)"
This reverts commit 72e5193451.
2026-02-03 15:00:57 +05:30
Sameer KankuteandGitHub 80acd4cf98 Merge pull request #20330 from BerriAI/revert-20328-litellm_tuesday_cicd_release
Revert "Litellm tuesday cicd release"
2026-02-03 14:29:28 +05:30
Sameer KankuteandGitHub 1b1854b704 Revert "Litellm tuesday cicd release" 2026-02-03 14:29:16 +05:30
Sameer KankuteandGitHub 23f662ef93 Merge pull request #20328 from BerriAI/litellm_tuesday_cicd_release
Litellm tuesday cicd release
2026-02-03 13:42:02 +05:30
Sameer Kankute ecb6413028 Revert "add missing indexes on VerificationToken table (#20040)"
This reverts commit 1e8848ca97.
2026-02-03 12:22:18 +05:30
Sameer Kankute b379fb6338 Fix code quality tests 2026-02-03 12:10:29 +05:30
Sameer Kankute 86ae627007 Fix litellm/tests/test_litellm/proxy/_experimental/mcp_server/test_semantic_tool_filter.py tests 2026-02-03 12:08:19 +05:30
Sameer Kankute 7dd0248987 Revert "fix: models loadbalancing billing issue by filter (#18891) (#19220)"
This reverts commit 72e5193451.
2026-02-03 12:04:15 +05:30
17c0a88a60 fix: add missing capability flags to vercel_ai_gateway models (#20276)
67 vercel_ai_gateway models were missing capability flags (supports_vision,
supports_function_calling, supports_tool_choice, supports_response_schema).

These capabilities were inferred from the corresponding direct provider entries
for the same models (e.g., vercel_ai_gateway/anthropic/claude-3.5-sonnet now has
the same capabilities as anthropic/claude-3.5-sonnet).

Models fixed include:
- Claude 3/3.5/3.7 (Anthropic)
- GPT-4/5 variants (OpenAI)
- Gemini 2.0/2.5 (Google)
- Grok 3/4 (xAI)
- Mistral/Mixtral variants
- Qwen models
- DeepSeek models
- And more

This ensures consistent capability reporting across providers for the same
underlying models.

Co-authored-by: krauckbot <krauckbot123@gmail.com>
2026-02-02 22:07:17 -08:00
Cesar GarciaandGitHub a904c3f40d fix(github_copilot): preserve system prompts and auto-inject headers (#20113)
- Remove system-to-assistant message conversion (API now supports system prompts)
- Auto-inject required Copilot headers in chat completions (same as /responses)
- Deprecate disable_copilot_system_to_assistant flag
- Update docs to remove manual extra_headers requirement

Fixes #19873
2026-02-02 22:05:44 -08:00
Cesar GarciaandGitHub b33e1e8019 feat(sdk): add proxy_auth for auto OAuth2/JWT token management (#20238)
Adds litellm.proxy_auth to automatically obtain and refresh OAuth2/JWT
tokens when connecting to LiteLLM Proxy or any OAuth2-protected endpoint.

- Add ProxyAuthHandler for token lifecycle (obtain, cache, refresh)
- Add AzureADCredential wrapper for azure-identity credentials
- Add GenericOAuth2Credential for any OAuth2 provider (Okta, Auth0, etc)
- Auto-inject Authorization headers in completion() and embedding()

Closes #19834
2026-02-02 22:04:08 -08:00
yuneng-jiangandGitHub 9202870e14 Merge pull request #20308 from BerriAI/litellm_ui_community_buttons
[Feature] UI - Navbar: Option to Hide Community Engagement Buttons
2026-02-02 20:10:01 -08:00
yuneng-jiangandGitHub 2984832843 Merge pull request #20310 from BerriAI/litellm_ui_def_team_settings
[Feature] UI - Default Team Settings: Migrate Default Team Settings to use Reusable Model Select
2026-02-02 20:09:13 -08:00
Ishaan Jaffer 7ae980410b docs fix 2026-02-02 19:50:22 -08:00
Ishaan Jaffer 5aa8725c63 docs Tracing Tools 2026-02-02 19:48:00 -08:00
Sameer KankuteandGitHub 24a4979aa3 Merge pull request #20320 from BerriAI/litellm_nova-sonic_doc
Add documentation correctly for nova sonic
2026-02-03 09:11:22 +05:30
Ishaan JaffandGitHub 5cfcf67d7c [Feat] /chat/completions - allow using OpenAI style tools for web_search with VertexAI/gemini models (#20280)
* test_gemini_openai_web_search_tool_to_google_search

* feat: Handle OpenAI style web search tools
2026-02-02 19:36:36 -08:00
Sameer Kankute 333419b4d2 Add documentation correctly for nova sonic 2026-02-03 09:03:27 +05:30
Harshit JainandGitHub ec279eb426 fix: proxy failure cases, now log ip and user agent, key hash, name (#20145) 2026-02-02 19:26:50 -08:00
04c348e7bb fixes failure metrics labels (#20152)
Co-authored-by: Krish Dholakia <krrishdholakia@gmail.com>
2026-02-02 19:20:14 -08:00
Harshit JainandGitHub 76a399ba69 feat(guardrails): implement team-based isolation guardrails mgmnt (#19889)
* feat(guardrails): implement team-based isolation guardrails mgmnt

* fix lint errors

* add allow_team_guardrail_config for admin permissions
2026-02-02 19:14:55 -08:00
Ishaan Jaffer c8f9af1758 fix mypy lint 2026-02-02 19:00:10 -08:00
Ishaan Jaffer 4e8c6d1b10 fix linting 2026-02-02 18:30:56 -08:00
Ishaan JaffGitHubgreptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
0ef506a54a Litellm docs mcp filtering semantic (#20316)
* init: SemanticMCPToolFilter

* init: SemanticToolFilterHook

* test_e2e_semantic_filter

* mock tests: test_semantic_filter_basic_filtering

* Update litellm/proxy/_experimental/mcp_server/semantic_tool_filter.py

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* refactor folder/file organization

* docs fix

* fix filter

* fix: filter_tools

* fix linting tool filrer

* initialize_from_config

* fix: _expand_mcp_tools

* _initialize_semantic_tool_filter

* working: async_post_call_response_headers_hook

* clean up semantic tool filter

* add _initialize_semantic_tool_filter

* build_router_from_mcp_registry

* _get_tools_by_names

* fiix config

* async_post_call_response_headers_hook

* docs mcp filter

* docs fix

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-02 18:29:07 -08:00
Ishaan JaffGitHubgreptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
079f49ff6a [Feat] - MCP Semantic Filtering Support (#20296)
* init: SemanticMCPToolFilter

* init: SemanticToolFilterHook

* test_e2e_semantic_filter

* mock tests: test_semantic_filter_basic_filtering

* Update litellm/proxy/_experimental/mcp_server/semantic_tool_filter.py

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* refactor folder/file organization

* docs fix

* fix filter

* fix: filter_tools

* fix linting tool filrer

* initialize_from_config

* fix: _expand_mcp_tools

* _initialize_semantic_tool_filter

* working: async_post_call_response_headers_hook

* clean up semantic tool filter

* add _initialize_semantic_tool_filter

* build_router_from_mcp_registry

* _get_tools_by_names

* fiix config

* async_post_call_response_headers_hook

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-02 18:28:53 -08:00
yuneng-jiang cf734cb586 Migrate Default Team settings to use reusable Model Select 2026-02-02 17:57:35 -08:00
Alexsander HamirandGitHub 1b9631d260 Add blog post: Achieving Sub-Millisecond Proxy Overhead (#20309) 2026-02-02 17:46:36 -08:00
yuneng-jiang 32b1ff7d11 option to hide community engagement buttons 2026-02-02 17:25:16 -08:00
yuneng-jiangandGitHub 8eba641190 Merge pull request #20299 from BerriAI/litellm_ui_allowed_routes_dropdown
[Feature] UI - SSO: Add Team Mappings
2026-02-02 17:17:54 -08:00
yuneng-jiangandGitHub 62993b5f0e Merge pull request #20305 from BerriAI/litellm_reset_spend_endpoint
[Feature] Key reset_spend endpoint
2026-02-02 16:54:01 -08:00
yuneng-jiangandGitHub cd154c4048 Merge pull request #20307 from BerriAI/litellm_ui_disable_global_guardrail
[Fix] UI  - Team Settings: Disable Global Guardrail Persistence
2026-02-02 16:53:08 -08:00
yuneng-jiang 2645d258cb fixing tests 2026-02-02 16:37:40 -08:00
yuneng-jiang 16f0b4942a team setting disable global guardrail fix 2026-02-02 16:34:23 -08:00
yuneng-jiang edfe2394b9 reset_spend endpoint 2026-02-02 15:52:30 -08:00
shin-bot-litellmandGitHub 0614ff9fda docs: add Prisma migration troubleshooting guide (#20300)
* docs: add Prisma migration troubleshooting guide

Add troubleshooting documentation for common Prisma migration errors
encountered when upgrading/downgrading LiteLLM proxy versions.

Covers:
- 'relation does not exist' errors after version rollback
- Blocked migrations from previous failures
- Migration state mismatch after version rollback
- General tips for prisma migrate resolve, db push, and migrate deploy

* docs: simplify prisma migration troubleshooting - focus on delete + restart
2026-02-02 14:39:18 -08:00
shin-bot-litellmandGitHub 31241416d4 feat: add base /scim/v2 endpoint for SCIM resource discovery (#20301)
Add the following SCIM v2 discovery endpoints per RFC 7643/7644:

- GET /scim/v2 - Base resource discovery (ListResponse of ResourceTypes)
- GET /scim/v2/ResourceTypes - List all supported resource types
- GET /scim/v2/ResourceTypes/{id} - Get a specific resource type (User/Group)
- GET /scim/v2/Schemas - List all supported schemas
- GET /scim/v2/Schemas/{uri} - Get a specific schema by URI

These endpoints are required by identity providers (Okta, Azure AD, etc.)
for SCIM resource discovery. Previously, GET /scim/v2 returned 404.

Also adds SCIMResourceType, SCIMSchema, and SCIMSchemaAttribute Pydantic
models to the SCIM types module.

Fixes #20295
2026-02-02 14:27:00 -08:00
yuneng-jiangandGitHub f1227ce5a8 Merge pull request #20111 from BerriAI/litellm_sso_map_teams
[Feature] SSO Config Team Mappings
2026-02-02 14:18:25 -08:00
yuneng-jiang 65c62ffb1b Adding tests 2026-02-02 14:16:50 -08:00
shin-bot-litellmandGitHub 923b1cfd92 fix: MCP "Session not found" error on VSCode reconnect (#20298)
* fix: strip stale mcp-session-id header to prevent 'Session not found' error loop

When VSCode reconnects to LiteLLM's MCP endpoint after a reload, it sends
a stale mcp-session-id header. The session was already cleaned up, causing
a 404 'Session not found' error. VSCode retries with the same stale ID,
creating an infinite error loop.

Before forwarding requests to the StreamableHTTP session manager, check if
the mcp-session-id header references a valid session. If the session doesn't
exist, strip the header so a new session is created automatically.

Fixes #20292

* refactor: extract stale session handling into _strip_stale_mcp_session_header helper
2026-02-02 14:15:31 -08:00