v1.83.7.rc.1

BerriAI/litellmv1.83.7.rc.1Apr 12, 2026by github-actions[bot]

AI Summary

This release candidate introduces a significant breaking change regarding Prometheus latency metrics bucket count. It adds bulk permission updates, Azure container routing, and MCP OAuth token storage, alongside various security and stability fixes for Bedrock, S3, and proxy components.

Key Highlights

  • Breaking Change: Prometheus default latency histogram buckets reduced from 35 to 18, requiring updates to PromQL queries.
  • New feature: Bulk update endpoint for team permissions (/team/permissions_bulk_update).
  • New feature: Azure routing and managed container ID support.
  • New feature: Per-user OAuth token storage for interactive MCP flows.
  • Fix: Bedrock cache token double-counting and S3 retry mechanisms.

Breaking Changes

  • Prometheus default latency histogram buckets reduced from 35 to 18 boundaries. If you have existing Prometheus dashboards or PromQL SLO queries that reference specific `le` values (e.g. `le="1.5"`), those series will no longer exist after upgrading.

New Features

  • Bulk team permissions update endpoint
  • Azure routing and managed container support
  • Per-user OAuth token storage for MCP
  • Support for Anthropic advisor_20260301 tool type
  • File content streaming support for OpenAI requests

Full Release Notes

## Verify Docker Image Signature

