Commit graph

52534 commits

Author SHA1 Message Date
kerry
54a1e85d38 Merge remote-tracking branch 'origin/main' into litellm_cost_shard_provider_wires 2026-09-21 21:15:39 +00:00
Mateo Wang
fc82f6e8fa
Merge pull request #42288 from BerriAI/litellm_safeguards_bedrock_vertex_messages
fix(anthropic): forward Claude Code safeguards and dangerous-tool-use beta to Bedrock Invoke and Vertex on /v1/messages
2026-09-21 14:15:36 -07:00
kerry-berri
b5e47936e5
Merge pull request #42035 from BerriAI/litellm_cost_shard_pricing_dimensions
test(integration): pricing dimension and provider reported cost cases
2026-09-21 14:15:21 -07:00
kerry-berri
c20d2c2803
Merge pull request #42320 from BerriAI/litellm-providers/price-sync-openrouter
chore(prices): sync OpenRouter prices: 1 model
2026-09-21 14:13:30 -07:00
Yuneng Jiang
7590012a03
feat(docker): add a quickstart compose file served from the product repo
The docs quickstart pipes a compose file hosted on the docs site straight
into `docker compose -f -`. That puts the content users execute in the docs
repo rather than here, and nothing lands on disk for them to read first.

Move the two-service stack (gateway + Postgres) into docker/ so it ships and
is reviewed alongside the code it starts, and pin the image to main-stable
instead of latest. The docs change to download-then-run follows separately.

