yucheng
dfc5ef70b4
test(e2e): retry a leaked video job until the guardrail sync deadline
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 22:47:14 +00:00
yucheng
a44befa8c5
test: skip avideo_generation in azure sdk client exhaustive check
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 22:47:14 +00:00
yucheng
8ffca3bd19
chore(ui): regenerate api types for video call types
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 22:47:14 +00:00
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
yujonglee
403b4be40e
Merge pull request #42311 from BerriAI/litellm_native_disk_cache
2026-09-21 15:43:58 -07:00
ryan-crabbe-berri
a776d0d722
Merge pull request #41561 from chopratejas/fix-responses-guardrail-custom-tool-output-writeback
...
fix(responses): patch custom_tool_call_output in place on guardrail write-back
2026-09-21 15:40:34 -07:00
kerry-berri
5c2c1766a4
Merge pull request #42349 from BerriAI/litellm-providers/price-sync-openrouter
...
chore(prices): sync OpenRouter prices: 3 models
2026-09-21 15:40:29 -07:00
yuneng-jiang
17f9f5c3e6
Merge pull request #42339 from BerriAI/litellm_stale_test_fix_budget_status_and_bad_db_url
...
test: fix stale budget-status and bad-database-url assertions
2026-09-21 15:38:55 -07: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
berriai-litellm-provider-info-sync[bot]
cf7988a2df
chore(prices): sync OpenRouter prices: 3 models
...
openrouter/~z-ai/glm-flash-latest: max_tokens, max_output_tokens, input_cost_per_token, output_cost_per_token, cache_read_input_token_cost
openrouter/deepseek/deepseek-v4-pro: input_cost_per_token, output_cost_per_token, cache_read_input_token_cost
openrouter/z-ai/glm-5.3-flash: max_tokens, max_output_tokens, input_cost_per_token, output_cost_per_token, cache_read_input_token_cost
2026-09-21 22:31:01 +00:00
Yujong Lee
2a3ae253d4
refactor(rust): fold disk arms into shared match patterns
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 22:14:22 +00:00
Mateo Wang
3d26a29a1a
Merge pull request #42283 from BerriAI/litellm_mid_stream_fallback_walks_full_list
...
fix(router): walk every entry of a fallback list after a mid-stream failure
2026-09-21 15:14:04 -07:00
Mateo Wang
7ae61b62ed
Merge pull request #42323 from BerriAI/litellm_stream_usage_keep_explicit_zero
...
fix(streaming): keep an explicit provider prompt_tokens=0 or completion_tokens=0 in streamed usage
2026-09-21 15:13:21 -07:00
Yujong Lee
f7b96c9ced
Merge origin/main into litellm_native_disk_cache
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 22:13:09 +00:00
ryan-crabbe-berri
f200d68309
Merge pull request #41560 from chopratejas/fix-responses-agentic-followup-duplicate-kwargs
...
fix(responses): stop agentic follow-up from passing request params twice
2026-09-21 15:12:18 -07:00
Mateo Wang
055b7314e0
Merge pull request #40121 from Atharva-Kanherkar/fix/mcp-responses-stream-single-lifecycle
...
fix(responses): stream one lifecycle across MCP auto-execute rounds
2026-09-21 15:11:57 -07:00
Mateo Wang
e7bff277a6
Merge pull request #40251 from BerriAI/litellm_decrease_anys_opus5_r5
...
refactor(types): remove 1,173 Any errors across 169 backend files
2026-09-21 15:11:44 -07:00
kerry-berri
0f47056d70
Merge pull request #42337 from BerriAI/litellm-providers/price-sync-openrouter
...
chore(prices): sync OpenRouter prices: 3 models
2026-09-21 15:10:09 -07:00
kerry-berri
39fd437013
Merge pull request #42338 from BerriAI/litellm-providers/price-sync-aws-bedrock
...
chore(prices): sync AWS Bedrock prices: 6 models [enrichment failed: AWS Bedrock, 4 held]
2026-09-21 15:10:04 -07:00
Yujong Lee
1827be1302
fix(cache-disk): absolutize store directory and stamp async expiry at write time
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 22:06:55 +00:00
yujonglee
844d24b095
Merge pull request #42321 from BerriAI/litellm_native_azure_blob_cache
...
feat(rust): native Azure Blob response cache backend
2026-09-21 15:06:55 -07:00
ryan-crabbe-berri
ddb236b7e2
Merge remote-tracking branch 'origin/main' into pr-41560
...
# Conflicts:
# tests/test_litellm/llms/custom_httpx/test_llm_http_handler.py
2026-09-21 15:04:57 -07:00
yujonglee
41adbdaa05
Merge pull request #42309 from BerriAI/litellm_rust_secrets_azure_key_vault
...
feat(rust): add Azure Key Vault secret manager backend
2026-09-21 15:04:10 -07:00
yuneng-jiang
29e9245024
Merge pull request #42294 from BerriAI/litellm_/litellm-db-migration-scope-98b60d
...
test(migrations): cover the release-to-release upgrade path
2026-09-21 15:03:55 -07:00
berriai-litellm-provider-info-sync[bot]
b305928422
chore(prices): sync AWS Bedrock prices: 6 models [enrichment failed: AWS Bedrock, 4 held]
...
minimax.minimax-m2: max_tokens, supports_vision, max_input_tokens, max_output_tokens, supports_audio_input, supports_response_schema, supports_function_calling
minimax.minimax-m2.1: max_tokens, supports_vision, max_output_tokens, supports_audio_input, supports_response_schema
minimax.minimax-m2.5: max_tokens, supports_vision, max_input_tokens, max_output_tokens, supports_audio_input, supports_response_schema
moonshot.kimi-k2-thinking: max_tokens, supports_vision, max_input_tokens, max_output_tokens, supports_audio_input, supports_response_schema, supports_function_calling
openai.gpt-oss-safeguard-120b: max_tokens, supports_vision, max_output_tokens, supports_audio_input, supports_response_schema, supports_function_calling
openai.gpt-oss-safeguard-20b: max_tokens, supports_vision, max_output_tokens, supports_audio_input, supports_response_schema, supports_function_calling
2026-09-21 22:01:14 +00:00
berriai-litellm-provider-info-sync[bot]
0eea01427d
chore(prices): sync OpenRouter prices: 3 models
...
openrouter/~deepseek/deepseek-v4-flash-latest: output_cost_per_token
openrouter/deepseek/deepseek-v4-flash-0731: output_cost_per_token
openrouter/deepseek/deepseek-v4-pro: input_cost_per_token, output_cost_per_token, cache_read_input_token_cost
2026-09-21 22:01:13 +00:00
Yuneng Jiang
5c68545104
test: fix stale budget-status and bad-database-url assertions
...
Two CI checks were asserting behaviour the proxy no longer has. Neither
was catching anything; both now fail for the right reason.
budget_exceeded (tests/otel_tests/test_e2e_budgeting.py)
bf804f5188 made 422 the default for budget refusals and added
budget_exceeded_status_code to restore 429 for callers that need it. The
e2e budget tests still asserted 429, so all six have been failing on a
status change that was deliberate. Assert 422, the documented default,
rather than reading litellm.budget_exceeded_status_code back — a test
that asks the code what it does would have passed straight through this
change and through the next one.
The helpers also caught bare Exception, so a connection error reached
`e.body` and surfaced as an AttributeError instead of a failed
assertion. Narrow both to openai.APIStatusError, which is what a refusal
actually raises (UnprocessableEntityError for 422, RateLimitError for
429), and let anything else propagate as itself.
test_bad_database_url (.circleci/config.yml)
The check required "Database setup failed after multiple retries", which
only the v1 resolver emits, OR uvicorn's "Application startup failed.
Exiting.". With v2 the default, the first branch is dead and the whole
assertion rests on an incidental uvicorn line that HEAD's run did not
emit at all.
Assert the behaviour instead of the wording: the container exits
non-zero, the log names the unreachable server (P1001), it never reaches
"Application startup complete", and it is not left running. The exit
code was previously discarded by `|| true`, so the one thing the job
most needed to check was never checked.
Verified by running the bad-DATABASE_URL container: exit 3, P1001
present, no startup-complete line, container stopped — the new check
passes and the old one passed only by the uvicorn line's accident.
2026-09-21 15:00:54 -07: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-berri
e7557ada57
fix(responses): list executed MCP calls as completed mcp_call items in the final output
2026-09-21 14:56:02 -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
yucheng-berri
e0e5b7924a
Merge pull request #42312 from BerriAI/litellm_bedrock_batch_s3_creds_leak
...
Register s3_access_key_id, s3_secret_access_key and s3_encryption_key_id as
LiteLLM-owned batch params so they are no longer forwarded to Bedrock as
additionalModelRequestFields (which 400s ordinary chat on a batch-configured
deployment), keep them on CredentialLiteLLMParams so the batch/file paths
still receive them, and redact the S3 credential key names in debug logs.
Resolves LIT-8290
Co-authored-by: yucheng <yucheng@berri.ai>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 14:50:54 -07:00
Mateo Wang
10d0d5acb2
Merge pull request #42314 from BerriAI/litellm_alerting_batch_keeps_distinct_alerts
...
fix(alerting): deliver every distinct alert queued in one flush window
2026-09-21 14:49:54 -07:00
mateo-berri
b0305d0a31
test(router): call both mid-stream fallback attempt functions directly
...
The router coverage gate wants every router.py function reached by name from
a router test. The two per-endpoint attempt functions were only reached through
their callers, so each now has a direct test proving the per-request controls
carrier never reaches the provider call and every hop's stream comes back wrapped.
2026-09-21 14:48:42 -07:00
Yujong Lee
63c16fe5ac
Merge origin/main into litellm_native_disk_cache
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:47:35 +00:00
Yujong Lee
b926cf998a
chore: merge main into litellm_rust_secrets_azure_key_vault
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:47:21 +00:00
Yujong Lee
bc641f01ae
Merge remote-tracking branch 'origin/main' into litellm_native_azure_blob_cache
2026-09-21 21:47:19 +00:00
yujonglee
ebb4d230f8
Merge pull request #42300 from BerriAI/litellm_python_interop_foundation
...
fix(rust): preserve Python settings semantics at the native boundary
2026-09-21 14:46:37 -07:00
yujonglee
162e5c4338
Merge pull request #42303 from BerriAI/litellm_rust_secrets_cyberark
...
feat(rust): add CyberArk Conjur secret manager backend
2026-09-21 14:45:39 -07:00
Yujong Lee
4845beddc0
ci(rust): raise native wheel size gate to 40 MB
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:44:26 +00:00
Yujong Lee
f43f9012f1
fix(rust): handle disk cache topology
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:44:24 +00: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
Yujong Lee
2f54f6078d
chore: merge main into litellm_native_azure_blob_cache
...
Combines the Redis cluster bridge changes with the Azure Blob variant and
keeps account URL query parameters when building the container URL
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:43:08 +00:00
kerry-berri
75dc9082df
Merge pull request #42066 from BerriAI/litellm_cost_shard_batches_realtime
...
test(integration): batch and realtime cost cases
2026-09-21 14:43:01 -07:00
mateo-berri
51eaad657b
fix(proxy): look the entity spend table up lazily so only the selected batcher table is touched
2026-09-21 14:42:23 -07:00
Yujong Lee
98e9e8c602
Merge origin/main into litellm_native_disk_cache
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:42:10 +00:00
kerry-berri
5e746d95dc
Merge pull request #42333 from BerriAI/litellm-providers/price-sync-openrouter
...
chore(prices): sync OpenRouter prices: 1 model
2026-09-21 14:41:07 -07:00
kerry
ebad623079
Merge remote-tracking branch 'origin/main' into litellm_cost_shard_batches_realtime
2026-09-21 21:34:05 +00:00
kerry-berri
29792c45a9
Merge pull request #42060 from BerriAI/litellm_cost_shard_proxy_behaviour
...
test(integration): proxy behaviour cost cases
2026-09-21 14:33:47 -07:00
Yujong Lee
c7c0afb1f0
ci(rust): raise the native wheel size gate to 40 MB
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:33:06 +00:00
yucheng-berri
506cecfb0b
Merge pull request #42267 from BerriAI/litellm_otel_v2_langfuse_ocr_output
...
fix(otel v2): map OCR page markdown onto the generation output
2026-09-21 14:33:02 -07:00