All LiteLLM Docker images are signed with [cosign](https://docs.sigstore.dev/cosign/overview/). Every release is signed with the same key introduced in [commit `0112e53`](https://github.com/BerriAI/litellm/commit/0112e53046018d726492c814b3644b7d376029d0).

**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:

```bash
cosign verify \
  --key https://raw.githubusercontent.com/BerriAI/litellm/0112e53046018d726492c814b3644b7d376029d0/cosign.pub \
  ghcr.io/berriai/litellm:v1.83.7.rc.1
```

**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:

```bash
cosign verify \
  --key https://raw.githubusercontent.com/BerriAI/litellm/v1.83.7.rc.1/cosign.pub \
  ghcr.io/berriai/litellm:v1.83.7.rc.1
```

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
```

---
## ⚠️ Breaking Changes

### Prometheus default latency histogram buckets reduced ([#25527](https://github.com/BerriAI/litellm/pull/25527))
The default `LATENCY_BUCKETS` has been reduced from 35 to 18 boundaries. If you have existing Prometheus dashboards or PromQL SLO queries that reference specific `le` values (e.g. `le="1.5"`, `le="9.5"`), those series will no longer exist after upgrading. Review and update any affected queries or dashboard panels.

---
## What's Changed
* Fix node-gyp symlink path after npm upgrade in Dockerfile by @joereyna in https://github.com/BerriAI/litellm/pull/25048
* [Test] UI - E2E: Add Playwright tests with local PostgreSQL by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25126
* feat: add POST /team/permissions_bulk_update endpoint by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/25239
* added applyguardrail to inline iam by @shivamrawat1 in https://github.com/BerriAI/litellm/pull/25241
* [Infra] Pin cosign.pub verification to initial commit hash by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25273
* feat(containers): Azure routing, managed container IDs, delete response parsing by @Sameerlite in https://github.com/BerriAI/litellm/pull/25287
* [Fix] Update check_responses_cost tests for _expire_stale_rows by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25299
* [Fix] Dockerfile.non_root: handle missing .npmrc gracefully by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25307
* [Refactor] Align /v2/key/info response handling with v1 by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25313
* [Infra] Bump version 1.83.4 → 1.83.5 by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25316
* fix(mcp): block arbitrary command execution via stdio transport by @Sameerlite in https://github.com/BerriAI/litellm/pull/25343
* [Infra] Migrate Redis caching tests from GHA to CircleCI by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25354
* [Feature] UI E2E Tests: Proxy Admin Team and Key Management by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25365
* [Fix] UI: improve storage handling and Dockerfile consistency by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25384
* feat(bedrock): skip dummy user continue for assistant prefix prefill by @Sameerlite in https://github.com/BerriAI/litellm/pull/25419
* fix(websearch_interception): ensure spend/cost logging runs when stream=True by @Sameerlite in https://github.com/BerriAI/litellm/pull/25424
* fix(responses-ws): append ?model= to backend WebSocket URL by @joereyna in https://github.com/BerriAI/litellm/pull/25437
* feat(mcp): add per-user OAuth token storage for interactive MCP flows by @csoni-cweave in https://github.com/BerriAI/litellm/pull/25441
* fix(test): mock headers in test_completion_fine_tuned_model by @joereyna in https://github.com/BerriAI/litellm/pull/25444
* fix(proxy): improve input validation on management endpoints by @jaydns in https://github.com/BerriAI/litellm/pull/25445
* fix(logging): preserve proxy key-auth metadata on /v1/messages Langfuse traces by @michelligabriele in https://github.com/BerriAI/litellm/pull/25448
* Add file content streaming support for OpenAI and related utilities by @harish876 in https://github.com/BerriAI/litellm/pull/25450
* Team member permission /spend/logs for team-wide spend logs (UI + RBAC) by @shivamrawat1 in https://github.com/BerriAI/litellm/pull/25458
* fix(proxy): pass-through multipart uploads and Bedrock JSON body by @shivamrawat1 in https://github.com/BerriAI/litellm/pull/25464
* fix(proxy): use parameterized query for combined_view token lookup by @jaydns in https://github.com/BerriAI/litellm/pull/25467
* [Test] UI - Unit tests: raise global vitest timeout and remove per-test overrides by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25468
* [Docs] Add missing MCP per-user token env vars to config_settings by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25471
* refactor: consolidate route auth for UI and API tokens by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/25473
* [Fix] Harden file path resolution in skill archive extraction by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25475
* [Fix] Align v1 guardrail and agent list responses with v2 field handling by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25478
* [Fix] Flush Tremor Tooltip timers in user_edit_view tests by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25480
* feat(guardrails): optional skip system message in unified guardrail inputs by @Sameerlite in https://github.com/BerriAI/litellm/pull/25481
* fix(responses): map refusal stop_reason to incomplete status in streaming by @Sameerlite in https://github.com/BerriAI/litellm/pull/25498
* [Fix] Responses WebSocket Duplicate Keyword Argument Error by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25513
* fix: a2a create a2a client default 60 second timeout  by @milan-berri in https://github.com/BerriAI/litellm/pull/25514
* fix(bedrock): avoid double-counting cache tokens in Anthropic Messages streaming usage by @Sameerlite in https://github.com/BerriAI/litellm/pull/25517
* merge main by @Sameerlite in https://github.com/BerriAI/litellm/pull/25524
* feat(anthropic): support advisor_20260301 tool type by @ishaan-berri in https://github.com/BerriAI/litellm/pull/25525
* [Infra] Merge Dev Branch with Main by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25526
* Reduce default latency histogram bucket cardinality by @J-Byron in https://github.com/BerriAI/litellm/pull/25527
* bump: version 1.83.5 → 1.83.6 by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25528
* fix(s3): add retry with exponential backoff for transient S3 503/500 errors by @jimmychen-p72 in https://github.com/BerriAI/litellm/pull/25530
* docs: document april townhall announcements by @krrish-berri-2 in https://github.com/BerriAI/litellm/pull/25537
* fix(spend): session-TZ-independent date filtering for spend/error log queries by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/25542
* Litellm ishaan april10 by @ishaan-berri in https://github.com/BerriAI/litellm/pull/25545
* [Fix] Align Org and Team Endpoint Permission Checks by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25554
* fix(proxy): preserve dict guardrail HTTPException.detail + bedrock context by @michelligabriele in https://github.com/BerriAI/litellm/pull/25558
* Litellm internal staging 04 11 2026 by @krrish-berri-2 in https://github.com/BerriAI/litellm/pull/25562
* Add "Screenshots / Proof of Fix" section to PR template by @krrish-berri-2 in https://github.com/BerriAI/litellm/pull/25564
* [Infra] Merge dev with main by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25568
* Litellm harish april11 by @ishaan-berri in https://github.com/BerriAI/litellm/pull/25569
* [Infra] Build UI for release by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25571
* [Infra] Rebuild UI by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25573
* [Infra] Rebuild UI by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25577
* bump: version 1.83.6 → 1.83.7 by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25578

## New Contributors
* @csoni-cweave made their first contribution in https://github.com/BerriAI/litellm/pull/25441
* @jimmychen-p72 made their first contribution in https://github.com/BerriAI/litellm/pull/25530

**Full Changelog**: https://github.com/BerriAI/litellm/compare/v1.83.3.rc.1...v1.83.7.rc.1