Commit graph

45703 commits

Author SHA1 Message Date
yuneng-jiang
dd2f80fdc3
Merge pull request #43821 from BerriAI/litellm_sync_stable_1_100_x
chore(release): sync stable/1.100.x to v1.100.4
2026-09-30 10:59:40 -07:00
yuneng-jiang
883282fb72
Merge pull request #10 from BerriAI/litellm_session_token_1_100_x
refactor(auth): bind UI/CLI session tokens to their own AES-GCM context (stable/1.100.x)
2026-09-29 15:39:06 -07:00
Yuneng Jiang
241abaec79
chore(lint): scope a TRY004 suppression to the bearer-token salt key check
This line's ruff strict budget has no headroom for the one TRY004 the
backport adds; the raise reports missing configuration, not a bad type.
2026-09-29 15:34:34 -07:00
Yuneng Jiang
f7cd90f09e
refactor(auth): bind UI/CLI session tokens to their own AES-GCM context
Backport of BerriAI/litellm-private#5 (12981f93d3) onto stable/1.100.x, applied as
the PR's net diff so main-only intermediate refactors stay out.

The dashboard and lite CLI SSO specs under tests/e2e/ui/oidc are left out
because this line has no OIDC e2e harness to run them.
2026-09-29 15:17:24 -07:00
yuneng-jiang
bdff5cb30c
Merge pull request #9 from BerriAI/litellm_bump_1_100_4
chore: bump litellm 1.100.3 -> 1.100.4
2026-09-28 17:05:44 -07:00
Yuneng Jiang
cd6eb1099f
bump: litellm 1.100.3 -> 1.100.4 2026-09-28 15:08:09 -07:00
yuneng-jiang
385266c14d
Merge pull request #43132 from BerriAI/litellm_backport_1_100_x_gpt6_budget_0924
chore(release): backport #39631, #39729, #40639 to stable/1.100.x and cut 1.100.3
2026-09-24 22:29:19 -07:00
Yuneng Jiang
04fcee8ff1
chore: refresh uv.lock for 1.100.3 2026-09-24 20:39:38 -07:00
Yuneng Jiang
5651c5a008
bump: version 1.100.2 → 1.100.3 2026-09-24 20:39:38 -07:00
Yuneng Jiang
78be1b7303
chore(deps): bump soupsieve to 2.9 2026-09-24 20:39:00 -07:00
Yuneng Jiang
559dce5c83
chore(deps): bump pypdf to 6.16.1 2026-09-24 20:39:00 -07:00
Yuneng Jiang
c18d0307da
chore(deps): bump tornado to 6.5.8 2026-09-24 20:39:00 -07:00
Yuneng Jiang
b830735f56
chore(deps): bump gitpython to 3.1.60 2026-09-24 20:39:00 -07:00
Yuneng Jiang
c8bc09ea51
chore(deps): bump anyio to 4.14.2 2026-09-24 20:39:00 -07:00
ryan-crabbe-berri
6b103ed064
fix(reset_budget_job): reset end users by budget link, not by user id (#40639)
Adapted for stable/1.100.x: added Final to the test module's typing import; upstream's test file already imported it.

(cherry picked from commit 8a4fae0e17)
2026-09-24 20:39:00 -07:00
amasen02
bc9712f045
fix(proxy): invalidate end-user spend counter and cache on budget reset (#39726)
Adapted for stable/1.100.x: reflowed one generator to this line's ruff format (upstream reformatted it in a later style commit).

Signed-off-by: amasen02 <amasen02@users.noreply.github.com>
(cherry picked from commit daced81f20)
2026-09-24 20:39:00 -07:00
Mateo Wang
b68fcee3ca
fix: treat gpt-6 names as the gpt-5 request family in OpenAI and Azure configs (#39631)
Adapted for stable/1.100.x: import-context conflict only (upstream's neighbouring custom_tools import is not on this line); the added and removed lines are identical to upstream.

(cherry picked from commit 025a3ca42f)
2026-09-24 20:38:59 -07:00
Mateo Wang
9c1216a427
Merge pull request #42597 from BerriAI/litellm_cherrypick_1_100_x
feat(typesafe): backport #41607 to stable/1.100.x for v1.100.2
2026-09-22 20:01:40 -07:00
mateo-berri
1ebc488f07 feat(typesafe): add TypeSafe Jev passthrough with logging and cost tracking
Backport of #41607 to stable/1.100.x.
Cherry-picked from deb9d8aedd (main).

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-22 21:34:24 +00:00
Mateo Wang
35f5b7c1b3
Merge pull request #42532 from BerriAI/litellm_cherrypick_safeguards_1_100_x
fix(anthropic): backport #42152 and #42288 to stable/1.100.x for v1.100.2
2026-09-22 14:29:28 -07:00
kerry
4438739b46 fix(test): run the all-beta-headers bedrock cases on Claude Fable 5.1
Backport of #42048 to stable/1.100.x.
Cherry-picked from 7966f50c34 (main). The safeguards backport maps the dangerous-tool-use-2026-09-03 beta for Bedrock, which Claude Opus 4.5 on Bedrock Invoke rejects as an invalid beta flag, so the all-beta-headers Bedrock cases run on Claude Fable 5.1 as they do on main.
2026-09-22 12:55:12 -07:00
mateo-berri
8ccfd6a84e chore(types): keep the backported safeguards annotations within the line's budgets
The picked TypedDict fields use read-only Sequence[Mapping[str, object]] annotations and the picked Vertex test carries a test-quality-ok marker, so stable/1.100.x's LIT001, LIT012 and TQ008 budgets hold. Static typing only, no runtime change.
2026-09-22 11:42:39 -07:00
mateo-berri
eb23cee8ff test: add the local_beta_headers_config fixture the safeguards tests use
Hand-ported to stable/1.100.x from 47b2479c94 on main (fix(bedrock): gate Invoke tool search on the model map's supports_tool_search flag), the one prerequisite the #42288 handler tests need; the rest of that commit stays on main.
2026-09-22 10:38:07 -07:00
mateo-berri
0d95fba73c fix(anthropic): forward Claude Code safeguards and dangerous-tool-use beta to Bedrock Invoke and Vertex on /v1/messages
Backport of #42288 to stable/1.100.x.
Cherry-picked from merge commit fc82f6e8fa (litellm_safeguards_bedrock_vertex_messages).
The line has no bedrock_mantle beta-header mapping and no Mantle /v1/messages route, so the Mantle mapping, its test file, and the bedrock_mantle test parameter are left out.
2026-09-22 10:16:54 -07:00
Yassin Kortam
3469a82da8 fix(anthropic): forward safeguards and anthropic-beta unchanged on native /v1/messages
Backport of #42152 to stable/1.100.x.
Cherry-picked from merge commit e912ebe999 (litellm_claude_code_safeguards_passthrough).
2026-09-22 10:16:25 -07:00
Mateo Wang
44d3c4f290
Merge pull request #42000 from BerriAI/litellm_cherrypick_1_100_x
fix(bedrock): backport #41870 and the GPT-6 reasoning gate fix to stable/1.100.x for v1.100.2
2026-09-19 15:34:17 -07:00
mateo-berri
5545ca9e86 fix(bedrock): match any openai.gpt-<digit> model in the Converse reasoning gate
Backports the Converse part of fbc6fb56ae from main (PR #31884). The gate only matched
openai.gpt-5, so a GPT-6 model fell through to Anthropic's thinking block and Bedrock
rejected the first real turn after a Claude Code /model switch with 400 Unknown
parameter: 'thinking'. The Nova 2 tool_choice registry keys and the invoke json_mode
forwarding in that commit stay on main
2026-09-19 12:43:58 -07:00
mateo-berri
1a14aadd03 bump: version 1.100.2 2026-09-19 12:13:22 -07:00
mateo-berri
fff43dfc05 fix(bedrock): clamp maxTokens to the 16-token minimum for OpenAI GPT and xAI Grok models on Converse (#41870)
Backport of #41870 to stable/1.100.x. Cherry-picked from a6e3a72ed8 (main) with -m 1.

converse_transformation.py conflicted because this line has no `import re` and no
_is_openai_gpt_reasoning_model helper next to the insertion point. The resolution adds
exactly the four hunks #41870 merged: the import, the 16-token constant,
_requires_min_max_tokens, and the clamped maxTokens assignment. The test file applied clean.
2026-09-19 12:11:50 -07:00
Mateo Wang
b7d81e98b6
Merge pull request #41208 from BerriAI/litellm_backport_1_100_x_responses_content_policy_fallback
fix(responses): backport mid-stream content_policy_violation fallback routing to stable/1.100.x
2026-09-15 02:47:52 -07:00
mateo-berri
40f4fa2629 test(responses): import import_module in the error-events tests 2026-09-15 01:41:17 -07:00
mateo-berri
2e3a7f689d fix(responses): keep context-window events out of mid-stream fallback and fix stale exception assertions
(cherry picked from commit fff7a2cecf)
2026-09-15 01:16:38 -07:00
mateo-berri
2e44af6d20 fix(responses): import BaseLLMException lazily and collect stream chunks via anext
Move the BaseLLMException import into _map_error_event_exception so the
module no longer imports it at load time, clearing the module-level cyclic
import CodeQL flagged. The class is used only on the cold error path.

Replace the mutable list-append test collector with aiter/anext so the
regression tests read the stream immutably.

(cherry picked from commit c246372859)
2026-09-15 01:16:38 -07:00
mateo-berri
80b2c803bd fix(responses): route mid-stream error events through exception_type so content_policy_fallbacks fire
Mid-stream error events on the streaming Responses API were all raised as
APIError, so a content_policy_violation event never matched the router's
content-policy fallback dispatch and the client got the raw error instead
of the fallback model's answer. Map each error event's code and status
through the existing exception_type mapping, matching the non-streaming
path, and unwrap the typed ContentPolicyViolationError and
ContextWindowExceededError so the router routes them to the configured
content_policy_fallbacks and context_window_fallbacks.

(cherry picked from commit 073d4fe2b0)
2026-09-15 01:16:38 -07:00
Mateo Wang
1dba17b10d
Merge pull request #40495 from BerriAI/litellm_revert_1_100_x_spend_backports
revert: drop the spend attribution backports from stable/1.100.x
2026-09-09 18:10:35 -07:00
mateo-berri
dec2c2a72a Revert "fix(spend-tracking): keep batch spend keys joinable after v1.99 provenance gate (#39568)"
This reverts commit 803e0f736e.
2026-09-09 16:58:47 -07:00
mateo-berri
d7198f48c0 Revert "fix(spend-tracking): keep internal service-account key names readable in spend logs (#39572)"
This reverts commit c2e18a4320.
2026-09-09 16:58:46 -07:00
Mateo Wang
e4e811ce2b
Merge pull request #40455 from BerriAI/litellm_backport_1_100_x_retry_breadcrumb_growth
fix(router): backport #39491 to stable/1.100.x so retry breadcrumbs stop retaining every earlier request
2026-09-09 14:27:44 -07:00
mateo-berri
a9ea5713ab test(router): type the breadcrumb test helpers 2026-09-09 14:01:38 -07:00
mateo-berri
76b5fec1c5 fix(router): keep retry breadcrumbs per request and out of the request snapshot
Backport of #39491 to stable/1.100.x. Cherry-picked from 7bc2d0b06e (litellm_internal_staging), with the router hunk of 7c87451ead.
2026-09-09 13:21:09 -07:00
Mateo Wang
ecc04bf811
Merge pull request #40176 from BerriAI/litellm_backport_1_100_x_spend_key_hash
chore(release): backport #39568 and #39572 to stable/1.100.x and cut 1.100.1
2026-09-07 17:18:00 -07:00
mateo-berri
0b176c30de chore: refresh uv.lock for 1.100.1 2026-09-07 16:05:53 -07:00
mateo-berri
8b0ae0285f bump: version 1.100.0 -> 1.100.1 2026-09-07 16:05:47 -07:00
mateo-berri
c2e18a4320 fix(spend-tracking): keep internal service-account key names readable in spend logs (#39572)
Backport of #39572 to stable/1.100.x.
Cherry-picked from merge commit da09976c16 (litellm_internal_staging) with -m 1.
2026-09-07 16:00:13 -07:00
Mateo Wang
803e0f736e fix(spend-tracking): keep batch spend keys joinable after v1.99 provenance gate (#39568)
Backport of #39568 to stable/1.100.x.
Cherry-picked from merge commit 04a198e3e3 (litellm_internal_staging) with -m 1.
2026-09-07 16:00:01 -07:00
yuneng-jiang
e4f2526570
Merge pull request #39992 from BerriAI/litellm_rc-1.100.0-wolfi-glibc-2.44
fix(docker): bump wolfi-base for glibc 2.44 and pin apk python to 3.13 on rc/1.100.0 (cherry-pick #38917, #38973)
2026-09-05 18:45:39 -07:00
mateo-berri
13f98f83f3
fix(docker): bump wolfi-base for glibc 2.44 and pin apk python to 3.13 in migrations image
(cherry picked from commit 39473745dd)
2026-09-05 18:06:16 -07:00
mateo-berri
728dec258f
fix(docker): bump wolfi-base for glibc 2.44 and pin apk python to 3.13
(cherry picked from commit 14f392bb9b)
2026-09-05 18:06:16 -07:00
yuneng-jiang
10631eb834
Merge pull request #38805 from BerriAI/litellm_internal_staging
chore(ci): promote internal staging to main
2026-08-29 18:09:58 -07:00
yuneng-jiang
6b33d17563
Merge pull request #38850 from BerriAI/litellm_e2e_retry_transient_upstream
test(e2e): retry upstream-saturation failures in the claude CLI driver
2026-08-29 17:48:04 -07:00