Mateo Wang
57d41bda29
Merge pull request #41684 from BerriAI/litellm_wildcard_license_auto_router
...
fix(license): let a wildcard allowed_features license grant the auto_router feature
2026-09-17 16:11:40 -07:00
Mateo Wang
07b5051c0d
Merge pull request #41689 from BerriAI/litellm_responses_bridge_strip_internal_kwargs
...
fix(responses): keep the addressed response id off bridged provider requests
2026-09-17 16:11:04 -07:00
Mateo Wang
0da001901b
Merge pull request #41672 from BerriAI/litellm_autoroute_start_stop
...
feat(cli): rename lite autoroute up/down to start/stop, keeping the old names as deprecated aliases
2026-09-17 16:07:00 -07:00
ryan-crabbe-berri
29a959b3e8
Merge pull request #41632 from BerriAI/litellm_bulk_team_member_budget_update
...
feat(management_v1): bulk update team member budgets
2026-09-17 15:58:32 -07:00
mateo-berri
d3963e5d63
test(cli): pin the up alias port forwarding and the removed-settings stop message
2026-09-17 15:55:50 -07:00
mateo-berri
79029d89f9
test(responses): drop the history docstrings from the bridge regression tests
2026-09-17 15:51:35 -07:00
Mateo Wang
289c52bcd6
Merge pull request #39512 from BerriAI/litellm_fix_image_edits_bracketed_alias
...
fix(images): stop forwarding the raw image[] and mask[] form keys
2026-09-17 15:48:32 -07:00
Mateo Wang
fec8231b83
Merge pull request #41419 from BerriAI/litellm_bedrock_openai_no_cachepoint
...
fix(bedrock): never emit Converse cachePoint for OpenAI-family models
2026-09-17 15:43:04 -07:00
mateo-berri
ca91751d5b
fix(responses): keep the addressed response id off bridged provider requests
...
The Responses id security hook keeps the id a client addressed under
`_litellm_addressed_response_id` in the request body so internal retries can
re-authorize it. On a model without a native Responses config that body is
bridged into `completion()` kwargs, the key was treated as a provider param,
and providers rejected it, so every follow-up turn carrying
`previous_response_id` returned 400.
Register the key in `all_litellm_params` so it is dropped before any provider
request, and share one constant between the hook and the param list.
2026-09-17 15:35:11 -07:00
mateo-berri
4371ddb620
feat(cli): keep lite autoroute up and down as hidden deprecated aliases
2026-09-17 15:25:12 -07:00
mateo-berri
c2fbb11dca
fix(license): let a wildcard allowed_features license grant the auto_router feature
2026-09-17 15:08:09 -07:00
Yassin Kortam
356b8d4074
Merge pull request #41444 from zachbernstein-sdx/fix/scim-pagination-count-clamp
...
fix(scim): align pagination `count` validation with RFC 7644
2026-09-17 14:59:22 -07:00
Mateo Wang
80b0a875dc
Merge pull request #41673 from BerriAI/litellm_deprecate_litellm_proxy_entrypoint
...
feat(cli): deprecate the litellm-proxy entrypoint in favour of lite
2026-09-17 14:54:47 -07:00
mateo-berri
255190ca35
Merge remote-tracking branch 'origin/main' into litellm_fix_image_edits_bracketed_alias
2026-09-17 14:49:54 -07:00
mateo-berri
36b471ff24
Merge commit '1dd4c13815' into litellm_bedrock_openai_no_cachepoint
2026-09-17 14:36:33 -07:00
Yassin Kortam
bc9f4fec5b
Merge pull request #41542 from BerriAI/litellm_bedrock_realtime_sdk_0_11
...
fix(bedrock): support aws-sdk-bedrock-runtime 0.10/0.11 in Bedrock Realtime
2026-09-17 14:26:39 -07:00
Yassin Kortam
1b4739c415
Merge pull request #41493 from BerriAI/litellm_bridge_mid_conversation_system_turns
...
fix(anthropic-bridge): convert mid-conversation system turns to user turns on /v1/messages to chat completions
2026-09-17 14:25:36 -07:00
mateo-berri
ec0e6dd98a
feat(cli): deprecate the litellm-proxy entrypoint in favour of lite
2026-09-17 14:05:31 -07:00
mateo-berri
a440d6d452
refactor(cli): rename lite autoroute up/down to start/stop
2026-09-17 14:05:20 -07:00
yassin
6e84ff0cb2
fix(bedrock): keep raw SDK import failure out of the realtime client error
...
Log the underlying ImportError server side and send the client only the installed
version, the supported range and the install hint
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 20:57:28 +00:00
yuneng-jiang
efce8b0485
Merge pull request #41373 from BerriAI/litellm_fix_integration_conftest_import
...
fix(tests): resolve the integration support package without run.py's PYTHONPATH
2026-09-17 13:34:05 -07:00
yassin
a56390ed09
Merge remote-tracking branch 'origin/main' into litellm_bedrock_realtime_sdk_0_11
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
# Conflicts:
# uv.lock
2026-09-17 20:32:59 +00:00
ryan-crabbe-berri
5396810bb6
fix(management_v1): authorize bulk member budget writes off the writer and reject unschedulable reset windows
...
The roster the authorization check reads came from the routed reader, so a
replica lagging behind a team-admin demotion could still grant that caller
member-budget writes. Pin that read to the writer, as the model reconcile does.
A budget_duration the reset job can never schedule from, a non-positive one
that leaves the row permanently due or an unparseable one that blew up mid
batch as a 500, is now a 422 naming the row it came from, with nothing written.
The check is the same one /team/member_update and /budget/new already run,
lifted out of validate_budget_duration so both surfaces share it.
2026-09-17 13:31:32 -07:00
ryan-crabbe-berri
fbbddb922e
Merge pull request #41488 from BerriAI/litellm_bound_enduser_reset_invalidation
...
fix(budgets): page end-user cache invalidation after a budget reset
2026-09-17 13:21:23 -07:00
kerry-berri
decbb96382
Merge pull request #41635 from BerriAI/litellm_together_successor_test_drop_deprecation_pin
...
test(together_ai): stop pinning successor deprecation status
2026-09-17 12:50:50 -07:00
kerry-berri
c5b0d6218d
Merge pull request #41633 from BerriAI/litellm_non_string_model_spend_tracking
...
fix(proxy): reject non-string model with 400 and log its spend as unknown-model
2026-09-17 12:49:23 -07:00
kerry
427d08470f
test(together_ai): stop pinning successor deprecation status
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 19:40:00 +00:00
kerry
27dd1a02aa
fix(proxy): reject non-string model with 400 and log its spend as unknown-model
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 19:37:14 +00:00
ryan-crabbe-berri
4f6dfb0480
fix(management_v1): report a zero team default as no cap
...
Enforcement treats max_budget 0 on the team default as "no cap" and only
honors 0 as an explicit disable on a member's own row, so reporting an
inheriting member as capped at 0 said the opposite of what happens on their
next request.
2026-09-17 12:35:46 -07:00
yassin
177e6a0a97
test(anthropic-bridge): bound role reads instead of wall-clock time in the long system run test
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 19:34:16 +00:00
ryan-crabbe-berri
648373a260
feat(management_v1): bulk update team member budgets
...
Adds POST /management/v1/teams/{team_id}/members/bulk_update, a merge patch
over per-member limits (max_budget_in_team, tpm_limit, rpm_limit,
budget_duration, allowed_models) for up to 500 members in one transaction.
Editing a team's default member budget has never reached members who already
have a budget row, because /team/member_add clones the default per member.
This gives admins one call to roll a new cap out across the roster, and each
result carries max_budget_source so a caller can see whether a member is on
their own cap or on the team default.
Reads run on the writer inside the batch transaction, and any budget row more
than one membership points at is cloned before it is written, so raising one
member's cap never moves another's.
2026-09-17 12:30:46 -07:00
kerry-berri
0f5bc0ffa9
Merge pull request #41627 from BerriAI/litellm_fireworks_minimax_m3_vision_tests
...
test(fireworks_ai): stop pinning vision support on minimax-m3
2026-09-17 12:28:23 -07:00
yujonglee
dc81cf57f7
Merge pull request #41550 from BerriAI/new-ocr-mapping2
...
refactor(ocr): mirror Python provider layout and preserve tests
2026-09-17 12:18:02 -07:00
Yujong Lee
cd4d78a26a
fix(ocr): narrow public error attribute writes and cover callback failure mapping
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 19:06:28 +00:00
yassin
2fea3f53b7
perf(anthropic-bridge): reorder mid-conversation system runs in a single pass
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 19:06:06 +00:00
joshua-berri
1e7b03a6ed
Merge pull request #41619 from BerriAI/litellm_fix_mcp_guardrail_context_4889
...
fix(mcp): preserve request-selected guardrails during tool execution
2026-09-17 19:04:04 +00:00
joshua-berri
f075417643
Merge pull request #41609 from BerriAI/litellm_fix_mcp_health_permissions_4504
...
fix(mcp): restrict health discovery to virtual key grants
2026-09-17 19:03:50 +00:00
kerry
6d20e68706
test(fireworks_ai): stop pinning vision support on minimax-m3
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 18:57:50 +00:00
kerry-berri
ab03850666
Merge pull request #41623 from BerriAI/litellm_lit_8010_mock_response_provider_custom_pricing
...
fix(mock_completion): keep the resolved provider so router custom pricing resolves for azure_ai deployments
2026-09-17 11:49:33 -07:00
Yujong Lee
1f0c10147d
merge: port OCR request validation and upstream error mapping onto main's dispatch layout
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 18:33:20 +00:00
Yujong Lee
15f0d83305
merge: take main's e2e team allow-list settle helper
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 18:16:46 +00:00
Yujong Lee
766f45e0eb
merge: resolve conflicts with main for anthropic layout rename
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 18:09:27 +00:00
Yujong Lee
b26935416a
Merge remote-tracking branch 'github/main' into litellm_rust_bridge_declarative_route_catalog
...
# Conflicts:
# tests/e2e/access_control/test_model_access_group_e2e.py
2026-09-17 11:08:08 -07:00
kerry
3cf42f6565
test(mock_completion): cover the provider inference fallback for direct calls
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 18:07:58 +00:00
yassin
7c6fd3090f
Merge remote-tracking branch 'origin/main' into litellm_bridge_mid_conversation_system_turns
2026-09-17 18:07:06 +00:00
yassin
99667ad633
fix(anthropic-bridge): keep mid-conversation system turns when the target declares supports_mid_conversation_system
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 18:06:55 +00:00
Yujong Lee
b170d61b8d
route stuff through dispatch no direct main
2026-09-17 11:06:46 -07:00
Yujong Lee
56ba988b62
fix wrong assertion
2026-09-17 10:54:58 -07:00
Joshua Valluru
f4918e69f4
test(mcp): use the shared guardrail exception in regression
2026-09-17 10:54:28 -07:00
Joshua Valluru
5b91195406
fix(mcp): retain selected guardrails for virtual REST calls
2026-09-17 10:40:33 -07:00