Shivi Jain
5457f48290
fix(auth): load team membership once per request and skip prisma on an L1 hit
...
common_checks was querying get_team_membership twice, and DualCache awaited Redis SET on the auth path, so LRU eviction plus a hung Redis write showed up as two postgres spans
2026-09-14 18:13:49 +00:00
joshua-berri
fb67d8335c
style(model_armor): format guardrail handler
...
ai-gateway image / ai-gateway release image (push) Has been cancelled
LiteLLM Rust / rust-lint (push) Has been cancelled
LiteLLM Rust / rust-test (push) Has been cancelled
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 18:06:41 +00:00
joshua-berri
eceb67b69a
test(model_armor): inject HTTP handler and token provider
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 18:03:22 +00:00
yucheng
4be84a859d
Merge remote-tracking branch 'origin/main' into litellm_lit6314_guardrail_metadata_transfer
2026-09-14 18:01:01 +00:00
Yuneng Jiang
9b4717269f
test: preserve immutable integration observations and cleanup outcomes
2026-09-14 10:58:36 -07:00
Yuneng Jiang
1d49e0ee7e
test: preserve immutable integration observations and cleanup outcomes
2026-09-14 10:58:36 -07:00
Yuneng Jiang
4ee73c49af
test: collect pricing observations immutably
2026-09-14 10:58:24 -07:00
Mateo Wang
6e9e08475a
Merge pull request #40627 from BerriAI/litellm_fix_realtime_cached_audio_cost
...
fix(cost): bill cached realtime audio tokens at the audio cache-read rate
2026-09-14 10:50:00 -07:00
yucheng
34e702c571
test(otel): build the clipped-blob conversation without mutating the payload
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 17:46:18 +00:00
yucheng
b4e3d7c533
chore: merge main into litellm_lit6314_guardrail_metadata_transfer
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 17:33:04 +00:00
yassin
83d16a4690
fix(proxy): read LITELLM_DISABLE_ACCESS_LOG_PATHS per record and match before redaction
...
Values loaded after import via proxy config environment_variables or dotenv
were ignored, and a long query string was truncated by the redaction filter
before the path filter could match it. Tests now go through the production
registration on the uvicorn.access logger instead of a hand-built filter.
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 17:27:43 +00:00
Devin AI
66ce1eea97
test(proxy): cover non-string access log paths
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 16:54:38 +00:00
yassin
4b39344d13
fix(proxy): only treat a missing user as no memberships on team list, surface db errors
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 16:49:54 +00:00
Yuneng Jiang
94f2a4702b
test: remove redundant integration harness commentary
2026-09-14 09:40:21 -07:00
Yuneng Jiang
c900053c87
test: remove redundant integration harness commentary
2026-09-14 09:40:21 -07:00
Yuneng Jiang
474fd5ff8d
test: remove redundant integration harness commentary
2026-09-14 09:40:20 -07:00
Devin AI
2268bbaf5e
feat(proxy): honor LITELLM_DISABLE_ACCESS_LOG_PATHS to drop noisy uvicorn access log lines
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 16:39:54 +00:00
yassin
dc30be006b
refactor(proxy): read org admin's own team ids via get_user_object(check_db_only=True)
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 16:27:31 +00:00
Devin AI
9fbc2c5b71
fix(proxy): show all model groups to proxy admins in /model_group/info
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 16:23:06 +00:00
Yuneng Jiang
56c950e686
test: isolate accounting integration coverage from E2E registry
2026-09-14 09:23:00 -07:00
Yuneng Jiang
96fdf5d6f4
test: isolate management integration coverage from E2E registry
2026-09-14 09:23:00 -07:00
Yuneng Jiang
48ccdba129
test: decouple integration contracts from E2E coverage registry
2026-09-14 09:22:13 -07:00
yassin
d643909789
fix(proxy): read org admin's own team ids from db and assert v2 list results
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 16:03:23 +00:00
yassin
8d9edfc03c
fix(proxy): keep /team/list self query for org admins membership-only across orgs
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 15:40:41 +00:00
yassin
58c3ccf668
fix(proxy): keep org admins' own team memberships in other orgs visible on team list
...
An org admin listing their own teams on GET /team/list and GET /v2/team/list
only saw teams in the orgs they administer. Teams they belong to in other
orgs were dropped because the org scope and the membership scope were ANDed.
A self query now unions the two, while a query for another user keeps the
org boundary intersection.
Resolves LIT-3723
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 15:27:06 +00:00
Yassin Kortam
9e1ed40db3
Merge pull request #40927 from BerriAI/litellm_per_issuer_virtual_key_claim_field
...
feat(jwt): allow virtual_key_claim_field per issuer
2026-09-14 08:00:25 -07:00
Mateo Wang
e3051a7af9
Merge pull request #40996 from BerriAI/litellm_deflake_20260913
2026-09-14 07:13:53 -07:00
mateo
1661e72c2c
fix(registry): drop retired friendliai llama-3.1 serverless models
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 13:21:46 +00:00
Devin AI
aec592b734
test(mcp): drop internal patches from ordering tests and regenerate API types
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 12:43:50 +00:00
Devin AI
d94b227906
fix(mcp): stable ordering for MCP servers list in Admin UI
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 12:28:30 +00:00
Yuneng Jiang
57825775b8
test: tighten reload coverage and avoid an artificial lock timing cutoff
2026-09-14 05:08:14 -07:00
Yuneng Jiang
682296ad68
test: verify database transactions and persisted accounting contracts
2026-09-14 05:00:32 -07:00
Yuneng Jiang
cfda6dea3e
test: cover persisted updates and warmed authorization policies
2026-09-14 04:20:06 -07:00
Yuneng Jiang
7ff8919827
test: collect owned cleanup processes immutably
2026-09-14 04:18:59 -07:00
mateo-berri
6e2c088bc2
chore(ui): regenerate dashboard API types
...
ai-gateway image / ai-gateway release image (push) Has been cancelled
LiteLLM Rust / rust-lint (push) Has been cancelled
LiteLLM Rust / rust-test (push) Has been cancelled
Terraform Modules / fmt, validate, test (aws) (push) Has been cancelled
Terraform Modules / fmt, validate, test (gcp) (push) Has been cancelled
Terraform Provider / gofmt, vet, build, test (push) Has been cancelled
Terraform Provider / Provider endpoints vs proxy OpenAPI schema (push) Has been cancelled
Picks up the user-endpoint docstring removal already on main.
2026-09-14 11:13:42 +00:00
mateo-berri
da7d5fe128
refactor: replace Any with precise types across 54 modules
...
Narrow or remove reportAny / reportExplicitAny sites in provider
transformations, caching, guardrails, proxy endpoints and enterprise
batch-cost polling. Public parameters widen to Mapping/Sequence rather
than dict/list so no caller signature breaks, and runtime behavior is
unchanged.
2026-09-14 11:13:39 +00:00
Yuneng Jiang
16d7e695c0
test: stop proxy before cleaning up its query engine
2026-09-14 04:04:21 -07:00
Yuneng Jiang
d7c13625e9
test: qualify integration cleanup and replay invocation
2026-09-14 03:48:23 -07:00
Yuneng Jiang
92e0b72e2d
test: add CircleCI integration contract foundation
2026-09-14 03:30:52 -07:00
yassin
15ff8d18e7
test(proxy): cover the CLI single-model branch of /model/info JSON serialization
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 10:07:10 +00:00
yassin
b86de179dc
fix(utils): stop wrapper_async submitting the sync success handler twice
...
_client_async_logging_helper re-submitted logging_obj.success_handler to the
executor after _dispatch_success_logging had already done so, running the same
success pipeline twice per async request and racing on shared logging state.
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 10:02:51 +00:00
Devin AI
a8305129a7
refactor(mistral): keep map_openai_params under the complexity ceiling
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 09:56:08 +00:00
Devin AI
cd8887d72c
fix(mistral): accept reasoning_effort on all models and drop client_metadata for Codex compatibility
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 09:55:07 +00:00
yassin
3cc6a70466
docs(proxy): describe the /model/info JSON response and regenerate schema.d.ts
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 09:48:26 +00:00
yassin
93e6770d68
perf(proxy): serialize /model/info listing once with orjson
...
FastAPI walked the multi-megabyte /model/info payload through jsonable_encoder
before json.dumps on every request. Return a prebuilt orjson Response instead,
keeping jsonable_encoder as the fallback for datetimes and other non-native values
Resolves LIT-5724
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 09:37:00 +00:00
Devin AI
a70f9a17cc
perf(logging): skip correlation contextvar stamping when request_correlation_in_logs is off
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-14 08:54:34 +00:00
HUAHAODIA
d84e0eabf3
fix lint review feedback (round 2)
...
- actually drop the ruff-strict-budget.json changes: the earlier
checkout restored the edited HEAD version instead of main, so the
twelve limit changes were still in the branch; budget ratcheting
stays with the scheduled automation
- annotate validator_call as Final per repo convention
- drop the standalone comment duplicating the inline noqa reason
2026-09-14 16:42:35 +08:00
Oliver Jensen
b3882d8e43
Merge pull request #40107 from BerriAI/litellm_forced_password_reset
...
feat(auth): breached password detection and forced change
BREAKING CHANGE: users can no longer change their password by issuing a request with a password parameter to /user/update; this has been replaced with /user/password/change dedicated to secure password change.
2026-09-14 10:17:21 +02:00
Oliver Jensen
f9da8a19b6
test(models): stop the password serialization test matching field-name substrings
2026-09-14 09:59:45 +02:00
Oliver Jensen
40118bd158
test(auth): annotate the session-minting patch for the test-quality gate
2026-09-14 09:59:45 +02:00