Commit graph

52992 commits

Author SHA1 Message Date
kerry
810df257d8 test: keep prompt cache prediction logic tests and drop only their price pins
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-18 00:39:34 +00:00
Joshua Valluru
15b45839e1 test(mcp): enforce security regression contracts through live gateway 2026-09-17 17:37:40 -07:00
Joshua Valluru
b42e2827a5 ci(mcp): document pinned workflow action versions 2026-09-17 17:36:58 -07:00
Joshua Valluru
c19b5c5847 ci(deps): document pinned action versions 2026-09-17 17:36:46 -07:00
ryan-crabbe-berri
03ba5634a2
Merge pull request #40632 from BerriAI/litellm_fix_ui_disable_cache_control_injection_points
fix(ui): persist disabling cache control injection points on model update
2026-09-17 17:35:07 -07:00
kerry-berri
2842a2fb05
Merge pull request #41678 from BerriAI/litellm_auto-merge-drop-bot-gates
ci(auto-merge): stop requiring Greptile and Bugbot on price sync pull requests
2026-09-17 17:32:35 -07:00
kerry
b97c2d6307 test: drop pinned bedrock invoke cost literals
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-18 00:31:11 +00:00
Mateo Wang
cf42b607c3
Merge pull request #41615 from BerriAI/litellm_jev_complexity_classifier
feat(router): add TypeSafe Jev as a complexity router classifier
2026-09-17 17:31:08 -07:00
kerry
84d4d17bf8 Merge remote-tracking branch 'origin/main' into litellm_remove_brittle_price_pinning_tests
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

# Conflicts:
#	tests/test_litellm/llms/bedrock/chat/test_converse_transformation.py
2026-09-18 00:29:52 +00:00
Joshua Valluru
1dbcf31fe8 ci(mcp): run isolated dependency gates in GitHub Actions 2026-09-17 17:29:03 -07:00
kerry
c4620170ca test: delete assertions that pin vendor cost map facts
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-18 00:28:49 +00:00
yucheng-berri
a9bea4f64d
Merge pull request #41571 from BerriAI/litellm_policy_attachment_priority
feat(policy_engine): explicit priority for policy attachment execution order
2026-09-17 17:27:55 -07:00
mateo-berri
9ae5bde829 fix(bedrock_mantle): resolve gpt-5 sampling rules from the OpenAI catalogue entry 2026-09-17 17:25:59 -07:00
Joshua Valluru
0a87dc6cb1 ci(deps): run wheel installation gates in GitHub Actions 2026-09-17 17:25:20 -07:00
kerry
5d5f191a9c Merge remote-tracking branch 'origin/main' into litellm_auto-merge-drop-bot-gates 2026-09-18 00:20:29 +00:00
ryan
696587c4ab fix(ui): persist disabling cache control injection points on model update
Turning Cache Control off on the model edit screen omitted the field from the
PATCH body, which the backend reads as leave unchanged, so the stored
cache_control_injection_points list survived the save. The dashboard now sends
an explicit null when a stored list is being disabled, and update_db_model
clears that field on null the same way it already clears the mirrored pricing
fields. Omitted keys keep the stored value

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-18 00:20:22 +00:00
mateo-berri
82d252210e fix(proxy): word the token exchange's 503 by whether the database fault can clear
A permanent database fault (a missing or version-skewed query engine)
in the subject_token check was answered with the same "retry" wording
as a transient outage. The status stays 503 temporarily_unavailable,
the only OAuth error a client reads as the server's fault and what the
mint path already answers to the same fault, but the description now
says retrying will not help until the deployment is repaired, using
PrismaDBExceptionHandler.is_permanent_database_fault the way the mint
path does.
2026-09-17 17:20:17 -07:00
mateo-berri
853fd04bd5 test(router): price the unpriced Jev cost test off a model the registry never ships 2026-09-17 17:18:03 -07:00
yassin
4f8a5b5e12 Merge remote-tracking branch 'origin/main' into litellm_transcribe_passthrough
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