Verified: `docker compose up -d` brings the stack healthy, /health/liveliness
returns 200, /v1/models returns 200 with the placeholder key and 401 without,
and /ui/ serves.
2026-09-21 14:12:55 -07:00
Yujong Lee
b5548082c6 build(rust): raise native extension size limit to 30 MB for the Azure Blob SDK
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:12:07 +00:00
Yujong Lee
96224f1c0f fix(cache-redis): fan cluster PING out to every node and skip pool return pings
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:11:22 +00:00
mateo-berri
1b568319d0 fix(types): blank non-string datadog tool text fields, look the spend table up by name 2026-09-21 14:10:09 -07:00
Yassin Kortam
da1ccaec67
Merge pull request #40322 from BerriAI/litellm_lit7351_reservation_lease_renewal
fix(proxy): renew budget reservation counter TTL while the request is in flight
2026-09-21 16:07:14 -05:00
Yujong Lee
3f11d9787d build(ci): raise native extension size limit to 30 MB for cluster support
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:06:12 +00:00
yuneng-jiang
5e0512b611
Merge pull request #42291 from BerriAI/litellm_lit7597_detach_credential
fix(proxy): detach stored credential when model editor selects None
2026-09-21 14:05:28 -07:00
Yujong Lee
c1382086d6 ci(rust): raise native wheel size gate to 35 MB
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:05:21 +00:00
Yujong Lee
0d09e9d892 fix(rust-wheel): reduce native extension size
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:04:57 +00:00
kerry
6ef1003f7d Merge remote-tracking branch 'origin/litellm_cost_shard_proxy_behaviour' into litellm_cost_shard_batches_realtime 2026-09-21 21:04:53 +00:00
kerry
3204bf0df9 Merge remote-tracking branch 'origin/litellm_cost_shard_provider_wires' into litellm_cost_shard_proxy_behaviour 2026-09-21 21:04:45 +00:00
kerry
5034b96fb6 Merge remote-tracking branch 'origin/litellm_cost_shard_pricing_dimensions' into litellm_cost_shard_provider_wires 2026-09-21 21:04:37 +00:00
kerry
b0070892da Merge remote-tracking branch 'origin/main' into litellm_cost_shard_pricing_dimensions 2026-09-21 21:04:26 +00:00
kerry-berri
b5f02f72fe
Merge pull request #42028 from BerriAI/litellm_cost_shard_passthrough
test(integration): passthrough route cost cases
2026-09-21 14:04:03 -07:00
berriai-litellm-provider-info-sync[bot]
a8cd414377
chore(prices): sync OpenRouter prices: 1 model
openrouter/deepseek/deepseek-v4-pro: input_cost_per_token, output_cost_per_token, cache_read_input_token_cost
2026-09-21 21:01:19 +00:00
mateo-berri
a64febb3e7 fix(streaming): keep an explicit provider prompt_tokens=0 or completion_tokens=0 in streamed usage
The stream chunk builder started its per-chunk accumulators at 0 and adopted only nonzero counts, then fell back to litellm's tokenizer whenever the accumulated value was falsy, so a provider that reported an explicit 0 for prompt or completion tokens was billed the estimate instead. The accumulators now start at None, a usage chunk that reports a count marks it reported (a later chunk's 0 never replaces a reported nonzero), and the estimate only runs when no chunk reported the count. The Anthropic message_start cursor reset now yields None so the estimate still covers a cancelled stream, and Ollama chat streaming only attaches usage on the done chunk when both counts are present instead of inventing 0/0 on every chunk
2026-09-21 14:01:08 -07:00
Yujong Lee
5acfcfa4fe feat(rust): native Azure Blob response cache backend
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:00:48 +00:00
Yujong Lee
0672fcbafe fix(rust): shrink release wheel under the 25 MB native limit
Optimize the aws-sdk dependency tree and cache-s3 for size in the release profile and switch to fat LTO so the native extension stays under the wheel verification gate (27.87 -> 21.88 MB)

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:59:13 +00:00
kerry-berri
89de508d6e
Merge pull request #42306 from BerriAI/litellm_fal_ai_surface_video_errors
fix(fal_ai): surface fal errors in video status and content instead of completed and generic 500
2026-09-21 13:59:04 -07:00
mateo-berri
239bff3315 test(responses): type the MCP lifecycle test helpers 2026-09-21 13:57:50 -07:00
kerry-berri
f5f53a4cf4
Merge pull request #40429 from BerriAI/litellm_upgrade_banner_changelog_stats
feat(ui): add upgrade banner with latest release changelog stats
2026-09-21 13:56:05 -07:00
kerry
aeff48238a Merge remote-tracking branch 'origin/litellm_cost_shard_proxy_behaviour' into litellm_cost_shard_batches_realtime 2026-09-21 20:56:02 +00:00
kerry
efd7f3dadd Merge remote-tracking branch 'origin/litellm_cost_shard_provider_wires' into litellm_cost_shard_proxy_behaviour 2026-09-21 20:55:55 +00:00
kerry
7be0bf8be6 Merge remote-tracking branch 'origin/litellm_cost_shard_pricing_dimensions' into litellm_cost_shard_provider_wires 2026-09-21 20:55:49 +00:00
kerry
36a21f7215 Merge remote-tracking branch 'origin/litellm_cost_shard_passthrough' into litellm_cost_shard_pricing_dimensions 2026-09-21 20:55:41 +00:00
kerry
31a58836dd Merge remote-tracking branch 'origin/main' into litellm_cost_shard_passthrough 2026-09-21 20:55:20 +00:00
kerry-berri
24af8bb756
Merge pull request #42024 from BerriAI/litellm_cost_shard_audio_images
test(integration): audio, image and per-unit cost cases
2026-09-21 13:54:57 -07:00
Yujong Lee
cf8a211048 test(rust): pin disk counter restart after a fractional value
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:52:03 +00:00
mateo-berri
d8ce49de06 fix(proxy): evict the cached user row when SCIM or /user/delete removes a user 2026-09-21 13:51:26 -07:00
mateo-berri
e5a9b5c113 fix(alerting): deliver every distinct alert queued in one flush window 2026-09-21 13:51:03 -07:00
kerry
6f6b525d7a chore: merge litellm_cost_shard_proxy_behaviour into litellm_cost_shard_batches_realtime
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:50:46 +00:00
kerry
94b8842928 chore: merge litellm_cost_shard_provider_wires into litellm_cost_shard_proxy_behaviour
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:50:28 +00:00
kerry
edc34a2921 chore: merge litellm_cost_shard_pricing_dimensions into litellm_cost_shard_provider_wires
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:49:55 +00:00
Yujong Lee
83d4ce05c9 feat(rust-cache): serve RedisClusterCache natively as a Redis topology
Extend cache-redis so RedisTopology::Cluster routes single-key commands by
hash slot, groups pipelines by slot while keeping reply order, scans and
scoped-flushes every primary, and fans admin commands out to all nodes.
The bridge projects RedisClusterCache startup_nodes into the typed topology,
accepts the exact RedisClusterCache identity, guards nodes_manager state,
and falls back to Python for anything it cannot project.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:49:21 +00:00
kerry
19e6ad5b1b test(integration): give perplexity sonar-next a unique input rate after merge
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:48:40 +00:00
mateo-berri
5f84e83316 chore(responses): drop narrative comments from the MCP streaming iterator 2026-09-21 13:48:11 -07:00
kerry
7ca6fda118 chore: merge litellm_cost_shard_passthrough into litellm_cost_shard_pricing_dimensions
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:47:34 +00:00
kerry
61ea3e0226 chore: merge litellm_cost_shard_audio_images into litellm_cost_shard_passthrough
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:46:44 +00:00
kerry
0b9035b48f fix(fal_ai): handle transient result errors and inject clients
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:45:58 +00:00
mateo-berri
b8c793b962 fix(types): drop restating docstrings, import search tool types at runtime, close the spend-table match 2026-09-21 13:44:58 -07:00
yassin
930c7e2638 fix(utils): drop model from extra_body for openai-compatible providers
A caller-supplied extra_body model overrode the authorized model in the request the shared HTTP handler sends upstream. Strip it before dispatch

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:43:08 +00:00
Yujong Lee
c7458bf5fe refactor(rust): build vault requests without local reassignment
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:42:49 +00:00
Yujong Lee
56237af7a9 test(cache): add Valkey semantic contract coverage
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:42:41 +00:00
yucheng
b41edb57c1 fix(bedrock): keep batch S3 credentials out of chat requests and debug logs
Register s3_access_key_id, s3_secret_access_key and s3_encryption_key_id as
LiteLLM-owned batch params so they are no longer forwarded to Bedrock as
additionalModelRequestFields (which 400s ordinary chat on a batch-configured
deployment), keep them on CredentialLiteLLMParams so the batch/file paths
still receive them, and redact the S3 credential key names in debug logs.

Resolves LIT-8290

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:42:04 +00:00
kerry-berri
3597d61e6f
Merge pull request #42305 from BerriAI/litellm-providers/price-sync-openrouter
chore(prices): sync OpenRouter prices: 4 models, 3 new
2026-09-21 13:40:29 -07:00
Yujong Lee
605729a194 fix(rust): pin aws-sdk-s3 without relaxing eventstream pins
Keep the exact eventstream pins but move them to =0.61.4 so aws-runtime 1.9.4's eventstream requirement resolves, downgrade aws-sdk-s3 to 1.146.1, and echo the context ttl from S3Cache::get_ttl to match Python

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:39:17 +00:00