Yassin Kortam
4d526ad747
Merge pull request #41216 from BerriAI/litellm_cache_custom_hf_tokenizer
...
fix(utils): cache custom HuggingFace tokenizers across /utils/token_counter requests
2026-09-15 12:51:18 -07:00
Yassin Kortam
d5b96648ea
Merge pull request #41161 from BerriAI/litellm_headroom_protect_cached_prefix
...
fix(headroom): protect the cached prefix through the last cache_control breakpoint
2026-09-15 12:49:50 -07:00
Yassin Kortam
c190f0f4b9
Merge pull request #41125 from BerriAI/litellm_alert_5xx_http_exceptions
...
fix(alerting): send llm_exceptions Slack alert for 5xx HTTPException and ProxyException
2026-09-15 12:48:58 -07:00
Yassin Kortam
a7b894f91b
Merge pull request #41271 from BerriAI/litellm_org_zero_max_budget
...
fix(proxy): enforce organization budgets when max_budget is 0
2026-09-15 12:47:18 -07:00
Yassin Kortam
60808520df
Merge pull request #40904 from BerriAI/litellm_jwt_agent_id_claim
...
feat(proxy): bind JWT claims to registered agents via agent_id_jwt_field
2026-09-15 12:46:18 -07:00
Yassin Kortam
1ca4579375
Merge pull request #41178 from BerriAI/litellm_request_override_selector_callbacks
...
fix(router): bind per-request routing_strategy override selectors to the request's callbacks
2026-09-15 12:39:20 -07:00
Mateo Wang
d3929287fe
Merge pull request #41189 from BerriAI/litellm_per_turn_control_beta
...
fix(anthropic): add the per-turn-control beta when a message carries output_config
2026-09-15 11:53:01 -07:00
Yassin Kortam
501be3143d
fix(proxy): enforce organization budgets when max_budget is 0
...
_organization_max_budget_check returned early whenever org_max_budget
was <= 0, so an organization with an explicit max_budget of 0 was
treated as unlimited instead of zero allowance. Key, team, and user
budget checks already skip only on None; align organization budgets
with that convention.
validate_team_org_change had the same defect in a different shape: it
used a truthy check on the org's max_budget when validating a team
move, so an explicit 0 there silently skipped the guard too.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-15 11:49:05 -07:00
mateo-berri
f490172338
test(anthropic): drop docstrings and wrap a long line in the per-turn-control tests
2026-09-15 11:39:01 -07:00
Yassin Kortam
41b5d47c71
Merge pull request #41144 from BerriAI/litellm_responses_bridge_filters_unknown_params
...
fix(responses): filter bridged kwargs like the native Responses path
2026-09-15 11:32:38 -07:00
Yassin Kortam
837423237a
Merge pull request #36775 from MvdB/litellm_presidio_new_entities
...
feat(guardrails): add new upstream presidio pii entities including german set
2026-09-15 11:26:21 -07:00
yujonglee
33000d7e25
Merge pull request #41180 from BerriAI/litellm_rust_bridge_native_stub
...
build(rust-bridge): add typed _native stub and validate it with mypy.stubtest
2026-09-15 11:25:56 -07:00
tin-berri
3ac79757f4
Merge pull request #41175 from BerriAI/litellm_team_member_auto_routers
...
feat(auto-router): allow opted-in team members to manage their routers
2026-09-15 11:19:58 -07:00
Yassin Kortam
dfcefd8298
Merge pull request #41256 from BerriAI/litellm_team_model_access_error_lists_all_models
...
fix(proxy): list directly assigned team models in model access errors
2026-09-15 11:16:25 -07:00
yassin
cbd72ff6d8
Merge remote-tracking branch 'origin/main' into litellm_responses_bridge_filters_unknown_params
2026-09-15 18:15:19 +00:00
ryan-crabbe-berri
8b6c398b92
Merge pull request #41039 from BerriAI/litellm_bulk_user_delete
...
feat(proxy): add POST /user/bulk_delete and POST /team/bulk_member_delete
2026-09-15 11:12:40 -07:00
mateo-berri
ce40b5773d
Merge remote-tracking branch 'origin/main' into litellm_per_turn_control_beta
2026-09-15 11:11:52 -07:00
ryan
6ea1085bc3
Merge branch 'main' into litellm_bulk_user_delete
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-15 18:03:15 +00:00
mateo-berri
c0fd8f6012
fix(anthropic): merge a case-variant Anthropic-Beta client header instead of clobbering it
2026-09-15 11:03:10 -07:00
ryan-crabbe-berri
08b433267e
Merge pull request #40917 from BerriAI/litellm_credential_conflict_409
...
fix(credentials): answer 409 on a credential name collision, make Terraform adoption opt-in
2026-09-15 10:58:26 -07:00
ryan-crabbe-berri
6dcca8c4ae
Merge pull request #41028 from BerriAI/litellm_bulk_new_user
...
feat(proxy): add POST /management/v1/users/bulk for batched user and team membership creation
2026-09-15 10:57:46 -07:00
ryan-crabbe-berri
81806f33cf
fix(credentials): answer 409 on a name collision, let PATCH resolve values from model_id
...
POST /credentials let a duplicate name hit the unique index and handed back
Prisma's "Unique constraint failed" as a 500, so callers string-matched that
message to tell a caller mistake from a server fault. The unique violation now
maps to a 409 whose message names the PATCH route, two concurrent creates of
one name agree on it, and the detection lives in a repository helper the five
hand-rolled copies can move onto later
PATCH /credentials/{name} took a CredentialItem body, so the model_id the
Terraform adopt path sent was dropped. It now accepts UpdateCredentialItem and
shares the deployment lookup with create. Both handlers take the router as a
FastAPI dependency instead of reading the proxy global, which is what the
tests override
2026-09-15 10:41:43 -07:00
Devin AI
9fce6e1989
test(pricing): let synced GovCloud Bedrock rows cite the AWS price list
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-15 17:09:12 +00:00
Devin AI
79450121f8
test(proxy): document access group test seam
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-15 17:00:11 +00:00
tin-berri
3ad9a7f336
Merge pull request #41174 from BerriAI/litellm_tier_model_affinity
...
fix(router): preserve session model choice within each complexity tier
2026-09-15 09:54:53 -07:00
Devin AI
56d0f953f5
fix(proxy): list directly assigned team models in model access errors
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-15 16:33:41 +00:00
Mateo Wang
c8114ba41f
Merge pull request #40921 from BerriAI/litellm_unified_key_policy_hook
...
feat(proxy): unified custom_key_policy hook for key generate, update and regenerate
2026-09-15 06:34:28 -07:00
Mateo Wang
9496f16f12
Merge pull request #41173 from BerriAI/litellm_realtime_health_check_credential_name
...
fix(health): resolve litellm_credential_name in realtime health checks
2026-09-15 05:24:29 -07:00
mateo-berri
1f2d050386
Merge remote-tracking branch 'origin/main' into litellm_unified_key_policy_hook
2026-09-15 05:11:29 -07:00
yassin
b64e430e93
test(proxy): record custom tokenizer loads with a mock instead of a mutable list
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-15 09:37:53 +00:00
mateo-berri
87b630429d
fix(realtime): send openai and xai health check keys as bearer tokens
2026-09-15 02:20:09 -07:00
yassin
0c611e63c8
fix(utils): cache custom HuggingFace tokenizers across /utils/token_counter requests
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-15 09:12:49 +00:00
Mateo Wang
3ed6c19b8d
Merge pull request #40915 from BerriAI/litellm_internal_copy_37075
...
fix(vertex-live): bill Gemini Live sessions end to end (internal copy of #37075 )
2026-09-15 02:06:49 -07:00
mateo-berri
1771255b32
Merge remote-tracking branch 'origin/main' into litellm_realtime_health_check_credential_name
2026-09-15 01:17:31 -07:00
mateo-berri
d5938ff886
Merge remote-tracking branch 'origin/main' into litellm_bedrock_wif_session_policy_coverage
2026-09-15 01:16:45 -07:00
Mateo Wang
80b9ed4f2c
Merge pull request #41191 from BerriAI/litellm_router_test_cap_resets_per_fallback_hop
...
fix(router): count num_retries_per_request across fallback hops
2026-09-15 01:13:41 -07:00
Mateo Wang
e5cb8b7534
Merge pull request #40984 from BerriAI/litellm_anthropic_guardrail_system_and_tool_use
...
fix(guardrails): scan the Anthropic top-level system prompt and tool_use arguments
2026-09-15 00:55:42 -07:00
mateo-berri
1b040af414
test(router): type the retry-cap tests this PR adds or touches
2026-09-15 00:34:38 -07:00
mateo-berri
4f27573424
merge: origin/main into litellm_internal_copy_37075
2026-09-15 00:34:18 -07:00
tin-berri
feab83aae1
Merge pull request #41186 from BerriAI/litellm_statusline_router_cost_label
...
fix(cli): label savings cost bars with the auto-router name
2026-09-15 00:32:08 -07:00
Tin Chi Lo
81340439fc
fix(router): preserve session model choice within each complexity tier
2026-09-15 00:09:17 -07:00
mateo-berri
92714cac0c
fix(guardrails): validate tool_use rewrites before writing text rewrites back
...
A guardrail that rewrites text and hands back tool_use arguments that are
not a JSON object used to leave the text rewrite applied when the request
was rejected, so failure logging saw a half-rewritten request. Every
rejection now happens before any write to system or messages.
2026-09-15 00:07:45 -07:00
mateo-berri
f80cb5cb46
fix(router): ignore planted request_retry_count seeds and cover the rust OCR cap path
...
The router clamps a negative request_retry_count found in request metadata before counting a failure, and the proxy strips a client-supplied request_retry_count with the other router-reserved metadata fields. The rust OCR lifecycle test that trips the per-request cap now plants request_retry_count instead of attempted_retries, which the cap no longer reads since the previous commit
2026-09-15 00:04:02 -07:00
yuneng-jiang
7e3ca1421e
Merge pull request #41194 from BerriAI/litellm_stream_tool_contract
...
test(e2e): verify streamed answers and tool continuation
2026-09-15 00:01:49 -07:00
Tin Chi Lo
109ca70f66
feat(auto-router): allow opted-in team members to manage their routers
2026-09-14 23:56:55 -07:00
Tin Chi Lo
d0fdf1c237
fix(cli): show only the routed model in the footer header
2026-09-14 23:54:50 -07:00
Tin Chi Lo
4fca818f34
fix(cli): align wide and combining Unicode cost labels
2026-09-14 23:45:48 -07:00
tin-berri
4805c6d51f
Merge pull request #41072 from BerriAI/litellm_lit5201_provider_split
...
fix(router): honor team and key provider weights
2026-09-14 23:41:45 -07:00
Mateo Wang
1ce66e98a2
Merge pull request #40989 from BerriAI/litellm_responses_bridge_hoist_additional_tools
...
fix(responses): hoist Codex additional_tools input items into the chat bridge tools
2026-09-14 23:33:38 -07:00
Tin Chi Lo
398300c4e7
fix(router): honor team and key provider weights
2026-09-14 23:31:52 -07:00