Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
791 commits
Select commit Hold shift + click to select a range
6194028
perf(proxy): cache container/skill ownership reads on the hot path
stuxf May 2, 2026
456cb49
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
mateo-berri May 2, 2026
5faf75d
chore: update Next.js build artifacts (2026-05-02 03:39 UTC, node v20…
mateo-berri May 2, 2026
ea0d92a
fix: remove traceback key instead of it being ""
mateo-berri May 2, 2026
b15136a
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
mateo-berri May 2, 2026
a1b4330
fix: linting error
mateo-berri May 2, 2026
8cf3bf1
fix(scim): preserve scim_active on PUT when client omits the field
cursoragent May 2, 2026
d19dad9
fix(proxy): use set lookup for permitted agent filters
stuxf May 2, 2026
31d0d85
fix(mcp): redact command fields for non-admin server views
stuxf May 2, 2026
c01f209
fix(proxy): forward decoded container ids after ownership checks
stuxf May 2, 2026
8cb52ce
fix(caching): handle stale isolated Redis semantic index
stuxf May 2, 2026
d2015f0
Merge pull request #26161 from BerriAI/litellm_access-group-routing-fix
Sameerlite May 2, 2026
d493606
Merge pull request #25764 from BerriAI/litellm_gemini_provider_defaul…
mateo-berri May 2, 2026
a30bcc9
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
cursoragent May 2, 2026
f576eb3
Merge pull request #26960 from BerriAI/litellm_org_mcp_permissions
Sameerlite May 2, 2026
a5a8f39
Merge pull request #27036 from BerriAI/litellm_internal_staging
Sameerlite May 2, 2026
b079081
fix(cloudflare): support response_text in streaming chunk parser
cursoragent May 2, 2026
8914457
Fix code qa
Sameerlite May 2, 2026
1ce92da
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
cursoragent May 2, 2026
2ba009a
Merge pull request #26878 from BerriAI/litellm_presidio-responses-str…
Sameerlite May 2, 2026
cfa058c
Merge pull request #26530 from BerriAI/litellm_oss_staging_04_25_2026
mateo-berri May 2, 2026
9275eea
Address bugbot: drop dead encode/decode helpers; preserve empty custo…
cursoragent May 2, 2026
9d51706
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
cursoragent May 2, 2026
10261e4
Forward Vertex file content logging context
cursoragent May 2, 2026
12ecac6
test vertex file content logging forwarding
cursoragent May 2, 2026
04133ba
Fix Vertex batch output logging mutation
cursoragent May 2, 2026
480bea2
fix: don't mutate caller's logging_obj in _try_transform_vertex_batch…
cursoragent May 2, 2026
4392175
feat: add opt-out flag for Vertex batch output transformation
mateo-berri May 2, 2026
3835306
fix(anthropic,bedrock): omit thinking/output_config when reasoning_ef…
mateo-berri May 2, 2026
6dd0435
Merge pull request #25627 from BerriAI/litellm_vertex-batch-output-tr…
mateo-berri May 2, 2026
946dfb6
fix(vertex-ai): set response=null on batch error entries per OpenAI spec
mateo-berri May 2, 2026
4953b9e
Merge pull request #26456 from BerriAI/litellm_hotfix_gpt-5.5-minimal…
mateo-berri May 2, 2026
cf9c2f0
test(vertex-ai): cover transformation_error path emits response=null
mateo-berri May 2, 2026
7f3d761
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
mateo-berri May 2, 2026
c94a8d6
Merge pull request #27039 from BerriAI/litellm_fix_reasoning_effort_n…
mateo-berri May 2, 2026
de28a4f
fix(security): sandbox jinja2 in gitlab/arize/bitbucket prompt managers
stuxf May 2, 2026
e71aead
chore(proxy): drop client-supplied pricing fields from request bodies
stuxf May 3, 2026
2567110
chore(proxy): log stripped pricing fields at debug for operator visib…
stuxf May 3, 2026
4b4b4a7
fix(proxy): move pricing strip below the litellm_metadata JSON-string…
stuxf May 3, 2026
2e69653
test(responses): replace legacy claude-4-sonnet alias in multiturn to…
cursoragent May 3, 2026
37a22ac
chore(proxy): close callback-config and observability-credential side…
stuxf May 3, 2026
01323e8
fix(auth): per-param allow must continue, not return early
stuxf May 3, 2026
b87c2f6
fix(vector_store): resolve embedding config at request time, never pe…
stuxf May 3, 2026
3851167
fix(vector_store): tighten registry-mutation comment and dedupe test …
stuxf May 3, 2026
74b4eab
fix(vector_store): cache use-time embedding-config resolution
stuxf May 3, 2026
c011a7e
Merge pull request #27041 from BerriAI/litellm_vertex-batch-error-res…
mateo-berri May 3, 2026
a6c673e
fix(anthropic,bedrock,vertex): forward output_config.effort + 400 on …
cursoragent May 3, 2026
1371458
fix(constants): make ANTHROPIC_MIN_THINKING_BUDGET_TOKENS a plain con…
cursoragent May 3, 2026
ec022fd
fix(anthropic,bedrock): correct effort error message and dedupe effor…
cursoragent May 3, 2026
e400de4
fix(anthropic): translate reasoning_effort on /v1/messages route
claude May 3, 2026
039b266
fix(anthropic,bedrock): reject unmapped reasoning_effort at mapping site
cursoragent May 3, 2026
47031c0
style: black formatting
cursoragent May 3, 2026
82d7405
fix(anthropic): stop class-attr leak; gate xhigh/max on every route
mateo-berri May 3, 2026
09d37db
feat(anthropic,bedrock): strip output_config under drop_params for no…
claude May 3, 2026
e780a7c
fix(base_llm): filter all _-prefixed class attrs from get_config
mateo-berri May 3, 2026
36f1f13
fix(anthropic): drive output_config.effort support from model map flags
mateo-berri May 3, 2026
108b87f
fix(anthropic,bedrock,databricks): four reasoning_effort follow-ups
mateo-berri May 3, 2026
1a10746
fix(databricks): validate reasoning_effort and set output_config on a…
cursoragent May 3, 2026
766b67c
fix(azure): omit model from image generation and image edit deploymen…
Sameerlite May 4, 2026
87cf510
test(azure): exercise image gen JSON filter via HTTP client; dedupe i…
Sameerlite May 4, 2026
4f9a3a5
fix(azure_ai/anthropic): promote output_config out of extra_body so v…
mateo-berri May 4, 2026
41ac026
test(image_gen): expect no model in Azure image edit multipart (#26316)
Sameerlite May 4, 2026
f8f07c5
refactor(anthropic): extract _validate_effort_for_model to prevent drift
mateo-berri May 4, 2026
2c9166c
fix(databricks): narrow reasoning_effort_value to str for mypy
mateo-berri May 4, 2026
32a5e77
feat(proxy): add health_check_reasoning_effort for model health checks
Sameerlite May 4, 2026
c53c71a
test(image_gen): align Azure image gen fixture with body omitting model
Sameerlite May 4, 2026
f4d6d59
test(anthropic/chat): force PR-local model_cost map via autouse fixture
mateo-berri May 4, 2026
196c7a0
Merge pull request #27077 from BerriAI/litellm_fix_responses_api_lega…
mateo-berri May 4, 2026
08d130a
[Fix] Docker: Pin Wolfi And Uv To Multi-Arch Index Digests
yuneng-berri May 4, 2026
675e49e
Merge pull request #26894 from BerriAI/litellm_langsmithRedactApiInfo
Michael-RZ-Berri May 4, 2026
25a5ccc
[Fix] Docker: Pin Uv To Multi-Arch Index Digest In Remaining Dockerfiles
yuneng-berri May 4, 2026
b2c270e
Merge pull request #27123 from BerriAI/litellm_/intelligent-fermat-29…
yuneng-berri May 4, 2026
a470309
Merge branch 'litellm_internal_staging' of https://github.com/BerriAI…
harish-berri May 4, 2026
c1708dd
fix(xai): fold reasoning_tokens into completion_tokens to satisfy Ope…
mateo-berri May 4, 2026
5d12489
refactor(bedrock/converse): delegate effort gating to AnthropicConfig…
cursoragent May 4, 2026
790d8bb
Merge pull request #26899 from BerriAI/litellm_suppress-spend-log-tra…
mateo-berri May 4, 2026
ed3b056
Implement normalize_nonempty_secret_str function to trim whitespace f…
harish-berri May 4, 2026
a05d3b5
Fix qdrant semantic cache miss metadata
stuxf May 4, 2026
7c94149
Merge remote-tracking branch 'origin/litellm_internal_staging' into c…
stuxf May 4, 2026
bfdd786
chore(deps): refresh dependency locks
stuxf May 4, 2026
0c3b4a0
chore(deps): authorize pytest license
stuxf May 4, 2026
2d36596
fix: preserve tokenizer decode round trips
stuxf May 4, 2026
98ced0a
refactor(anthropic): drive adaptive-thinking gate via supports_adapti…
cursoragent May 4, 2026
e96d850
chore(deps): address dependency review notes
stuxf May 4, 2026
56070b8
test(model_prices): add supports_adaptive_thinking to schema
cursoragent May 4, 2026
2cb3f0f
refactor: remove unnecessary comments from #27074
cursoragent May 4, 2026
0f02a5f
test: keep decode token test local
stuxf May 4, 2026
1dcfc36
chore(deps): align dashboard node engine
stuxf May 4, 2026
516b741
feat: selectively apply routing strategy according to model name
yassinkortam May 1, 2026
1ac430c
style: make _model_supports_effort_param more concise
mateo-berri May 4, 2026
f79d3fa
Merge pull request #26902 from BerriAI/litellm_pyroscope_tag_wrapper
harish-berri May 4, 2026
37ae24d
refactor(anthropic,bedrock): hoist drop_params output_config warning …
cursoragent May 4, 2026
0f04132
refactor(anthropic,bedrock,databricks): factor BadRequestError for un…
cursoragent May 4, 2026
285e103
Merge pull request #27126 from stuxf/codex/dependency-refresh-2026-05-04
yuneng-berri May 4, 2026
9f1feaa
Clean up Redis semantic cache isolation fallback
stuxf May 4, 2026
abbefcc
fix(guardrails): align banned_keywords + azure_content_safety call_ty…
stuxf May 4, 2026
cdd777f
fix: remove unused import
mateo-berri May 4, 2026
c064170
Merge pull request #26819 from stuxf/fix/team-callback-idor
yuneng-berri May 4, 2026
c38e23e
Merge pull request #26915 from stuxf/codex/provider-url-destination-g…
yuneng-berri May 4, 2026
e995156
Merge pull request #26953 from stuxf/chore/audit-log-cache-vault-sett…
yuneng-berri May 4, 2026
af77942
Add semantic cache legacy migration flag
stuxf May 4, 2026
28bf464
Treat 0 team_member_budget as no cap
May 4, 2026
6f5678b
Merge pull request #27007 from stuxf/fix/admin-viewer-write-route-blo…
yuneng-berri May 4, 2026
e1083b1
Merge pull request #27014 from stuxf/fix/activity-endpoint-tenant-sco…
yuneng-berri May 4, 2026
196dbb4
Merge pull request #27074 from BerriAI/litellm_fix_reasoning_effort_f…
mateo-berri May 4, 2026
07807f7
Merge pull request #27019 from stuxf/codex/cloud-storage-file-guard
yuneng-berri May 4, 2026
2aa4301
Merge pull request #27027 from stuxf/fix/mcp-server-url-redact-non-admin
yuneng-berri May 4, 2026
1a17c43
Merge pull request #27133 from BerriAI/litellm_zeroBudgetTreatedAsNoCap
Michael-RZ-Berri May 4, 2026
f9ae559
Merge pull request #27022 from BerriAI/litellm_fix/routing-strategy-m…
yassin-berriai May 4, 2026
7d72449
chore(caching): annotate qdrant quantization_params dict type
stuxf May 4, 2026
a2473ef
chore(caching): remove allow_legacy_unscoped_cache_hits opt-in
stuxf May 4, 2026
3b21441
Merge pull request #26947 from BerriAI/litellm_rateLimitMetricLabels
mateo-berri May 4, 2026
4fa5778
fix(container): keep ownership-filter exceptions out of the LLM-error…
stuxf May 4, 2026
e4ac46b
Merge pull request #27081 from stuxf/fix/strip-callback-fields
yuneng-berri May 4, 2026
ec9b84d
chore(container,skills): LRU eviction for owner caches; widen file_pu…
stuxf May 4, 2026
0c0b5e0
Merge pull request #27082 from stuxf/fix/vector-store-cred-leak
yuneng-berri May 4, 2026
07824b5
Merge pull request #26990 from stuxf/codex/semantic-cache-tenant-isol…
yuneng-berri May 4, 2026
de682c8
chore(container,skills): drop legacy-access opt-out env vars
stuxf May 4, 2026
758b488
fix(ownership): reject identity-less callers instead of sharing a sen…
stuxf May 4, 2026
777862a
Merge remote-tracking branch 'upstream/litellm_internal_staging' into…
stuxf May 4, 2026
6a3f6b4
Merge remote-tracking branch 'origin/litellm_internal_staging' into f…
stuxf May 4, 2026
b5a14f2
Merge remote-tracking branch 'upstream/litellm_internal_staging' into…
stuxf May 4, 2026
abcf204
fix(proxy): include request-blocked callback params in auth bans
stuxf May 4, 2026
12fe945
fix: keep skills handler FastAPI-free; fold gcs deny list into the bo…
stuxf May 4, 2026
de7175d
Merge pull request #26912 from stuxf/codex/auth-sensitive-routes
yuneng-berri May 5, 2026
83971a8
fix(proxy): normalize managed resource team owner field
stuxf May 5, 2026
6ce84ef
chore: simplify ownership tracking — drop thin stores, in-memory fall…
stuxf May 5, 2026
2adfa96
fix(container): cache list-allow-set, track admin-created containers
stuxf May 5, 2026
4699b3d
chore(container): use delete_cache, json-encode scope key, clean test
stuxf May 5, 2026
22782f3
[Fix] Tests: Replace deprecated openrouter/claude-3.7-sonnet with cla…
yuneng-berri May 5, 2026
00d0c3e
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
yuneng-berri May 5, 2026
68c120a
Merge pull request #26957 from stuxf/chore/guardrail-coverage
yuneng-berri May 5, 2026
42cd949
Merge pull request #27071 from stuxf/fix/strip-pricing-fields
yuneng-berri May 5, 2026
a56256e
feat: routing groups ui
yassinkortam May 4, 2026
4179159
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
mateo-berri May 5, 2026
db2a3ca
Merge pull request #27131 from BerriAI/litellm_fix/routing-groups-ui
yassin-berriai May 5, 2026
7f550a5
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
yuneng-berri May 5, 2026
e35cd5a
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
yuneng-berri May 5, 2026
efca16c
Merge pull request #27043 from stuxf/fix/ssti-prompt-managers
yuneng-berri May 5, 2026
dcb357e
Merge pull request #27149 from BerriAI/litellm_/peaceful-bell-ba8ca5
yuneng-berri May 5, 2026
aee064a
Merge remote-tracking branch 'upstream/litellm_internal_staging' into…
stuxf May 5, 2026
281296f
Merge pull request #27151 from BerriAI/litellm_yj_may4
yuneng-berri May 5, 2026
7faba96
Merge remote-tracking branch 'upstream/litellm_internal_staging' into…
stuxf May 5, 2026
3dcb6bd
Merge remote-tracking branch 'upstream/litellm_internal_staging' into…
stuxf May 5, 2026
2f30505
Merge pull request #27004 from stuxf/fix/managed-resource-service-acc…
yuneng-berri May 5, 2026
555a813
Merge pull request #26951 from stuxf/codex/skills-containers-tenant-g…
yuneng-berri May 5, 2026
5923c32
fix(security): prevent secret_fields from leaking into spend logs
cursoragent May 5, 2026
be5f217
Merge pull request #26861 from BerriAI/litellm_fix_scim_virtual_key_d…
yuneng-berri May 5, 2026
9ea824d
Merge pull request #27143 from BerriAI/cursor/fix-secret-fields-in-sp…
yuneng-berri May 5, 2026
7c8409d
chore: update Next.js build artifacts (2026-05-05 02:13 UTC, node v20…
yuneng-berri May 5, 2026
727ab8d
[Fix] Proxy: Break managed-resources import cycle on Python 3.13
yuneng-berri May 5, 2026
8cac6c5
[Fix] Proxy: Address Greptile feedback on hook-cycle PR
yuneng-berri May 5, 2026
193907a
[Fix] Lint: Mark _user_has_admin_view re-export in common_utils
yuneng-berri May 5, 2026
bb0e416
refactor(azure): move image gen JSON helper; rename image edit finali…
Sameerlite May 5, 2026
b4ee6a2
test(proxy): cover health_check_reasoning_effort for completion mode
Sameerlite May 5, 2026
8a1b663
[Fix] Tests: Use master key for /otel-spans in test_chat_completion_c…
yuneng-berri May 5, 2026
4487d83
Merge pull request #27115 from Sameerlite/litellm_health_check_reason…
Sameerlite May 5, 2026
e6f524f
[Fix] Tests: Pick chat-completion OTEL trace by content, not recency
yuneng-berri May 5, 2026
b0edffb
Merge pull request #27103 from BerriAI/litellm_azure-deployment-image…
Sameerlite May 5, 2026
6a6c79d
[Fix] CI: Enable VCR replay for test_azure_o_series
yuneng-berri May 5, 2026
0976fbc
[Fix] Tests: Restore /metrics access for prometheus test suite
yuneng-berri May 5, 2026
f2969ca
Merge pull request #27165 from BerriAI/litellm_/friendly-lichterman-3…
yuneng-berri May 5, 2026
ff3d089
Merge pull request #27160 from BerriAI/litellm_/peaceful-gates-6e46e7
shin-berri May 5, 2026
cd38ecd
Merge pull request #27156 from BerriAI/yj_build_may4
yuneng-berri May 5, 2026
c1c0506
[Perf] CI: Skip Redundant Playwright Apt Install in E2E UI Job
yuneng-berri May 5, 2026
19ad964
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
yuneng-berri May 5, 2026
4ee586a
[Fix] Docker: Remove Hardcoded Prisma Binary Target For Multi-Arch Bu…
yuneng-berri May 5, 2026
43c7805
Merge pull request #27169 from BerriAI/litellm_/vigorous-albattani-2b…
shin-berri May 5, 2026
f318ef0
Merge pull request #27170 from BerriAI/litellm_/unruffled-mcclintock-…
yuneng-berri May 5, 2026
4af58e1
[Security] Clear AWS Inspector CVE findings on Docker image
stuxf May 5, 2026
87d2b98
decouple S3 audit-log config via s3_audit_callback_params
May 5, 2026
6769c8b
[Fix] CI: license check for black 26.3.1 + skip disk_cache test witho…
stuxf May 5, 2026
fa6a82a
[Fix] UI: Clear Admin Session Cookies Before Establishing Invited Use…
yuneng-berri May 5, 2026
7e13256
test: add 24hr Redis-backed VCR cache to additional test suites (#27159)
mateo-berri May 5, 2026
1b25f85
[Fix] Team UI: handle legacy dict shape for metadata.guardrails (#27224)
ryan-crabbe-berri May 5, 2026
0d790d8
Merge remote-tracking branch 'upstream/litellm_internal_staging' into…
stuxf May 5, 2026
3d55afe
[Infra] Packaging: Relax Core Runtime Pins To Ranges
yuneng-berri May 5, 2026
eff0f8c
[Infra] Packaging: Bump compiled-dep floors for cp313 wheel coverage
yuneng-berri May 5, 2026
7abafe5
chore: update Next.js build artifacts (2026-05-05 22:45 UTC, node v20…
yuneng-berri May 5, 2026
e84282b
[Infra] Bump deps (#27157)
yuneng-berri May 5, 2026
4fec69d
refactor(BaseAWSLLM): implement shared IAM cache and static credentia…
harish-berri May 5, 2026
b8635bb
feat(realtime): OpenAI Realtime GA support and beta compatibility (#2…
Sameerlite May 5, 2026
201fa5d
[Infra] Packaging: Drop floor-check workflow + bound importlib-metadata
yuneng-berri May 5, 2026
950074e
fix: atomic TPM rate limit (#27001)
yassin-berriai May 5, 2026
618df94
helm: increase default probe timeouts, disable debug logging by defau…
yassin-berriai May 5, 2026
dbc8f5a
helm: skip proxy startup prisma db push when migrations Job is enable…
yassin-berriai May 5, 2026
454ce50
fix(anthropic, mcp): sanitize tool names to match Anthropic's [a-zA-Z…
krrish-berri-2 May 6, 2026
e912e6d
feat(audio_transcription): add NVIDIA Riva STT provider (#27185)
Sameerlite May 6, 2026
9a338e1
[Test] Tests: Stop parametrizing API keys into pytest test IDs (#27249)
yuneng-berri May 6, 2026
fd7ff0f
fix(hosted_vllm): normalize custom tools for chat completions (#25763)
Sameerlite May 6, 2026
fdaa288
ci(circleci): enable Rerun Failed Tests for all pytest jobs (#27155)
mateo-berri May 6, 2026
e75c7a3
union x-litellm-tags with static team/key tags (#27247)
Michael-RZ-Berri May 6, 2026
73de892
fix: replace user api key auth with authorization or cookie for mcp s…
dennishenry May 6, 2026
e9fb290
Include model name + configured TPM/RPM in priority rate-limit 429 er…
May 6, 2026
c32ad90
Fix Prometheus custom metadata label counts (#27268) (#27271)
May 6, 2026
bd1ea02
perf(proxy): run daily activity aggregation off the event loop (#27264)
yassin-berriai May 6, 2026
b83d113
proxy: hot-reload config YAML when --reload is set (#27274)
mateo-berri May 6, 2026
b1f5771
fix(proxy): keep spend log cleanup running after batch failures and s…
yassin-berriai May 6, 2026
c92a08a
Fix team member budget enforcement without user row (#27273)
May 6, 2026
d90cf56
Fix SCIM user lookup filters (#27308)
oss-agent-shin May 6, 2026
169c436
Fix/member access group team (#27317)
dibyom May 6, 2026
c8e47dc
Fix early proxy request size enforcement (#27311)
oss-agent-shin May 6, 2026
487479e
perf: cap Prometheus end-user metric cardinality with TTL + LRU evict…
May 6, 2026
924c141
Add new chat model metadata (#27313)
May 6, 2026
bd1a05a
Fix MCP DB reload partial failures (#27314)
May 6, 2026
c15718f
Fix Anthropic streaming reasoning token usage (#27319)
May 6, 2026
aba131d
fix: Vertex Anthropic streaming status error hangs (#27310)
May 6, 2026
b318231
Add Azure Sentinel audit log support (#27280)
oss-agent-shin May 6, 2026
a3a42c6
[Chore] CI: Assign test_request_size_limit_middleware To Proxy-Runtim…
yuneng-berri May 6, 2026
f1c91d7
[Chore] CI: Block PRs that drop overall code coverage (#27340)
yuneng-berri May 6, 2026
854456f
Fix Prometheus remaining metric zero values (#27348)
May 7, 2026
a67b7a7
Refactor Bedrock response stream shape handling (#27257)
harish-berri May 7, 2026
fee5900
feat(xai): add grok-4.3 and grok-4.3-latest to model_prices_and_conte…
May 7, 2026
9f1b41d
fix(proxy): run model-level post_call guardrails on streaming request…
michelligabriele May 7, 2026
2f9519d
[Fix] Tests: Reduce VCR cassette bloat and fix multipart caching
yuneng-berri May 7, 2026
db8198f
[Fix] Allow non-admin compliance path reads (#27234)
Michael-RZ-Berri May 7, 2026
b9b3151
Merge pull request #27409 from BerriAI/litellm_/inspiring-allen-ec64a4
yuneng-berri May 7, 2026
29e4eb1
Merge pull request #27222 from BerriAI/litellm_s3AuditParams
shivamrawat1 May 7, 2026
b891a20
Preserve LiteLLM headers for passthrough responses (#27412)
May 7, 2026
3b78a3a
fix(chat-completions): decode unified file_id when model_file_id_mapp…
michelligabriele May 7, 2026
9e7dc5e
[Fix] Realtime Tests: Update Deprecated OpenAI Model Pin
yuneng-berri May 7, 2026
4189d78
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
yuneng-berri May 7, 2026
a64716e
[Fix] Fine-Tuning Test: Wait for OpenAI File Propagation
yuneng-berri May 7, 2026
a8cad84
[Fix] Fine-Tuning Test: Retry on File Propagation 400
yuneng-berri May 7, 2026
5256a1f
[Fix] Fine-Tuning Test: Bump Off Deprecated gpt-3.5-turbo-0125
yuneng-berri May 7, 2026
e4c1486
feat(mcp): add OBO MCP Auth (#27421)
May 7, 2026
a43dc9f
[Fix] Batches Tests: Remove VCR Auto-Marker
yuneng-berri May 7, 2026
0fb88d5
Merge pull request #27415 from BerriAI/litellm_/sweet-mcclintock-2b3656
yuneng-berri May 7, 2026
63bda3f
Merge remote-tracking branch 'upstream/litellm_internal_staging' into…
stuxf May 7, 2026
5bafa8b
Drop dep bumps + black-26 reformat to clear fork CI policy
stuxf May 7, 2026
451ce16
fix: remove separate health app
yassinkortam May 7, 2026
9ae9b81
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
yuneng-berri May 7, 2026
40a490a
Merge pull request #27241 from BerriAI/litellm_/nifty-kilby-82870d
yuneng-berri May 7, 2026
44aecb6
bump: version 1.84.0 → 1.85.0
yuneng-berri May 7, 2026
086a237
uv lock
yuneng-berri May 7, 2026
4d6e2bc
Bump wolfi-base to latest (2026-05-05)
stuxf May 7, 2026
f08b1b6
Bump npm 11.12.1 -> 11.14.0 to clear ip-address GHSA-v2v4-37r5-5v8g
stuxf May 7, 2026
9a2aeb0
Drop diskcache changes from PR
stuxf May 8, 2026
f74fd43
Drop liccheck black allowlist entry
stuxf May 8, 2026
3d67f00
test(interactions): align openapi compliance with upstream rename out…
yuneng-berri May 8, 2026
d351abd
Merge pull request #27430 from BerriAI/litellm_fix/remove-separate-he…
yuneng-berri May 8, 2026
a20c020
Merge pull request #27432 from BerriAI/litellm_/elegant-mestorf-549737
yuneng-berri May 8, 2026
309cc36
Merge branch 'litellm_yj_may7' into cve-sweep-2026-05
yuneng-berri May 8, 2026
5082f9b
Merge pull request #27225 from stuxf/cve-sweep-2026-05
yuneng-berri May 8, 2026
5e2c283
fix(docker): restore npm@11.14.0 lost in merge resolution
yuneng-berri May 8, 2026
a6195cc
Merge pull request #27433 from BerriAI/litellm_yj_may7
yuneng-berri May 8, 2026
1f1963f
Merge remote-tracking branch 'origin' into yj_bump_may7
yuneng-berri May 8, 2026
ee8d8c4
Merge pull request #27431 from BerriAI/yj_bump_may7
yuneng-berri May 8, 2026
faba1fd
Merge remote-tracking branch 'origin/main' into litellm_merge_main_st…
yuneng-berri May 8, 2026
98cd057
Merge pull request #27437 from BerriAI/litellm_merge_main_staging
yuneng-berri May 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
341 changes: 298 additions & 43 deletions .circleci/config.yml

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions .github/workflows/test-unit-proxy-db.yml
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@ jobs:
tests/proxy_unit_tests/test_server_root_path.py
tests/proxy_unit_tests/test_proxy_pass_user_config.py
tests/proxy_unit_tests/test_proxy_token_counter.py
tests/proxy_unit_tests/test_request_size_limit_middleware.py
workers: 4
dist: loadscope
timeout: 15
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -100,4 +100,5 @@ STABILIZATION_TODO.md
**/playwright-report
**/*.storageState.json
**/coverage
test-config
test-config
.vscode
20 changes: 10 additions & 10 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Base image for building
ARG LITELLM_BUILD_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:3258be472764337fd13095bcbb3182da170243b5819fd67ad4c0754590588b31
ARG LITELLM_BUILD_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:31da6565f35af6401031c1d7aa91dc84ac76c5c48edd17fb90f0ed9e3173c7a9

# Runtime image
ARG LITELLM_RUNTIME_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:3258be472764337fd13095bcbb3182da170243b5819fd67ad4c0754590588b31
ARG LITELLM_RUNTIME_IMAGE=cgr.dev/chainguard/wolfi-base@sha256:31da6565f35af6401031c1d7aa91dc84ac76c5c48edd17fb90f0ed9e3173c7a9
ARG UV_IMAGE=ghcr.io/astral-sh/uv:0.11.7@sha256:240fb85ab0f263ef12f492d8476aa3a2e4e1e333f7d67fbdd923d00a506a516a

FROM $UV_IMAGE AS uvbin
Expand Down Expand Up @@ -68,8 +68,8 @@ FROM $LITELLM_RUNTIME_IMAGE AS runtime

USER root

RUN apk add --no-cache bash openssl tzdata nodejs npm python3 libsndfile supervisor && \
npm install -g npm@11.12.1 tar@7.5.11 glob@13.0.6 @isaacs/brace-expansion@5.0.1 brace-expansion@5.0.5 minimatch@10.2.4 diff@8.0.3 picomatch@4.0.4 && \
RUN apk add --no-cache bash openssl tzdata nodejs npm python3 libsndfile && \
npm install -g npm@11.14.0 tar@7.5.11 glob@13.0.6 @isaacs/brace-expansion@5.0.1 brace-expansion@5.0.5 minimatch@10.2.4 diff@8.0.3 picomatch@4.0.4 && \
GLOBAL="$(npm root -g)" && \
for pkg in tar glob @isaacs/brace-expansion brace-expansion minimatch diff picomatch; do \
name="${pkg##*/}"; \
Expand All @@ -85,17 +85,17 @@ ENV PATH="/app/.venv/bin:${PATH}"

COPY --from=builder /app /app
# Prisma binaries live in $HOME/.cache (default prisma-python location),
# which is /root/.cache here. Copy them from the builder so they survive
# deployments that volume-mount /app/.cache (e.g. readOnlyRootFilesystem
# + emptyDir) — otherwise the mount would shadow the baked-in query engine.
COPY --from=builder /root/.cache /root/.cache
# which is /root/.cache here. Copy only the Prisma subdirs — copying the
# whole /root/.cache drags in the uv build cache (~660 MB, includes a
# setuptools wheel that surfaces as a CVE finding even though it's not
# on the runtime sys.path).
COPY --from=builder /root/.cache/prisma /root/.cache/prisma
COPY --from=builder /root/.cache/prisma-python /root/.cache/prisma-python

RUN find /app/.venv -type f -path "*/tornado/test/*" -delete && \
find /app/.venv -type d -path "*/tornado/test" -delete

EXPOSE 4000/tcp

COPY docker/supervisord.conf /etc/supervisord.conf

ENTRYPOINT ["docker/prod_entrypoint.sh"]
CMD ["--port", "4000"]
7 changes: 6 additions & 1 deletion codecov.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
codecov:
require_ci_to_pass: false # post coverage status even if CI has unrelated failures
notify:
wait_for_ci: false # post as soon as expected uploads arrive, don't wait on CI

component_management:
individual_components:
- component_id: "Router"
Expand Down Expand Up @@ -28,7 +33,7 @@ coverage:
project:
default:
target: auto
threshold: 1% # at maximum allow project coverage to drop by 1%
threshold: 0% # do not allow project coverage to drop
patch:
default:
target: auto
Expand Down
34 changes: 20 additions & 14 deletions deploy/charts/litellm-helm/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -116,21 +116,32 @@ spec:
name: {{ include "redis.secretName" .Subcharts.redis }}
key: {{include "redis.secretPasswordKey" .Subcharts.redis }}
{{- end }}
{{- /*
Inject LITELLM_LOG only when envVars does not already define it.
*/}}
{{- if and .Values.logLevel (not (hasKey (default dict .Values.envVars) "LITELLM_LOG")) }}
- name: LITELLM_LOG
value: {{ .Values.logLevel | quote }}
{{- end }}
{{- if .Values.envVars }}
{{- range $key, $val := .Values.envVars }}
- name: {{ $key }}
value: {{ $val | quote }}
{{- end }}
{{- end }}
{{- if .Values.separateHealthApp }}
- name: SEPARATE_HEALTH_APP
value: "1"
- name: SEPARATE_HEALTH_PORT
value: {{ .Values.separateHealthPort | default "8081" | quote }}
{{- end }}
{{- with .Values.extraEnvVars }}
{{- toYaml . | nindent 12 }}
{{- end }}
{{- if .Values.migrationJob.enabled }}
# Schema updates are owned by the dedicated migrations Job; skip
# the proxy's startup `prisma db push` so N replicas don't race
# one DB on every rollout. Placed last (after envVars and
# extraEnvVars) so this override can't be silently shadowed by a
# user-supplied DISABLE_SCHEMA_UPDATE under last-wins duplicate-env
# semantics — same pattern the migrations Job uses.
- name: DISABLE_SCHEMA_UPDATE
value: "true"
{{- end }}
envFrom:
{{- range .Values.environmentSecrets }}
- secretRef:
Expand Down Expand Up @@ -158,15 +169,10 @@ spec:
- name: http
containerPort: {{ .Values.service.port }}
protocol: TCP
{{- if .Values.separateHealthApp }}
- name: health
containerPort: {{ .Values.separateHealthPort | default 8081 }}
protocol: TCP
{{- end }}
livenessProbe:
httpGet:
path: {{ .Values.livenessProbe.path | quote }}
port: {{ if .Values.separateHealthApp }}"health"{{ else }}"http"{{ end }}
port: "http"
initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.livenessProbe.periodSeconds }}
timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }}
Expand All @@ -175,7 +181,7 @@ spec:
readinessProbe:
httpGet:
path: {{ .Values.readinessProbe.path | quote }}
port: {{ if .Values.separateHealthApp }}"health"{{ else }}"http"{{ end }}
port: "http"
initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }}
Expand All @@ -184,7 +190,7 @@ spec:
startupProbe:
httpGet:
path: {{ .Values.startupProbe.path | quote }}
port: {{ if .Values.separateHealthApp }}"health"{{ else }}"http"{{ end }}
port: "http"
initialDelaySeconds: {{ .Values.startupProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.startupProbe.periodSeconds }}
timeoutSeconds: {{ .Values.startupProbe.timeoutSeconds }}
Expand Down
10 changes: 5 additions & 5 deletions deploy/charts/litellm-helm/tests/deployment_tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -257,16 +257,16 @@ tests:
value: 0
- equal:
path: spec.template.spec.containers[0].livenessProbe.periodSeconds
value: 10
value: 15
- equal:
path: spec.template.spec.containers[0].livenessProbe.timeoutSeconds
value: 1
value: 5
- equal:
path: spec.template.spec.containers[0].livenessProbe.successThreshold
value: 1
- equal:
path: spec.template.spec.containers[0].livenessProbe.failureThreshold
value: 3
value: 5
- equal:
path: spec.template.spec.containers[0].readinessProbe.httpGet.path
value: /health/readiness
Expand All @@ -278,7 +278,7 @@ tests:
value: 10
- equal:
path: spec.template.spec.containers[0].readinessProbe.timeoutSeconds
value: 1
value: 5
- equal:
path: spec.template.spec.containers[0].readinessProbe.successThreshold
value: 1
Expand All @@ -296,7 +296,7 @@ tests:
value: 10
- equal:
path: spec.template.spec.containers[0].startupProbe.timeoutSeconds
value: 1
value: 5
- equal:
path: spec.template.spec.containers[0].startupProbe.successThreshold
value: 1
Expand Down
29 changes: 17 additions & 12 deletions deploy/charts/litellm-helm/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -88,34 +88,28 @@ service:
# optionally specify loadBalancerClass
# loadBalancerClass: tailscale

# Separate health app configuration
# When enabled, health checks will use a separate port and the application
# will receive SEPARATE_HEALTH_APP=1 and SEPARATE_HEALTH_PORT from environment variables
separateHealthApp: false
separateHealthPort: 8081

# Probe tuning for proxy container
# Probes for LiteLLM gateway container
livenessProbe:
path: /health/liveliness
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
periodSeconds: 15
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 3
failureThreshold: 5

readinessProbe:
path: /health/readiness
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 3

startupProbe:
path: /health/readiness
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 30

Expand Down Expand Up @@ -329,6 +323,17 @@ migrationJob:
helm:
enabled: false

# Log level for the litellm proxy (sets LITELLM_LOG in the deployment env).
# Rendered as a direct `env:` entry, which in Kubernetes takes precedence over
# any `envFrom:` source. If you currently source LITELLM_LOG from an
# environmentSecret or environmentConfigMap, set `logLevel: ""` here to
# disable injection — otherwise this value silently overrides your secret /
# configmap entry.
#
# Setting LITELLM_LOG inside `envVars:` below also wins: the template skips
# this injection entirely when envVars already defines LITELLM_LOG.
logLevel: INFO

# Additional environment variables to be added to the deployment as a map of key-value pairs
envVars: {}

Expand Down
4 changes: 1 addition & 3 deletions docker/Dockerfile.database
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ FROM $LITELLM_RUNTIME_IMAGE AS runtime

USER root

RUN apk add --no-cache bash openssl tzdata nodejs npm python3 libsndfile supervisor && \
RUN apk add --no-cache bash openssl tzdata nodejs npm python3 libsndfile && \
npm install -g npm@11.12.1 tar@7.5.11 glob@11.1.0 @isaacs/brace-expansion@5.0.1 minimatch@10.2.4 diff@8.0.3 && \
GLOBAL="$(npm root -g)" && \
find "$GLOBAL/npm" -type d -name "tar" -path "*/node_modules/tar" | while read d; do \
Expand Down Expand Up @@ -102,7 +102,5 @@ RUN find /app/.venv -type f -path "*/tornado/test/*" -delete && \

EXPOSE 4000/tcp

COPY docker/supervisord.conf /etc/supervisord.conf

ENTRYPOINT ["docker/prod_entrypoint.sh"]
CMD ["--port", "4000"]
3 changes: 1 addition & 2 deletions docker/Dockerfile.non_root
Original file line number Diff line number Diff line change
Expand Up @@ -103,13 +103,12 @@ RUN for i in 1 2 3; do \
apk upgrade --no-cache && break || sleep 5; \
done && \
for i in 1 2 3; do \
apk add --no-cache python3 bash openssl tzdata supervisor libsndfile nodejs && break || sleep 5; \
apk add --no-cache python3 bash openssl tzdata libsndfile nodejs && break || sleep 5; \
done

COPY --from=builder /app /app
COPY --from=builder /var/lib/litellm/ui /var/lib/litellm/ui
COPY --from=builder /var/lib/litellm/assets /var/lib/litellm/assets
COPY --from=builder /app/docker/supervisord.conf /etc/supervisord.conf

ENV PATH="/app/.venv/bin:${PATH}" \
PRISMA_BINARY_CACHE_DIR=/app/.cache/prisma-python/binaries \
Expand Down
8 changes: 1 addition & 7 deletions docker/prod_entrypoint.sh
Original file line number Diff line number Diff line change
@@ -1,14 +1,8 @@
#!/bin/sh

if [ "$SEPARATE_HEALTH_APP" = "1" ]; then
export LITELLM_ARGS="$@"
export SUPERVISORD_STOPWAITSECS="${SUPERVISORD_STOPWAITSECS:-3600}"
exec supervisord -c /etc/supervisord.conf
fi

if [ "$USE_DDTRACE" = "true" ]; then
export DD_TRACE_OPENAI_ENABLED="False"
exec ddtrace-run litellm "$@"
else
exec litellm "$@"
fi
fi
46 changes: 0 additions & 46 deletions docker/supervisord.conf

This file was deleted.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions litellm-js/spend-logs/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading