v1.100.0-dev.2Pre-release
Added 1
- Configure deployment caller identity in Prometheus
Fixed 19
- Map /v1/messages provider errors before failure logging in OTEL
- Map upstream status codes for providers with no exception_type branch
- Record ownership of streamed responses under managed ids in passthrough
- Encrypt streamed responses ids on /openai/v1/responses and /responses aliases in proxy
- Fail open on response_format instead of dropping it for unregistered models in together_ai
- Honor DATABASE_DISABLE_PREPARED_STATEMENTS in componentized entrypoints in proxy
- Preserve structured output strictness in anthropic-responses
- Resolve hidden aliases for explicit lookup in router
- Keep focus in the add model public name input while typing in UI
- Price 1-hour cache writes on claude-3-haiku and claude-3-opus at 2x input in model_prices
- Keep the caller's Google token on credential-less Vertex passthrough under custom auth in proxy
- Preserve provider access token lifetime in MCP
- Raise bedrock_mantle gpt-5.5 and gpt-5.4 max_input_tokens to 1050000 in model_prices
- Authenticate realtime websocket with Azure AD token when no api-key in azure/realtime
- Map reasoning_effort to reasoning.effort for OpenAI GPT-5.x on Converse in bedrock
- Support credential providers across clients in redis
- Support mode: image_edit in health checks
- Add US data residency uplift to claude-sonnet-4-6 and mythos entries in cost-map
- Raise missing-credential error on /v1/messages passthrough in anthropic
From LiteLLM
Verify Docker Image Signature
All LiteLLM Docker images are signed with cosign. Every release is signed with the same key introduced in commit 0112e53.
Verify using the pinned commit hash (recommended):
A commit hash is cryptographically immutable, so this is the strongest way to ensure you are using the original signing key:
cosign verify \
--key https://raw.githubusercontent.com/BerriAI/litellm/0112e53046018d726492c814b3644b7d376029d0/cosign.pub \
ghcr.io/berriai/litellm:v1.100.0-dev.2
Verify using the release tag (convenience):
Tags are protected in this repository and resolve to the same key. This option is easier to read but relies on tag protection rules:
cosign verify \
--key https://raw.githubusercontent.com/BerriAI/litellm/v1.100.0-dev.2/cosign.pub \
ghcr.io/berriai/litellm:v1.100.0-dev.2
Expected output:
The following checks were performed on each of these signatures:
- The cosign claims were validated
- The signatures were verified against the specified public key
What's Changed
- refactor(ui): install the shadcn alert primitive by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38300
- refactor(ui): re-pull label, textarea, separator and skeleton from the registry by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38302
- feat(prometheus): configure deployment caller identity by @mphilippnv in https://github.com/BerriAI/litellm/pull/38221
- test(e2e): let the Together replayed-reasoning case survive a single provider miss by @mateo-berri in https://github.com/BerriAI/litellm/pull/38314
- fix(otel): map /v1/messages provider errors before failure logging by @mateo-berri in https://github.com/BerriAI/litellm/pull/38310
- fix(exceptions): map upstream status codes for providers with no exception_type branch by @mateo-berri in https://github.com/BerriAI/litellm/pull/38318
- fix(passthrough): record ownership of streamed responses under managed ids by @mateo-berri in https://github.com/BerriAI/litellm/pull/38320
- fix(proxy): encrypt streamed responses ids on /openai/v1/responses and /responses aliases by @mateo-berri in https://github.com/BerriAI/litellm/pull/38325
- test(cost-calc): pin the rate fallbacks inside a tiered-pricing tier by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38327
- test(e2e): cover the Bedrock provider-feature cells customers run by @mateo-berri in https://github.com/BerriAI/litellm/pull/38232
- fix(together_ai): fail open on response_format instead of dropping it for unregistered models by @mateo-berri in https://github.com/BerriAI/litellm/pull/38269
- fix(proxy): honor DATABASE_DISABLE_PREPARED_STATEMENTS in componentized entrypoints by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38363
- fix(anthropic-responses): preserve structured output strictness by @eugene-yao-zocdoc in https://github.com/BerriAI/litellm/pull/38211
- chore(typing): roll up the daily tech debt cleanups from Aug 20 to Aug 26 by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/37922
- fix(router): resolve hidden aliases for explicit lookup by @daniel-meismer-zocdoc in https://github.com/BerriAI/litellm/pull/38272
- fix(ui): keep focus in the add model public name input while typing by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38366
- fix(model_prices): price 1-hour cache writes on claude-3-haiku and claude-3-opus at 2x input by @mateo-berri in https://github.com/BerriAI/litellm/pull/38371
- fix(proxy): keep the caller's Google token on credential-less Vertex passthrough under custom auth by @mateo-berri in https://github.com/BerriAI/litellm/pull/38299
- fix(mcp): preserve provider access token lifetime by @daniel-meismer-zocdoc in https://github.com/BerriAI/litellm/pull/38271
- chore(ui): remove stale "New" badges from the dashboard by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38374
- test(cost-estimate): pin the prices and period totals /cost/estimate returns by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38315
- fix(ci): let the mutation workflow find covered lines so it generates mutants by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38305
- fix(model_prices): raise bedrock_mantle gpt-5.5 and gpt-5.4 max_input_tokens to Mantle's enforced 1050000 by @mateo-berri in https://github.com/BerriAI/litellm/pull/38368
- fix(azure/realtime): authenticate realtime websocket with Azure AD token when no api-key by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/34658
- fix(bedrock): map reasoning_effort to reasoning.effort for OpenAI GPT-5.x on Converse by @6matt in https://github.com/BerriAI/litellm/pull/38279
- test(prometheus): cover caller-identity config failure cases by @yucheng-berri in https://github.com/BerriAI/litellm/pull/38380
- fix(redis): support credential providers across clients by @eugene-yao-zocdoc in https://github.com/BerriAI/litellm/pull/38094
- fix(health): support
mode: image_editin health checks by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38291 - fix(cost-map): add US data residency uplift to claude-sonnet-4-6 and mythos entries by @mateo-berri in https://github.com/BerriAI/litellm/pull/38369
- fix(anthropic): raise missing-credential error on /v1/messages passthrough by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38240
- fix(mcp): complete DCR bridge OAuth challenges by @daniel-meismer-zocdoc in https://github.com/BerriAI/litellm/pull/37384
- test(proxy): pin the request-validation contracts in proxy/_types.py by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38307
- docs(CLAUDE.md): add pull-before-work rule by @mateo-berri in https://github.com/BerriAI/litellm/pull/38386
- fix(anthropic): scale cache costs by fast mode and trust served speed by @mateo-berri in https://github.com/BerriAI/litellm/pull/38378
- fix(pricing): add azure gpt-5.6 cache write rates and correct data zone priority by @mateo-berri in https://github.com/BerriAI/litellm/pull/38370
- docs: tighten the pull-before-work rule in CLAUDE.md by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38389
- fix(health): strip credential fields from GET /health output by @Siraj637909 in https://github.com/BerriAI/litellm/pull/37090
- fix(minimax): attach MINIMAX_API_KEY on anthropic messages requests by @mateo-berri in https://github.com/BerriAI/litellm/pull/38393
- refactor(ui): replace hand-picked z-index values with one named scale and lint it by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/38282
- fix(health): probe Azure GA realtime path for transcription-only models by @mateo-berri in https://github.com/BerriAI/litellm/pull/38390
- fix(bedrock): parse cacheDetails for Converse 1h/5m cache write cost split by @danielva-monday in https://github.com/BerriAI/litellm/pull/36762
- fix(caching): flush async cache writes cancelled at event loop shutdown by @mateo-berri in https://github.com/BerriAI/litellm/pull/38385
- fix(router): resolve model_group_alias before pre-routing strategy dispatch by @tin-berri in https://github.com/BerriAI/litellm/pull/38382
- feat(proxy): enforce rpm/tpm on model add + fix validation error title in UI by @kunal2002 in https://github.com/BerriAI/litellm/pull/36518
- refactor(ui): move every page header onto the shared PageHeader by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38306
- fix(proxy): stop cache eviction errors from failing /key/update by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38308
- fix(aiohttp): honor global ssl_verify on the aiohttp_openai handler path by @mateo-berri in https://github.com/BerriAI/litellm/pull/38400
- fix(logging_worker): rescue dequeued logging tasks lost at event loop close by @mateo-berri in https://github.com/BerriAI/litellm/pull/38394
- fix(caching): require the namespace delimiter when checking already-namespaced redis keys by @mateo-berri in https://github.com/BerriAI/litellm/pull/38403
- fix(prompts): reject keyed prompt_data with prompt_id and populate prompt version by @mateo-berri in https://github.com/BerriAI/litellm/pull/38404
- fix(cost_calculator): resolve real cost key when model_name alias contains '/' by @ksk2023 in https://github.com/BerriAI/litellm/pull/38344
- fix(cost-map): correct prompt_cache_min_tokens for Claude Fable 5 and backfill Anthropic re-export entries by @mateo-berri in https://github.com/BerriAI/litellm/pull/38405
- test(azure-ai): pin the 422 retry that drops the field the provider rejected by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38309
- refactor(ui): read the auto-router tier set through one row list by @tin-berri in https://github.com/BerriAI/litellm/pull/38408
- fix(proxy): stop empty DB router_settings lists from clobbering yaml fallbacks by @mateo-berri in https://github.com/BerriAI/litellm/pull/38406
- fix(team): allow no-reset default budgets for team members by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/37708
- fix: forward image content lists to DeepSeek vision models by @yucheng-berri in https://github.com/BerriAI/litellm/pull/38397
- fix(fireworks_ai): stop using the trace id as the session affinity key by @Hamjaster in https://github.com/BerriAI/litellm/pull/35754
- fix(gemini-realtime): keep the client's voice on Vertex AI native-audio Live by @yucheng-berri in https://github.com/BerriAI/litellm/pull/38395
- fix(vertex_ai): bill Gemini grounding per unique web search query by @ousamabenyounes in https://github.com/BerriAI/litellm/pull/36397
- fix(health): make the image_edit health probe moderation-safe by @mateo-berri in https://github.com/BerriAI/litellm/pull/38417
- test: gate the test tree on fifteen assertion and handler rules it already satisfies by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/38361
- fix(proxy): key lazy openapi stubs off registered features, not sys.modules by @mateo-berri in https://github.com/BerriAI/litellm/pull/38416
- fix(proxy): derive auto-router health from its underlying models by @tin-berri in https://github.com/BerriAI/litellm/pull/38174
- fix(responses): let cache-control injection reach the system prompt from instructions by @tin-berri in https://github.com/BerriAI/litellm/pull/38120
- fix(gemini): bill Google Maps grounding as its own SKU by @mateo-berri in https://github.com/BerriAI/litellm/pull/38418
- fix(speech): keep proxy metadata and completion cost through the TTS completion bridge by @mateo-berri in https://github.com/BerriAI/litellm/pull/38414
- fix: map Gemini ON_DEMAND_FLEX traffic type to flex service tier by @bisma-nawaz in https://github.com/BerriAI/litellm/pull/37724
- feat(langfuse): support langfuse_environment as a per-key dynamic callback param by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38264
- feat(proxy): hide unhealthy models from model listings, opt-in by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38313
- fix(mcp): honor admin-entered OAuth URLs on authorize after issuer yield by @mateo-berri in https://github.com/BerriAI/litellm/pull/38379
- fix(model_prices): correct gemini-3.5-flash-lite flex cache-read pricing by @mateo-berri in https://github.com/BerriAI/litellm/pull/38422
- fix(cost): price gemini-live-2.5-flash-native-audio realtime sessions by @mateo-berri in https://github.com/BerriAI/litellm/pull/38419
- fix(cost-map): correct Gemini TTS and native-audio rates by @mateo-berri in https://github.com/BerriAI/litellm/pull/38412
- fix(prompts): propagate PATCHed prompt templates to every worker and pod by @mateo-berri in https://github.com/BerriAI/litellm/pull/38411
- fix(model_prices): bill gemini -latest/preview alias cache reads at 10% of input by @mateo-berri in https://github.com/BerriAI/litellm/pull/38423
- fix(proxy): sync search tools into the router on management writes by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38392
- feat(guardrails): track Azure Prompt Shield usage and cost with spend isolation by @yucheng-berri in https://github.com/BerriAI/litellm/pull/38387
- fix(prompts): apply prompt templates before routing on /v1/responses and honor ignore_prompt_manager_model by @mateo-berri in https://github.com/BerriAI/litellm/pull/38407
- fix(cost): make cost-breakdown headers respect service tier by @mateo-berri in https://github.com/BerriAI/litellm/pull/38424
- fix(mcp): add litellm[mcp] extra and actionable error when streamable_http_client is missing by @mateo-berri in https://github.com/BerriAI/litellm/pull/38399
- revert(proxy): remove router_model_name from auto-routed response bodies by @tin-berri in https://github.com/BerriAI/litellm/pull/38429
- fix(google_genai): price streamed generateContent with the provider that served it by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/36055
- fix(logging): stop billing and logging response reads as LLM calls by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/36890
- fix(budget): serialize model_max_budget before the /budget/update write by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38430
- fix(ui): block the auto-router submit on a missing classifier model and an orphaned keyword rule by @tin-berri in https://github.com/BerriAI/litellm/pull/38427
- feat(complexity_router): heuristic-first classifier chaining by @tin-berri in https://github.com/BerriAI/litellm/pull/38428
- test(e2e): un-skip the per-model budget update case by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38437
- fix(cost): stop double-billing cached tokens that overlap a modality by @Srivatsa03 in https://github.com/BerriAI/litellm/pull/37407
- feat(ui): add Teams list CSV export with budgets, model grants, and rate limits by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38436
- fix(mcp): accept raw x-litellm-api-key on streamable HTTP admission by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38364
- fix: bound row count on GET /spend/logs to stop unbounded LiteLLM_SpendLogs scans by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38420
- fix(scim): apply default_team_params (incl. models) to SCIM-created teams by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38433
- fix(prompts): propagate prompt deletes to every worker and pod by @mateo-berri in https://github.com/BerriAI/litellm/pull/38434
- fix(anthropic_adapter): carry web search cost into /v1/messages breakdown headers by @mateo-berri in https://github.com/BerriAI/litellm/pull/38439
- fix(ui): show custom technical keywords on every router whose scorer runs by @tin-berri in https://github.com/BerriAI/litellm/pull/38451
- fix(e2e): move the vertex realtime suite off the retired Live preview model by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38454
- feat(newrelic): per-team cost and usage metrics via team callbacks by @yucheng-berri in https://github.com/BerriAI/litellm/pull/37610
- fix(ui): carry a preset's per-tier litellm_params through the prefill by @tin-berri in https://github.com/BerriAI/litellm/pull/38453
- fix(e2e): size the mid-conversation-system cache prefix above the minimum deterministically by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38468
- fix(e2e): disable thinking on the gemini chat cost test instead of racing its budget by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38469
- feat(ui): put the auto-router savings hero on a spend rail and a four-tile row by @tin-berri in https://github.com/BerriAI/litellm/pull/38470
- feat(ui): toggle internal health check visibility in request logs by @mateo-berri in https://github.com/BerriAI/litellm/pull/38391
- fix(mcp): canonicalize bearer scheme on bridge egress by @daniel-meismer-zocdoc in https://github.com/BerriAI/litellm/pull/38398
- refactor: clean up fresh tech debt from 2026-08-27 window by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38484
- fix(exception_mapping_utils): map unmapped exceptions when model and provider are unset by @mateo-berri in https://github.com/BerriAI/litellm/pull/38496
- fix(ui_sso): resolve highest privilege Entra app role, not first in claim by @imranismail in https://github.com/BerriAI/litellm/pull/36728
- fix(proxy): regenerate lazy OpenAPI snapshot and guard it in CI by @mateo-berri in https://github.com/BerriAI/litellm/pull/38410
- feat(ui): add cache hit/miss filter to Request Logs by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38432
- fix(bedrock): sign rerank requests with the shared header-filtered SigV4 helper (internal copy of #36462) by @mateo-berri in https://github.com/BerriAI/litellm/pull/38093
- fix(bedrock): sign rerank requests with the shared, header-filtered SigV4 helper by @noahnistler in https://github.com/BerriAI/litellm/pull/36462
- fix(ui): order the auto-routers table newest first so a new router lands on page one by @tin-berri in https://github.com/BerriAI/litellm/pull/38545
- feat(ui): run the Anthropic Family preset's reasoning tier on Opus 5 at high thinking by @tin-berri in https://github.com/BerriAI/litellm/pull/38490
- build(ui): bump nginx to 1.31-alpine by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38541
- feat(otel): support per-team/per-key service.name for OTel v2 destinations by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38532
- test(e2e): de-flake the cost-header cache read and the router fallback control by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38435
- feat(gemini): day-0 support for gemini-3.5-transcribe and transcribe-live by @mateo-berri in https://github.com/BerriAI/litellm/pull/38540
- feat(health): opt-in model-group allowlist for background health checks and health-check routing by @mateo-berri in https://github.com/BerriAI/litellm/pull/38539
- fix(mcp): keep upstream OAuth Authorization when jwt signer hook injects one on tools/call by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38555
- fix: suppress misleading register_model unresolved-cost warnings for entries without custom pricing by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38542
- feat(proxy): opt-in budget rollover carrying overage into the next window by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38514
- fix(auth): skip guaranteed-miss team lookup for the litellm-dashboard sentinel by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38471
- fix(key_management): allow /key/update to keep or shrink MCP server grants the key already holds by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38463
- fix: keep schema reconciliation from fighting a partitioned LiteLLM_SpendLogs by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38452
- fix(ui): open select popups below the trigger instead of over it by @tin-berri in https://github.com/BerriAI/litellm/pull/38554
- fix(realtime): bill trailing audio when a Gemini transcribe Live session closes by @mateo-berri in https://github.com/BerriAI/litellm/pull/38563
- test(e2e): cover key generate and update on the Admin UI path by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38448
- chore: bump litellm-enterprise 0.1.60 -> 0.1.61, litellm-proxy-extras 0.4.89 -> 0.4.90 by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38566
- fix(ui): let the paginated search select keep what the user types by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38475
- fix(otel): anchor MCP tool-call spans to the gateway's own trace, link the client's context by @yucheng-berri in https://github.com/BerriAI/litellm/pull/38317
- fix: roll up the open deflake fixes for the MCP logging queue, PTU rollup, license gate, and pricing test isolation by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/37833
- fix(model_prices): rolling registry audit - verified models and rates for Novita, DeepInfra, W&B, Bedrock Sol, Gemini, Fireworks, Azure gpt-5.6, Mistral, Together by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38207
- test(together_ai): assert fail-open supported params for models missing from the registry by @mateo-berri in https://github.com/BerriAI/litellm/pull/38487
- test(e2e): let the together tool tests accept parallel calls by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38567
- feat(mcp): let a resolved OAuth token target a custom upstream header by @tin-berri in https://github.com/BerriAI/litellm/pull/38456
- feat(together_ai): map reasoning_effort per model class by @mateo-berri in https://github.com/BerriAI/litellm/pull/38263
- feat(dashscope): support qwen-image-3.0 and qwen-image-3.0-pro image generation by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38449
- fix(cost): apply Together AI cache read pricing and per-model registry rates by @mateo-berri in https://github.com/BerriAI/litellm/pull/38280
- fix(guardrails): forward aws_external_id when the bedrock guardrail assumes a role by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38376
- fix(transcription): synthesize srt/vtt output for adapters without native subtitle formats by @mateo-berri in https://github.com/BerriAI/litellm/pull/38561
- fix(streaming): preserve provider service-tier metadata so Vertex flex streams bill at flex rates by @mateo-berri in https://github.com/BerriAI/litellm/pull/38458
- fix(realtime): bill Gemini Live native-audio output tokens at the audio rate by @mateo-berri in https://github.com/BerriAI/litellm/pull/38457
- fix(anthropic): carry tool_reference tool results through the guardrail translation round trip by @mateo-berri in https://github.com/BerriAI/litellm/pull/38465
- fix(anthropic-adapter): pass provider-native and OpenAI-format tools through on /v1/messages by @mateo-berri in https://github.com/BerriAI/litellm/pull/38431
- test(e2e): serve the vision image from our own fixture by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38575
- feat(together_ai): add zai-org/GLM-5.3-Flash to the model registry by @mateo-berri in https://github.com/BerriAI/litellm/pull/38486
- fix(ui): stop server-searched comboboxes from clobbering picks and queries by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/38574
- feat(model_prices): let a map entry declare its exact reasoning_effort levels by @tin-berri in https://github.com/BerriAI/litellm/pull/38481
- fix(anthropic): carry the adaptive effort tier to every bridged Claude target by @tin-berri in https://github.com/BerriAI/litellm/pull/38533
- feat(alerting): add native Microsoft Teams alerting destination by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38367
- chore(proxy): resync the generated API artifacts with the current models by @tin-berri in https://github.com/BerriAI/litellm/pull/38587
- fix(router): reject complexity-router settings written outside complexity_router_config by @tin-berri in https://github.com/BerriAI/litellm/pull/38570
- feat(ui): session-level cache observability in request logs by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38442
- fix(ui): link Virtual Keys hint through the migrated /ui route by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38596
- fix(anthropic): carry the effort tier only where the target declares reasoning_effort by @tin-berri in https://github.com/BerriAI/litellm/pull/38592
- fix(presidio): chunk oversized text before /analyze so large content blocks do not fail by @yucheng-berri in https://github.com/BerriAI/litellm/pull/38483
- fix(logging): stop stream-based log collectors classifying INFO logs as errors by @yucheng-berri in https://github.com/BerriAI/litellm/pull/38476
- feat(ui): dry-run an auto-router config against the backend before saving it by @tin-berri in https://github.com/BerriAI/litellm/pull/38595
- fix(guardrails): add fail-open mode to CrowdStrike AIDR guardrail by @yucheng-berri in https://github.com/BerriAI/litellm/pull/38568
- fix(router): copy instead of mutating caller metadata when scrubbing fallback stamp keys by @yucheng-berri in https://github.com/BerriAI/litellm/pull/38586
- feat(proxy): opt-in enforce_fallback_model_access authorizes router fallbacks against the calling key by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/38572
- fix(langfuse): warn and drop invalid LANGFUSE_TRACING_ENVIRONMENT instead of failing requests by @yucheng-berri in https://github.com/BerriAI/litellm/pull/38582
- fix(tencent): route thinking through extra_body in chat completions by @FelipeRodriguesGare in https://github.com/BerriAI/litellm/pull/38100
- test-check-commits by @nickhac in https://github.com/BerriAI/litellm/pull/36344
- feat(proxy): dry-run a real request body on /auto_router/test_routing by @tin-berri in https://github.com/BerriAI/litellm/pull/38590
- fix(shadow_eval): refuse a judge model that also serves one of the arms it grades by @tin-berri in https://github.com/BerriAI/litellm/pull/38589
- fix(anthropic): resolve /v1/messages effort tiers through the capability owner by @tin-berri in https://github.com/BerriAI/litellm/pull/38492
- fix(router): fall over on raised mid-stream errors in /v1/messages streams by @mateo-berri in https://github.com/BerriAI/litellm/pull/38606
- feat(models): add daily Together AI model registry sync script and workflow by @mateo-berri in https://github.com/BerriAI/litellm/pull/38257
- feat(ui): the model and wire layer for operator-defined auto-router tier sets by @tin-berri in https://github.com/BerriAI/litellm/pull/38602
- fix(moonshot, together_ai): send the reasoning effort Kimi K3 accepts by @tin-berri in https://github.com/BerriAI/litellm/pull/38611
- fix(ui): one-click theme toggle and matching Docs/Blog styling in the top bar by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/38601
- feat(proxy): opt-in flags to require rpm/tpm on model and project create by @ansh-agrawal in https://github.com/BerriAI/litellm/pull/36514
- fix(exceptions): keep a refused connection an APIConnectionError by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38624
- chore(ci): promote internal staging to main by @yuneng-berri in https://github.com/BerriAI/litellm/pull/38616
New Contributors
- @mphilippnv made their first contribution in https://github.com/BerriAI/litellm/pull/38221
- @Siraj637909 made their first contribution in https://github.com/BerriAI/litellm/pull/37090
- @danielva-monday made their first contribution in https://github.com/BerriAI/litellm/pull/36762
- @ksk2023 made their first contribution in https://github.com/BerriAI/litellm/pull/38344
- @Hamjaster made their first contribution in https://github.com/BerriAI/litellm/pull/35754
- @ousamabenyounes made their first contribution in https://github.com/BerriAI/litellm/pull/36397
- @bisma-nawaz made their first contribution in https://github.com/BerriAI/litellm/pull/37724
- @imranismail made their first contribution in https://github.com/BerriAI/litellm/pull/36728
- @nickhac made their first contribution in https://github.com/BerriAI/litellm/pull/36344
- @ansh-agrawal made their first contribution in https://github.com/BerriAI/litellm/pull/36514
Full Changelog: https://github.com/BerriAI/litellm/compare/v1.100.0-dev.1...v1.100.0-dev.2