mateo
be74d2b01f
chore(ui): remove orphaned ROLE_STYLES and RoleStyle from pretty messages view
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 20:04:02 +00:00
mateo
726c2bb6df
chore(ui): remove unused NewBadge component and its test
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 20:03:53 +00:00
mateo
9cbad58a70
refactor(ui): remove unused HelpLink and HelpIcon components
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 20:03:49 +00:00
mateo
0ad9a9ba51
chore(proxy): delete deprecated unused litellm/proxy/_logging.py
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 20:03:31 +00:00
mateo
57e4336e40
chore(proxy): remove unreferenced performance_utils profiling module
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 20:03:19 +00:00
mateo
60e5ee4180
chore(tests): remove commented-out hf, petals and vertex ai completion blocks
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 20:03:06 +00:00
mateo
ea109cd5c6
chore(openai): drop commented-out legacy cost_per_token implementation
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 20:03:05 +00:00
yassin
42429500be
Merge remote-tracking branch 'origin/main' into litellm_team_member_temp_budget_increase
2026-09-17 19:59:44 +00:00
yassin
1f8f7529e8
Merge remote-tracking branch 'origin/litellm_team_member_temp_budget_increase' into litellm_team_member_temp_budget_increase
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
# Conflicts:
# tests/test_litellm/proxy/auth/test_auth_checks.py
2026-09-17 19:59:16 +00:00
yassin
d5acbbde6f
chore(ui): regenerate schema.d.ts for end_user_budget_id docstrings
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 19:57:44 +00:00
yassin
e932451312
refactor(proxy): move effective member budget onto the budget model and reject negative temp increases
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 19:56:35 +00:00
kerry
86c5627d66
Merge remote-tracking branch 'origin/main' into litellm-providers/price-sync
2026-09-17 19:51:01 +00: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
yassin
d9ddc4b901
test(proxy): assert temp budget increase stops at the exact expiry instant
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 19:50:50 +00:00
yassin
b9d0008d97
fix(proxy): keep temp budget fields out of organization metadata on create
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 19:50:50 +00: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
yassin
43089640a2
docs(proxy): document end_user_budget_id on key generate and update endpoints
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 19:48:37 +00: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
yassin
e91cd877fb
Merge remote-tracking branch 'origin/main' into litellm_team_member_temp_budget_increase
2026-09-17 19:37:25 +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
yuneng-jiang
dbc6c1cfaa
Merge pull request #37983 from etiennechabert/litellm_add_spendlogs_api_key_startTime_index
...
perf(spend_tracking): index LiteLLM_SpendLogs by (api_key, startTime)
2026-09-17 12:35:28 -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
5e5e5086f0
Merge remote-tracking branch 'origin/main' into litellm-providers/price-sync
2026-09-17 19:29:18 +00:00
yassin
cc11653152
feat(proxy): per-key default budget for dynamically created customers
...
A service-account key can now carry end_user_budget_id in its metadata. When a request through that key names a customer that does not exist yet, the key's budget is applied to the new customer from the first request and wins over the proxy-wide max_end_user_budget_id. A customer with an explicitly assigned budget keeps it. The Admin UI exposes the setting on service-account key creation and key edit, and only proxy admins may set or clear it.
Resolves LIT-7996
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 19:28:53 +00: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
Yuneng Jiang
9207c9a3d8
Merge remote-tracking branch 'origin/main' into litellm_add_spendlogs_api_key_startTime_index
...
# Conflicts:
# litellm-proxy-extras/litellm_proxy_extras/schema.prisma
# litellm/proxy/schema.prisma
# schema.prisma
2026-09-17 12:20:26 -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
Devin AI
14e4b9f906
fix(gemini): gemini-3.5-flash-lite priority cache read is $0.054/M
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 19:14:04 +00:00
yassin
4212e1ff6f
Merge remote-tracking branch 'origin/main' into litellm_transcribe_passthrough
2026-09-17 19:11:49 +00:00
yassin
784fe5bfd8
fix(proxy): price Amazon Transcribe jobs at completion so budgets apply
...
StartTranscriptionJob was logged with response_cost 0.0, so key, team and proxy
budgets never stopped repeated jobs on the proxy's AWS credentials. The success
handler now polls GetTranscriptionJob to completion, reads the audio duration
from the transcript artifact and charges whole seconds at the cost map rate,
charging the longest media AWS accepts when the duration cannot be read. The
route refuses job classes and surcharge features the cost map does not price
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 19:11:45 +00: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
Devin AI
d877253a7a
Merge remote-tracking branch 'origin/main' into litellm_registry_audit_2026_09_17
2026-09-17 19:04:40 +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
yassin
701c880922
feat(ui): temporary budget increase controls for team members
...
Adds temp_budget_increase and temp_budget_expiry to the team member edit form with pair validation,
seeds stored values into edit mode, sends both through /team/member_update, and adds cached-key auth
and reservation regression tests for active and expired increases
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 18:56:30 +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
yujonglee
d5b8400aa9
Merge pull request #41479 from BerriAI/litellm_rust_bridge_declarative_route_catalog
...
refactor(rust_bridge): declarative route catalog and shared runtime selection
2026-09-17 11:18:36 -07: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
yassin
8d972eefc7
feat(router): reject with 429 when a deployment's max_parallel_requests slots are all in use
...
Replace the per-deployment asyncio.Semaphore with MaxParallelRequestsLimit, which admits a call synchronously or raises the router's RateLimitError (429) right away. Nothing waits for a slot any more, so the max_parallel_requests_queue_size and default_max_parallel_requests_queue_size settings from the earlier commits are dropped along with their proxy validation, dashboard control and generated schema entries. The rpm/tpm derivation of the cap is unchanged. Every router endpoint family now enters the slot through one _deployment_slot context, and the provider coroutine is only created once the slot is held
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 18:14:09 +00:00
yassin
5f64dfd8dd
fix(proxy): price Azure Speech fast transcription and limit unpriced batch writes to admins
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 18:14:04 +00:00
Devin AI
f972fddafc
test(proxy): include temp budget fields in customer budget table fixture
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 18:10:00 +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