mateo-berri
9662b2a35c
refactor(responses): type the websocket test parameters and suppress the error-frame send explicitly
2026-09-18 18:35:48 -07:00
Mateo Wang
29bdd1ab47
Merge pull request #41905 from BerriAI/litellm_websearch_failed_search_error_block
...
fix(websearch_interception): surface a failed search as a web_search_tool_result_error block and end the turn
2026-09-18 18:34:11 -07:00
kerry
05cefb1480
fix(cost_calc): coerce string fireworks rates and drop the match fall-through
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 01:33:41 +00:00
kerry-berri
fc0b37ff5d
Merge pull request #41904 from BerriAI/litellm_bedrock_batch_retrieve_sigv4_over_env_bearer
...
fix(bedrock): sign batch retrieve and cancel with deployment credentials when AWS_BEARER_TOKEN_BEDROCK is set
2026-09-18 18:33:10 -07:00
kerry
77f6166c39
test(integration): fold scenario client into upstream module
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 01:30:24 +00:00
ryan-crabbe-berri
4b4042c5d1
Merge pull request #41916 from BerriAI/litellm_team_admin_projects_permission
...
feat(proxy): let team admins manage projects via team_admin_editable_team_fields
2026-09-18 18:26:25 -07:00
mateo-berri
06a5594bb6
fix(claude_code_gateway): mint the bearer before consuming the device code so a signing failure never spends the login
2026-09-18 18:25:55 -07:00
kerry
99d91d7205
fix(xai): reject non-success stt responses before parsing
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 01:22:25 +00:00
mateo-berri
b1b7af884a
fix(websearch): forward the deployment api_base to agentic follow-up calls on /v1/messages
2026-09-18 18:19:48 -07:00
kerry
8836410c4c
test(cost_calc): drop the unused deepcopy import
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 01:18:42 +00:00
kerry
c9cd666b36
refactor(cost_calc): move the fireworks cache-read default under litellm/llms
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 01:18:09 +00:00
ryan-crabbe-berri
5c665827f3
Merge pull request #41910 from BerriAI/litellm_issue_fixed_comment
...
ci(issues): comment which release carries the fix when a pull request closes an issue
2026-09-18 18:17:51 -07:00
yucheng
4e6bf1cfe3
fix(utils): skip null tool_calls when formatting prompts for moderation hooks
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 01:11:02 +00:00
mateo-berri
fcc7efa4db
fix(responses): forward the routed input and report routing rejections on the websocket
2026-09-18 18:10:26 -07:00
mateo-berri
17c519c40a
test(custom_httpx): pass the token resolver and two-argument client factory in the realtime bridge test
2026-09-18 18:09:33 -07:00
Yujong Lee
157fa58947
fix(rust): leave calls with a custom URL policy on the Python route
...
litellm.user_url_validation and litellm.user_url_allowed_hosts are only implemented by the Python document fetcher, so an allowlisted internal document was rejected by the Rust route's network policy. The bridge now declines when either is changed from its default
2026-09-18 18:09:14 -07:00
mateo-berri
ca8062e506
fix(claude_code_gateway): keep the device secret out of the browser URL and validate the login before claiming it
2026-09-18 18:07:21 -07:00
mateo-berri
cc2db38871
chore(proxy): keep the OpenAPI snapshot as CI generates it
2026-09-18 18:07:20 -07:00
kerry
1b305cd6b9
fix(cost_calc): default fireworks cached input to the documented 50% discount when the map has no cache-read rate
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 01:07:07 +00:00
kerry
a1560936f7
fix(timing): use epoch math for detailed pre-processing and drop client-supplied timing windows
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 01:06:53 +00:00
kerry
a124e079c3
refactor(xai): use derived provider set for transcription routing
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 01:06:09 +00:00
Yassin Kortam
15f63c33bf
Merge pull request #41911 from BerriAI/litellm_rate_limit_reset_time_utc
...
fix(rate_limiter): render the 429 reset time in UTC as labelled
2026-09-18 18:05:45 -07:00
ryan
f3bbeed82f
feat(proxy): let team admins manage projects via team_admin_editable_team_fields
...
Adds a projects entry to the team_admin_editable_team_fields setting. When set, team admins (legacy admins list or members_with_roles role admin) can call /project/new and /project/update for the teams they administer. The two routes join self_managed_routes so the endpoint check runs instead of the route gate's blanket 401. /project/delete stays proxy admin only
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 01:02:50 +00:00
mateo-berri
5e0ad06725
docs(websearch): drop the docstring paragraphs the fix reworded
2026-09-18 18:02:25 -07:00
kerry
80b0ea6a2f
test(xai): narrow raises match for missing api key
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 01:00:53 +00:00
kerry
4565bbee2f
style(xai): ruff format stt transformation
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 00:58:44 +00:00
Yujong Lee
8d2476465f
fix(rust): honor environment proxies by default and name the cause in transport errors
...
Python's aiohttp transport reads HTTP(S)_PROXY on every request unless disable_aiohttp_trust_env is set, so the Rust clients now do the same instead of requiring aiohttp_trust_env. Transport error messages include reqwest's source chain, so a rejected certificate or refused connection is no longer reported as just 'error sending request'
2026-09-18 17:58:07 -07:00
kerry
a15b0fa6d2
test(integration): tidy xdist collection bookkeeping
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 00:54:45 +00:00
kerry-berri
f71129f65b
Merge pull request #41847 from BerriAI/litellm_lit_8128_off_peak_pricing_schema
...
fix(schema): classify off_peak_pricing as a structured object in the model prices schema generator
2026-09-18 17:53:13 -07:00
kerry
6f54ad5166
fix(xai): parse integer speaker ids and simplify stt form build
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 00:53:02 +00:00
kerry
6eb67a8423
test(integration): run the cost shard with xdist workers
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 00:50:29 +00:00
kerry
e52eea84e6
test(integration): serve scripted wires from the shared upstream
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 00:50:26 +00:00
mateo-berri
c65f11bf0f
style(websearch): wrap three long lines in the interception handler
2026-09-18 17:50:22 -07:00
kerry
6b0ad3bed3
feat(xai): add speech-to-text via /v1/audio/transcriptions
...
Route xai audio transcription through a provider config hitting POST
https://api.x.ai/v1/stt instead of the openai-compatible chat handler
which targets /audio/transcriptions. Supports language, diarize,
keyterm, filler_words and other provider fields as passthrough kwargs
Resolves LIT-8153
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 00:49:34 +00:00
Yassin Kortam
6d8a960e1d
Merge pull request #41667 from BerriAI/litellm_mcp_client_allowlist
...
feat(mcp): allowlist MCP client applications at the gateway
2026-09-18 17:48:36 -07:00
kerry
d74e1bb445
fix(timing): union provider timing windows and anchor detailed pre-processing at receive time
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 00:48:17 +00:00
kerry-berri
ffd20f0c4c
Merge pull request #41902 from BerriAI/litellm_backfill_reseller_gemini_entries
...
chore(model_info): backfill reseller Gemini entries from provider catalogs and prune retired ids
2026-09-18 17:46:41 -07:00
mateo-berri
f213855558
refactor: drop the docstrings from the websocket relay and its tests
2026-09-18 17:44:32 -07:00
mateo-berri
3911d62bbe
fix(vertex_ai): prune a discarded turn's id once its marker is delivered
2026-09-18 17:44:28 -07:00
Mateo Wang
a6e3a72ed8
Merge pull request #41870 from BerriAI/litellm_bedrock_openai_gpt_min_max_tokens
...
fix(bedrock): clamp maxTokens to the 16-token minimum for OpenAI GPT and xAI Grok models on Converse
2026-09-18 17:44:18 -07:00
kerry
99659e9e7e
test(bedrock): drop redundant recorder docstring
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 00:43:51 +00:00
yassin
aa0fb915d0
fix(rate_limiter): render the 429 reset time in UTC as labelled
...
The proxy rate limiters formatted the reset epoch with a naive datetime.fromtimestamp, which reads the process timezone, and then appended a literal UTC suffix. A proxy running outside UTC returned a local wall-clock time labelled as UTC in the 429 body and reset_at header. Convert with tz=timezone.utc in both the request limiter and the batch limiter so the label is true
Co-authored-by: Priyansh Nandwana <nandwana.priyansh103@gmail.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 00:40:51 +00:00
kerry
7208e310f0
fix(schema): annotate new off_peak_pricing constants with Final
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 00:39:57 +00:00
Yujong Lee
a3aceec2f8
fix(rust): match Python proxy, ssl_verify and client expiry behavior in the http pool
...
Honor environment proxies whenever Python would use httpx (sync calls, HTTP/2, aiohttp disabled), apply the per-call ssl_verify argument, ignore empty or missing SSL env values the way http_handler.py does, expire pooled clients after an hour so rotated certificates reload, keep the client certificate off media downloads, and decline instead of raising when a litellm global has an unexpected type
2026-09-18 17:37:08 -07:00
ryan-crabbe-berri
a20698f802
ci(issues): comment which release carries the fix when a pull request closes an issue
2026-09-18 17:37:02 -07:00
mateo-berri
8b1f78fa08
fix(vertex_ai): drop a cleared turn's queued transcripts and carry its billed seconds
2026-09-18 17:30:57 -07:00
Yujong Lee
988676a0b8
test(rust): parse the settings contract through Python so the bridge keeps to the interop boundary
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 00:30:43 +00:00
mateo-berri
50629ff5ca
Merge branch 'main' of https://github.com/BerriAI/litellm into litellm_jwt_token_exchange_grant
...
# Conflicts:
# tests/test_litellm/proxy/auth/test_auth_checks.py
2026-09-18 17:30:38 -07:00
Mateo Wang
cda022ca68
Merge pull request #40243 from zoroyihan7/fix-responses-stream-error-events
...
fix(responses): emit typed streaming failure events
2026-09-18 17:29:57 -07:00
Yujong Lee
542ad7dbac
fix(ocr): forward the supplied client on the Python path and build pooled clients outside the lock
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 00:27:54 +00:00