yucheng
9ae2fe2ea4
fix(guardrails): scan video prompts for key-attached guardrails on /v1/videos
...
/v1/videos dispatches call_type avideo_generation, which CallTypes did not
know and no guardrail translation handler covered, so the unified guardrail
hook returned the request unscanned. Add the video call types and an OpenAI
video guardrail translation package that scans the prompt for create, remix,
edit and extension requests
Resolves LIT-6685
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 22:47:14 +00:00
joshua-berri
3353c57e76
Merge pull request #42292 from BerriAI/litellm_extract_mcp_operation_context_7741
...
refactor(mcp): extract explicit operation context and dispatch
2026-09-21 22:38:07 +00:00
Mateo Wang
7b8bc54237
Merge pull request #42036 from BerriAI/litellm_team_membership_lookup_fail_closed
...
fix(auth): fail closed when the team membership lookup hits a db outage
2026-09-21 14:58:46 -07:00
Mateo Wang
4b54897b36
Merge pull request #42315 from BerriAI/litellm_scim_delete_evict_user_cache
...
fix(proxy): evict the cached user row when SCIM or /user/delete removes a user
2026-09-21 14:51:53 -07:00
Yassin Kortam
17b56cc4ca
Merge pull request #41505 from BerriAI/litellm_keep_config_models_on_empty_config_read
...
fix(proxy): keep config-defined deployments when a config read returns no model_list
2026-09-21 16:43:15 -05:00
yucheng-berri
79d6e236f9
Merge pull request #39805 from BerriAI/litellm_mcp_admin_api_preserve_oauth_scopes
...
fix(mcp): keep oauth scopes in admin api credential redaction
2026-09-21 14:29:13 -07:00
Yassin Kortam
da1ccaec67
Merge pull request #40322 from BerriAI/litellm_lit7351_reservation_lease_renewal
...
fix(proxy): renew budget reservation counter TTL while the request is in flight
2026-09-21 16:07:14 -05:00
yuneng-jiang
5e0512b611
Merge pull request #42291 from BerriAI/litellm_lit7597_detach_credential
...
fix(proxy): detach stored credential when model editor selects None
2026-09-21 14:05:28 -07:00
kerry-berri
f5f53a4cf4
Merge pull request #40429 from BerriAI/litellm_upgrade_banner_changelog_stats
...
feat(ui): add upgrade banner with latest release changelog stats
2026-09-21 13:56:05 -07:00
mateo-berri
d8ce49de06
fix(proxy): evict the cached user row when SCIM or /user/delete removes a user
2026-09-21 13:51:26 -07:00
Mateo Wang
662e5b6e32
Merge pull request #42284 from BerriAI/litellm_qianwen_ai_platform_rename
...
fix: rename the mainland China brand to Qianwen AI Platform
2026-09-21 13:18:20 -07:00
Joshua Valluru
ef67412e50
fix(mcp): keep OAuth prefetch failure logs free of caller data
2026-09-21 13:13:20 -07:00
kerry
9611af7817
Merge remote-tracking branch 'origin/main' into litellm_upgrade_banner_changelog_stats
2026-09-21 20:06:41 +00:00
joshua-berri
3549143bcd
Merge pull request #34919 from BerriAI/litellm_fix_mcp_peek_utf8_boundary
...
fix(mcp): handle split UTF-8 routing previews
2026-09-21 19:56:50 +00:00
yucheng-berri
884407dad4
Merge pull request #42119 from BerriAI/litellm_default_policy_attachments
...
* feat(policy_engine): add default fallback policy attachments
A policy attachment with default: true applies only when no non-default
attachment matches the request, so an opt-in guardrail policy replaces the
fallback one instead of running alongside it. Supported in config.yaml,
/policies/attachments, the Admin UI Attachments tab and the resolver
(matched_via is prefixed with default:).
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
* fix(policy_engine): ignore inapplicable non-default attachments when selecting defaults
A non-default attachment whose policy is missing or whose condition does not match the request
no longer suppresses default attachments. The impact preview marks default counts as an upper bound
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
* refactor(policy_engine): accept any sequence of policy names in condition matching
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
* fix(policy_engine): resolve policies once and apply fallback semantics in get_matching_policies
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
---------
Co-authored-by: yucheng <yucheng@berri.ai>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 12:55:42 -07:00
mateo-berri
bd8df0ed8f
test: keep the Qwen brand missing-key tests off the network and split the ChatGPT fields test back out
2026-09-21 12:54:23 -07:00
Mateo Wang
2e35ae1065
Merge pull request #42049 from BerriAI/litellm_mantle_native_anthropic_messages
...
feat(bedrock_mantle): serve /v1/messages for Claude models on Mantle's native Anthropic Messages API
2026-09-21 12:52:16 -07:00
yuneng
d69eb7f095
fix(proxy): fall back to the credentials table when validating litellm_credential_name
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 19:47:27 +00:00
tin-berri
457b01e96d
Merge pull request #42055 from BerriAI/litellm_prompt_caching_request_table
...
feat(ui): show prompt caching requests and net savings
2026-09-21 12:45:11 -07:00
Joshua Valluru
e208b4e89e
fix(mcp): keep explicit legacy sampling callers isolated
2026-09-21 12:40:12 -07:00
joshua-berri
211ff96943
Merge pull request #39189 from BerriAI/litellm_mcp_list_pagination_lit5594
...
fix(mcp): paginate prompt and resource discovery
2026-09-21 19:35:17 +00:00
Joshua Valluru
d2f30a77fd
test(mcp): preserve toolset scope across explicit context
2026-09-21 12:31:48 -07:00
Joshua Valluru
a835e75620
fix(mcp): handle split UTF-8 routing previews in place
2026-09-21 12:24:19 -07:00
Joshua Valluru
1098604ed6
refactor(mcp): extract explicit operation context and dispatch
2026-09-21 12:24:15 -07:00
yuneng
177021b2ac
fix(proxy): gate explicit credential detach only on PATCH /model/{id}/update
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 19:22:57 +00:00
yuneng
10d343c3ee
fix(proxy): detach stored credential when model editor selects None (LIT-7597)
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 19:22:57 +00:00
Joshua Valluru
bf5dff8986
chore: sync MCP UTF-8 fix with main
2026-09-21 12:15:57 -07:00
mateo-berri
cf00ab1bf8
fix: rename the mainland China brand to Qianwen AI Platform
2026-09-21 12:13:43 -07:00
Yassin Kortam
5673f67727
Merge pull request #42022 from BerriAI/litellm_redis_durable_spend_log_buffer
...
fix(proxy): park requeued spend logs in Redis so they survive a pod restart during a DB outage
2026-09-21 14:01:34 -05:00
mateo-berri
4eed951e6f
Merge commit '36b8be7d81b' into litellm_mantle_native_anthropic_messages_b4dc
...
# Conflicts:
# tests/test_litellm/llms/anthropic/experimental_pass_through/messages/test_anthropic_experimental_pass_through_messages_handler.py
2026-09-21 12:00:37 -07:00
moe-berri
a83773cfa5
Merge pull request #41886 from BerriAI/litellm_jev_autorouter_launch_1789767495
...
feat(auto-router): add JEV classifier alongside LLM classifier
2026-09-21 11:55:44 -07:00
Joshua Valluru
1499d84f5a
fix(mcp): paginate optional discovery lists
2026-09-21 11:37:55 -07:00
kerry
4595d18047
Merge remote-tracking branch 'origin/main' into pr40429
2026-09-21 17:42:28 +00:00
ryan-crabbe-berri
cc1a3157d3
Merge pull request #42121 from BerriAI/litellm_utils_model_info_lookup
...
feat(proxy): add GET /utils/model_info to look up cost map info for unregistered models
2026-09-21 10:42:28 -07:00
yucheng
e647255909
fix(policy_engine): resolve policies once and apply fallback semantics in get_matching_policies
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 17:36:03 +00:00
ryan-crabbe-berri
5573265013
Merge pull request #41906 from BerriAI/litellm_team_member_budget_source_reset
...
feat(team): show whether a member follows the team default budget and allow resetting to it
2026-09-21 10:34:08 -07:00
Moe Khalil
bb46e8b774
chore(auto-router): merge main and preserve JEV configuration
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 17:16:18 +00:00
yucheng-berri
51ae7ab1fd
Merge pull request #41588 from BerriAI/litellm_ui_session_personal_key_budget_ceiling
...
* fix(key_generate): use user's budget for UI session personal keys
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
* Update litellm/proxy/management_endpoints/key_management_endpoints.py
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* fix(user_update): evict cached user on max_budget change so the personal key ceiling refreshes on every worker
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: jesus-berri <jesus@berri.ai>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: yucheng <yucheng@berri.ai>
2026-09-21 10:11:29 -07:00
yuneng-jiang
da76ba83ad
Merge pull request #42105 from BerriAI/litellm_flip_v2_migration_resolver_default
...
feat(proxy): default to the v2 migration resolver
2026-09-21 10:05:59 -07:00
Yassin Kortam
def37c6532
Merge pull request #42097 from BerriAI/litellm_budget_exceeded_422
...
fix(proxy): return 422 instead of 429 for BudgetExceededError
2026-09-21 08:35:30 -05:00
Devin AI
53fe97975f
Merge remote-tracking branch 'origin/main' into litellm_ui_session_personal_key_budget_ceiling
...
LiteLLM Rust / rust-lint (push) Has been cancelled
LiteLLM Rust / rust-test (push) Has been cancelled
LiteLLM Rust / rust-wheel (push) Has been cancelled
Terraform Modules / fmt, validate, test (aws) (push) Has been cancelled
Terraform Modules / fmt, validate, test (gcp) (push) Has been cancelled
Terraform Provider / gofmt, vet, build, test (push) Has been cancelled
Terraform Provider / Provider endpoints vs proxy OpenAPI schema (push) Has been cancelled
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
# Conflicts:
# litellm/proxy/management_endpoints/internal_user_endpoints.py
2026-09-20 19:40:05 +00:00
joshua-berri
c25601fb5f
Merge pull request #42064 from BerriAI/litellm_fix_jwt_deactivated_users_8217
...
fix(auth): reject deactivated JWT users and refresh cached status
2026-09-20 19:35:53 +00:00
Moe Khalil
93dddbf047
chore(auto-router): merge main budget fix into JEV classifier
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-20 17:16:48 +00:00
moe-berri
1e161f516c
Merge pull request #41879 from BerriAI/litellm_jev_test_budget_1789764884
...
fix(proxy): enforce virtual key budgets for JEV test routing
2026-09-20 10:10:21 -07:00
Moe Khalil
8505d10017
chore(auto-router): merge main into JEV launch branch
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-20 14:53:05 +00:00
ryan
59f98d5363
feat(proxy): add GET /utils/model_info to look up cost map info for unregistered models
2026-09-20 10:30:26 +00:00
kerry
3777b0b0d9
test(proxy): document why the release info route check asserts by not raising
...
LiteLLM Rust / rust-lint (push) Has been cancelled
LiteLLM Rust / rust-test (push) Has been cancelled
LiteLLM Rust / rust-wheel (push) Has been cancelled
Terraform Provider / gofmt, vet, build, test (push) Has been cancelled
Terraform Provider / Provider endpoints vs proxy OpenAPI schema (push) Has been cancelled
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-20 09:54:29 +00:00
yucheng
ef55eb6bdf
fix(policy_engine): ignore inapplicable non-default attachments when selecting defaults
...
A non-default attachment whose policy is missing or whose condition does not match the request
no longer suppresses default attachments. The impact preview marks default counts as an upper bound
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-20 09:07:08 +00:00
yassin
b415f2263a
test(proxy): restore pipeline methods on expiring Redis fake after merge
...
LiteLLM Rust / rust-lint (push) Has been cancelled
LiteLLM Rust / rust-test (push) Has been cancelled
LiteLLM Rust / rust-wheel (push) Has been cancelled
Terraform Modules / fmt, validate, test (aws) (push) Has been cancelled
Terraform Modules / fmt, validate, test (gcp) (push) Has been cancelled
Terraform Provider / gofmt, vet, build, test (push) Has been cancelled
Terraform Provider / Provider endpoints vs proxy OpenAPI schema (push) Has been cancelled
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-20 08:59:46 +00:00
yassin
14cb7c65c2
Merge remote-tracking branch 'origin/main' into litellm_lit7351_reservation_lease_renewal
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
# Conflicts:
# litellm/proxy/spend_tracking/budget_reservation.py
2026-09-20 08:53:59 +00:00