# Conflicts:
#	litellm/proxy/_lazy_features.py
#	litellm/proxy/_lazy_openapi_snapshot.json
#	litellm/proxy/pass_through_endpoints/success_handler.py
#	ui/litellm-dashboard/src/lib/http/schema.d.ts
2026-09-18 00:17:47 +00:00
ryan
761e0775b9 test(proxy): share the jwt key mapping test doubles across the deletion endpoint tests
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-18 00:17:45 +00:00
mateo-berri
d4b5f05f97 chore: merge main into litellm_foundry_a2a_entra_agents 2026-09-17 17:17:21 -07:00
mateo-berri
44fff9297d fix(a2a): narrow discovery status codes through a structural protocol
basedpyright cannot narrow the probe error through
isinstance(error, AgentCardResolutionError) while that class is imported
inside try/except ImportError, which left three reportAttributeAccessIssue
errors over the budget main now carries. A runtime-checkable Protocol with
the same status_code contract carries the narrowing instead, so the check
no longer depends on the possibly unbound SDK name and the import goes.
2026-09-17 17:17:21 -07:00
Joshua Valluru
3519d01549 test(mcp): add isolated SDK2 dependency compatibility gate 2026-09-17 17:16:47 -07:00
yassin
ea1fd5f288 fix(proxy): price deleted Transcribe jobs from their start response and read media length without loading it
Restrict signed media fetches to https URLs, treat a job AWS no longer knows as
priceable from the media named in its StartTranscriptionJob response instead of
polling to the eight hour maximum, and read the media length with libsndfile
headers instead of decoding the whole file into memory

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-18 00:16:18 +00:00
Mateo Wang
02a20fe264
Merge pull request #41699 from BerriAI/litellm_fireworks_minimax_m3_supports_vision
fix(fireworks_ai): restore supports_vision on minimax-m3 in the cost map
2026-09-17 17:15:56 -07:00
kerry
68f2c64114 test: drop the cost map mutation gate script, its tests and the price relationship invariants
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-18 00:13:48 +00:00
kerry-berri
19aa9da7a7
Merge pull request #41703 from BerriAI/litellm_bump_soupsieve_osv
build(deps): bump soupsieve to 2.9.2 to clear the osv-scan advisories
2026-09-17 17:10:42 -07:00
mateo
b989e3bd0a test(ui): stub fetch without a type suppression in interactions playground test
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-18 00:10:03 +00:00
yucheng-berri
e99902c4dd
Merge pull request #41569 from BerriAI/litellm_azure_ptu_spillover_cost
fix(cost): price Azure PTU spillover requests at standard token rates
2026-09-17 17:09:40 -07:00
ryan-crabbe-berri
5156dbc67f fix(ui): show the saved team in read mode before the model query refetches
Read mode built the Team display from the react-query snapshot while save only wrote localModelData, so the old team flashed until the parent's invalidation refetched. Read the team from localModelData like the neighbouring fields and look up its alias from the local team id. The regression test also waits for the Select trigger to report expanded before clicking an option, because Base UI opens the popup asynchronously and keeps the closed popup mounted, which made back-to-back option clicks flaky.
2026-09-17 17:04:14 -07:00
Joshua Valluru
eebc76cf2c fix(deps): correct minimum versions for supported Python releases 2026-09-17 17:03:19 -07:00
ryan
e79d03e604 fix(proxy): evict jwt key mapping cache on bulk user and team member deletion
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-18 00:00:17 +00:00
yucheng-berri
4c70cb4815
Merge pull request #41578 from BerriAI/litellm_grafana_all_prometheus_metrics_dashboard
feat(grafana): add all-metrics dashboard and fix stale dashboard_v2 gauges
2026-09-17 16:57:32 -07:00
kerry
76ae1bfa2f build(deps): bump soupsieve to 2.9.2 to clear the osv-scan advisories
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 23:56:05 +00:00
kerry-berri
9e651c8fe3
Merge pull request #41536 from BerriAI/litellm_aws_govcloud_partition_gate
test(e2e): cover bedrock batch file upload and create in the us-gov-west-1 partition
2026-09-17 16:55:53 -07:00
kerry
d1b9360e5e test: drop the cost map independence workflow, keep the gate as a local script
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 23:55:04 +00:00
mateo-berri
064e49810a fix(bedrock): keep the tool search rule off azure_ai and pin dotted ids and Vertex fills 2026-09-17 16:48:15 -07:00
ryan
38586e9684 refactor(proxy): drop redundant docstring from organization key cleanup helper
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 23:46:32 +00:00
mateo-berri
c29d1c2813 chore: merge main into litellm_foundry_a2a_entra_agents 2026-09-17 16:45:07 -07:00
mateo
d09ccc4b0e fix(ui): parse current interaction stream events in playground
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 23:45:04 +00:00
yassin
d0591665b5 Merge remote-tracking branch 'origin/main' into HEAD
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

