Commit graph

36210 commits

Author SHA1 Message Date
ryan-crabbe-berri
5b651048f2
Merge pull request #24706 from BerriAI/litellm_fix-jwt-none-guard
fix(auth): guard JWTHandler.is_jwt() against None token
2026-03-27 18:06:24 -07:00
ryan-crabbe-berri
a533de0b08
Merge pull request #24701 from BerriAI/litellm_fix-jwt-role-mappings
fix(sso): pass decoded JWT access token to role mapping during SSO login
2026-03-27 18:06:15 -07:00
ryan-crabbe-berri
52e9ca7a73
Merge pull request #24708 from BerriAI/litellm_fix-bulk-update
fix: add /user/bulk_update to management routes
2026-03-27 18:05:16 -07:00
Ryan Crabbe
0c67f274e5
docs: add /user/bulk_update to internal_user_endpoints module docstring 2026-03-27 18:01:08 -07:00
Ryan Crabbe
a5ff668f5e
fix: add /user/bulk_update to management_routes so proxy admins can access it
/user/bulk_update was missing from the management_routes list in _types.py,
causing it to fall through to a 403 in non_proxy_admin_allowed_routes_check
even for proxy admin users. Also added it to the PROXY_ADMIN_VIEW_ONLY
blocked write operations list in route_checks.py to prevent view-only
admins from using it.
2026-03-27 17:50:42 -07:00
Ryan Crabbe
8e3755931d
test(auth): add regression tests for JWTHandler.is_jwt(None)
Add None-token test cases to both proxy_unit_tests and test_litellm
to cover the guard added in the previous commit. Also add -> bool
return type annotation to is_jwt().
2026-03-27 16:51:08 -07:00
Ryan Crabbe
e36ab04a18
fix(auth): guard JWTHandler.is_jwt() against None token
When JWT auth is enabled and a request arrives without an Authorization
header (e.g. health checks, monitoring), api_key is None due to
APIKeyHeader(auto_error=False). The is_jwt() call crashes with
AttributeError: 'NoneType' object has no attribute 'split'.

Return False for None tokens since they are not JWTs.
2026-03-27 16:51:08 -07:00
Ryan Crabbe
e24819afef
fix(sso): pass decoded JWT access token to role mapping during SSO login
During SSO login, bearer tokens are stripped from the OAuth response
before role mapping runs. Custom role claims encoded inside the JWT
access token are lost, so map_jwt_role_to_litellm_role() returns None
and the user falls back to internal_user_viewer.