# Conflicts:
#	litellm/proxy/pass_through_endpoints/success_handler.py
#	tests/test_litellm/proxy/pass_through_endpoints/test_llm_pass_through_endpoints.py
2026-09-17 23:44:13 +00:00
Devin AI
569ef3ea25 merge: resolve conflict with main in member budget seeding
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 23:42:41 +00:00
ryan
1d50d1ad3b fix(proxy): rewrite every model allowlist in one statement on rename
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 23:40:59 +00:00
yassin
82ead97961 fix(proxy): resolve pass-through log dispatch lazily so instance patches still apply
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 23:39:59 +00:00
mateo-berri
99b83a2d52 fix(fireworks_ai): restore supports_vision on minimax-m3 in the cost map 2026-09-17 16:39:31 -07:00
mateo-berri
8e3742a5f3 fix(proxy): answer 503 temporarily_unavailable when the token exchange cannot verify the subject token
Some checks are pending
LiteLLM Rust / rust-lint (push) Waiting to run
LiteLLM Rust / rust-test (push) Waiting to run
LiteLLM Rust / rust-wheel (push) Waiting to run
A subject token JWT auth could not check, because the IdP's JWKS was unreachable with no cached copy or the auth database was down, came back as 400 invalid_request with the same fixed message a bad token gets, so clients re-logged in instead of retrying the way they already do for a mint-time 503. Those checks now answer 503 temporarily_unavailable and log the reason, while real rejections stay 400 invalid_request.
2026-09-17 16:39:02 -07:00
mateo-berri
42f2978061 Merge remote-tracking branch 'origin/main' into HEAD 2026-09-17 16:38:54 -07:00
mateo-berri
1e7e5b695f fix(router): reject a blank Jev api_key so it cannot pair with a caller-chosen api_base 2026-09-17 16:38:54 -07:00
Mateo Wang
deb9d8aedd
Merge pull request #41607 from BerriAI/litellm_typesafe_passthrough
Some checks are pending
LiteLLM Rust / rust-test (push) Waiting to run
Unit Tests: Documentation Validation / documentation (push) Waiting to run
Unit Tests: Proxy DB Operations / assert-shard-coverage (push) Waiting to run
Unit Tests: Proxy DB Operations / auth-checks (push) Blocked by required conditions
Unit Tests: Proxy DB Operations / budgets (push) Blocked by required conditions
Unit Tests: Proxy DB Operations / custom-logging (push) Blocked by required conditions
Unit Tests: Proxy DB Operations / db-and-spend (push) Blocked by required conditions
Unit Tests: Proxy DB Operations / endpoints-and-responses (push) Blocked by required conditions
Unit Tests: Proxy DB Operations / guardrails-hooks (push) Blocked by required conditions
Unit Tests: Proxy DB Operations / jwt-and-keys (push) Blocked by required conditions
Unit Tests: Proxy DB Operations / key-generation (push) Blocked by required conditions
Unit Tests: Proxy DB Operations / logging-misc (push) Blocked by required conditions
Unit Tests: Proxy DB Operations / proxy-runtime (push) Blocked by required conditions
Unit Tests: Proxy DB Operations / proxy-server-core (push) Blocked by required conditions
Unit Tests: Proxy DB Operations / proxy-utils (push) Blocked by required conditions
Unit Tests / caching-local (push) Waiting to run
Unit Tests / core-utils (push) Waiting to run
Unit Tests / enterprise-package (push) Waiting to run
Unit Tests / enterprise-routing (push) Waiting to run
Unit Tests / integrations (push) Waiting to run
Unit Tests / All Other Providers (push) Waiting to run
Unit Tests / Vertex AI (push) Waiting to run
Unit Tests / misc (push) Waiting to run
Unit Tests / proxy-auth (push) Waiting to run
Unit Tests / proxy-endpoints (push) Waiting to run
Unit Tests / proxy-extras (push) Waiting to run
Unit Tests / proxy-infra (push) Waiting to run
Unit Tests / proxy-server (push) Waiting to run
Unit Tests / responses-caching-types (push) Waiting to run
GitHub Actions Security Analysis / zizmor (push) Waiting to run
feat(proxy): add TypeSafe AI Jev evaluate passthrough with registry-priced spend tracking
2026-09-17 16:37:33 -07:00
ryan
884a467a7f fix(proxy): evict jwt_key_mapping cache when user, team, or org deletion removes mapped keys
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 23:33:59 +00:00