process_sso_jwt_access_token() now returns the decoded JWT payload, and
a new _sync_user_role_from_jwt_role_map() receives it so
jwt_litellm_role_map works correctly during SSO login.
2026-03-27 13:50:30 -07:00
Krrish Dholakia
8f425ec3ff fix: update ioc to include checkmarx.zone 2026-03-26 15:43:01 -07:00
ishaan-berri
6153793f81
Merge pull request #24649 from BerriAI/ishaan-berri-patch-1
Update README.md
2026-03-26 15:22:23 -07:00
ishaan-berri
b69ce9fafa
Update README.md 2026-03-26 15:22:11 -07:00
yuneng-jiang
25feae9f0f
Merge pull request #24607 from BerriAI/litellm_gha_pin_pt_2
[Infra] Pin GHA dependencies and remove unused load test files
2026-03-26 08:47:38 -07:00
yuneng-jiang
bdf4acc472
Merge pull request #24468 from BerriAI/litellm_opencode-drop-reasoningSummary-docs
docs(opencode): add guidance for dropping reasoningSummary param
2026-03-25 23:00:56 -07:00
Yuneng Jiang
84be6f69ef fix google-cloud-aiplatform pin to be compatible with google-genai==1.22.0
Pin to 1.115.0 (latest version that doesn't require google-genai>=1.59.0).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 22:37:43 -07:00
Yuneng Jiang
1beb687f54 pin GHA dependencies + remove unused load test files
Pin all pip install commands to exact versions and SHA-pin all GitHub
Actions to prevent supply chain attacks. Remove snok/install-poetry
in favor of direct pip install. Delete orphaned load test scripts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 22:32:08 -07:00
Krrish Dholakia
df2a36dd27 docs: document new github + gitlab ci scripts 2026-03-25 20:17:10 -07:00
yuneng-jiang
437341c9b5
Merge pull request #24594 from BerriAI/litellm_gha_pin_helm
[Infra] Pins GitHub Action workflows to specific hashes
2026-03-25 18:17:21 -07:00
Yuneng Jiang
b90a0af0d7 remove extra @ 2026-03-25 17:46:37 -07:00
Yuneng Jiang
a989587525 re-add helm unit test with checksum pin 2026-03-25 17:38:36 -07:00
Yuneng Jiang
f86b240d7e pin github scripts + remove unused 2026-03-25 17:38:36 -07:00
ryan-crabbe-berri
0d2b454cec
Merge pull request #24490 from BerriAI/litellm_ryan-march-23
Litellm ryan march 23
2026-03-25 16:04:12 -07:00
ishaan-berri
90b850ef8e
Merge pull request #24587 from BerriAI/remove-phone-numbers
docs: remove phone numbers from readme and docs
2026-03-25 12:45:42 -07:00
Ishaan Jaffer
a2f02aa139 docs: remove phone numbers from readme and docs 2026-03-25 12:40:40 -07:00
ishaan-berri
67609e04bc
Merge pull request #24584 from BerriAI/worktree-floofy-prancing-crystal
security: remove .claude/settings.json and block re-adding via semgrep
2026-03-25 12:28:06 -07:00
Ishaan Jaffer
b77e1ccea6 security: remove .claude/settings.json and add semgrep rule to prevent re-adding 2026-03-25 11:57:43 -07:00
Krrish Dholakia
7d7045cbc1 fix: cleanup 2026-03-25 09:20:25 -07:00
Krrish Dholakia
10a48f7655 docs: add tldr 2026-03-24 19:43:13 -07:00
ishaan-berri
d93ee444fd
Merge pull request #24541 from BerriAI/workflow-deletions
ci: remove publish-migrations and reset_stable workflows
2026-03-24 18:53:33 -07:00
Ishaan Jaffer
3e8a6f24b7 ci: remove all publish/deploy workflows as part of supply chain incident response 2026-03-24 18:03:04 -07:00
Ishaan Jaffer
3d5b1ecb3b ci: remove publish-migrations and reset_stable workflows 2026-03-24 17:59:07 -07:00
ishaan-berri
b26bc5a91c
Merge pull request #24540 from BerriAI/worktree-tingly-jumping-lovelace
docs: minor updates to security update blog post
2026-03-24 17:35:01 -07:00
ishaan-berri
e92edee7e7
Merge branch 'main' into worktree-tingly-jumping-lovelace 2026-03-24 17:34:51 -07:00
Ishaan Jaffer
f9d1f8cde6 docs: minor updates to security update blog post 2026-03-24 17:15:44 -07:00
Krrish Dholakia
4571f2a6c1 fix: add tldr to blog post 2026-03-24 16:54:59 -07:00
ishaan-berri
7455b115bf
Merge pull request #24537 from BerriAI/litellm_blog-security-incident
docs: add security update blog post for March 2026 supply chain incident
2026-03-24 16:07:45 -07:00
Ryan Crabbe
eaa025ef7d docs: add security update blog post for March 2026 supply chain incident 2026-03-24 15:54:35 -07:00
Krrish Dholakia
f9d29e4e4e fix(security_scans.sh): move to older trivvy version, based on https://github.com/BerriAI/litellm/issues/24518#issuecomment-4120401246 2026-03-24 11:19:15 -07:00
Krrish Dholakia
0af114fb3a
Merge pull request #24525 from BerriAI/litellm_pin_trivvy
fix(security_scans.sh): pin trivvy version
2026-03-24 09:15:34 -07:00
Krrish Dholakia
fb379865ab fix(security_scans.sh): pin trivvy version 2026-03-24 09:13:37 -07:00
ryan-crabbe
764b96b1aa
Merge pull request #24486 from BerriAI/litellm_ryan-march-23-audit-log-export
docs: add audit log export to S3 documentation
2026-03-23 22:54:39 -07:00
ryan-crabbe
ffbe3896d2
Update docs/my-website/docs/proxy/multiple_admins.md
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-03-23 22:54:08 -07:00
ryan-crabbe
4629dfe394
Merge pull request #24485 from BerriAI/litellm_migrate-route-preview-tremor-to-antd
chore: migrate route_preview.tsx from Tremor to Ant Design
2026-03-23 22:51:42 -07:00
Ryan Crabbe
57c027a2dc docs: add audit log export to S3 documentation 2026-03-23 22:46:38 -07:00
Krish Dholakia
9343aeefca
Merge pull request #24413 from benlangfeld/patch-2
Correct documentation of completion_model
2026-03-23 22:42:03 -07:00
Ryan Crabbe
7e50af9228 Migrate route_preview.tsx from Tremor to Ant Design
Replace Tremor Card/Title/Subtitle with antd Card/Typography equivalents.
2026-03-23 22:32:26 -07:00
ryan-crabbe
fb92ea21bc
Merge pull request #24475 from BerriAI/litellm_fix-sso-return-to-validation
fix(proxy): ignore return_to in SSO when control_plane_url is not con…
2026-03-23 22:15:45 -07:00
Ryan Crabbe
e40f68aec4 test(ui): add unit tests for 5 untested frontend components
- AntDLoadingSpinner: rendering, prop forwarding, icon styling
- MessageManager: static fallback, custom instance delegation
- claude_code_plugins/helpers: all pure utility functions (15 describe blocks, 55 tests)
- AgentSelector: fetch behavior, loading states, error handling, disabled state
- WorkerDropdown: conditional rendering, worker options, selection changes
2026-03-23 22:03:10 -07:00
Ryan Crabbe
0aadf51342 fix(proxy): ignore return_to in SSO when control_plane_url is not configured
Instead of returning a 400 error when return_to is passed without
control_plane_url configured, silently ignore it and proceed with
the normal same-origin SSO flow.
2026-03-23 21:54:29 -07:00
Sameer Kankute
80af635eb1 Fix docs 2026-03-24 09:44:04 +05:30
Sameer Kankute
4e6e566b4d docs(opencode): fix model prefix and clarify drop_params scope
- Use openai/gpt-5 prefix to match existing doc conventions
- Clarify that additional_drop_params must be added to every affected
  model entry, not just one

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 09:42:59 +05:30