Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions release_notes/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,19 @@ LiteLLM ships new releases regularly with new provider support, performance impr

## Latest Release

### [v1.95.0 — Claude Opus 5, MCP Gateway DCR & Rust /v1/messages](/release_notes/v1.95.0/v1-95-0)
### [v1.96.0 — MCP Entitlements, Redis Config Sync & Auto-Router Context](/release_notes/v1.96.0/v1-96-0)

_August 1, 2026_
_August 9, 2026_

Day-0 support for the 1M-context Claude Opus 5 across Anthropic, Amazon Bedrock, Google Vertex AI, and Azure AI Foundry, joined by Gemini 3.6 Flash and Gemini 3.5 Flash Lite; an MCP gateway front door built on always-on aggregate DCR discovery, identity-only session tokens, RFC 8707 resource indicators, and a standalone `/connect` route; native Anthropic `/v1/messages` routed through the Rust axum gateway alongside a Responses API WebSockets port and SigV4 in `litellm-core`; SAML 2.0 SSO for the admin UI; roughly twenty dashboard routes completing the shadcn and shared DataTable migration; and a budget-reset correctness pass covering reset time of day, word-form durations, and NULL `budget_reset_at` repair. Note that user budgets are no longer enforced on team keys, reverting the `v1.94.0` change.
An internal user's `object_permission` becomes a real MCP entitlement level that intersects the key, team, agent, and org scopes and is enforced at both `tools/list` and `tools/call`; a new `post_mcp_call` guardrail mode that finally lets a guardrail mask or reject the contents of an MCP tool result; config changes propagating to every pod through a coordination-Redis invalidation event instead of the 30s poll; OpenAI's GPT-5.6 price cut of 20% on terra and 80% on luna, mirrored onto Bedrock Mantle with new flex long-context rates; a complexity classifier that now sees prior and assistant turns and records its tier decision in spend logs; a generic `/management/v1` list contract with `GET /management/v1/budgets` on top of it; and operational hardening for large deployments covering DB statement and lock timeouts, `REPLICA IDENTITY FULL`, and an unreachable Redis that no longer blocks every request. Note that mock testing request params are now gated behind a config flag that is off by default.

---

## Recent Releases

| Version | Date | Highlights |
| ----------------------------------- | ------------ | ---------------------------------------------------------- |
| [v1.96.0](/release_notes/v1.96.0/v1-96-0) | Aug 9, 2026 | MCP entitlements, Redis config sync, auto-router context, GPT-5.6 price cut |
| [v1.95.0](/release_notes/v1.95.0/v1-95-0) | Aug 1, 2026 | Claude Opus 5, MCP gateway DCR, Rust `/v1/messages`, SAML 2.0 SSO |
| [v1.94.0](/release_notes/v1.94.0/v1-94-0) | Jul 28, 2026 | Router plugins & Auto-Router v2, MCP client-held credentials, shared DataTable UI |
| [v1.93.0](/release_notes/v1.93.0/v1-93-0) | Jul 18, 2026 | GPT-5.6, client-forwarded MCP credentials, Meta Model API provider |
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: "v1.96.0rc1 - MCP Entitlements, Redis Config Sync & Auto-Router Context"
slug: "v1-96-0-rc-1"
date: 2026-08-03T12:53:08
title: "v1.96.0 - MCP Entitlements, Redis Config Sync & Auto-Router Context"
slug: "v1-96-0"
date: 2026-08-09T00:00:00
authors:
- name: Krrish Dholakia
title: CEO, LiteLLM
Expand Down Expand Up @@ -30,22 +30,28 @@ import TabItem from '@theme/TabItem';
docker run \
-e STORE_MODEL_IN_DB=True \
-p 4000:4000 \
docker.litellm.ai/berriai/litellm:1.96.0-rc.1
docker.litellm.ai/berriai/litellm:1.96.0
```

</TabItem>
<TabItem value="pip" label="Pip">

```bash
pip install litellm==1.96.0rc1
pip install litellm==1.96.0
```

</TabItem>
</Tabs>

## Key Highlights
:::danger Breaking Changes

**Mock testing request params are gated behind one config flag.** Six `mock_*` request params previously had three different behaviors, and a dropped param returned a normal success, so a fallback drill could pass without ever running. All six now reject with a 400 naming the params and the key unless an admin sets `general_settings.dangerously_allow_mock_testing_request_params: true` in `config.yaml`; the flag cannot be changed from the Admin UI or the API. See [PR #35423](https://github.com/BerriAI/litellm/pull/35423).

`v1.96.0rc1` is the current release candidate for 1.96.0.
**Keyless gateway OAuth now admits session bearers at any MCP scope.** Session-bearer admission and RFC 9728 `WWW-Authenticate` challenges fire on per-server MCP URL paths, not only the aggregate `/mcp/` scope, so a per-server path that previously fell through to a plain rejection now issues a challenge. See [PR #34856](https://github.com/BerriAI/litellm/pull/34856).

:::

## Key Highlights

- **MCP entitlements reach the person, not just the key** - an internal user's `object_permission` now acts as an MCP entitlement level that intersects the key, team, agent, and org scopes, is read at both `tools/list` and `tools/call` time, is persisted by `/user/new` and `/user/update`, returned by `/v2/user/info`, and editable from the internal user page.
- **Guardrails can finally see MCP tool results** - a new `post_mcp_call` mode routes tool result text through the unified `apply_guardrail` seam, so a guardrail can mask values inside a result or reject it outright; previously a tool returning sensitive data bypassed every guardrail.
Expand All @@ -55,12 +61,6 @@ pip install litellm==1.96.0rc1
- **Budgets become a first-class management surface** - a generic `/management/v1` list contract lands with `GET /management/v1/budgets` on top of it, and the budgets page gains sorting, filtering, and search.
- **Operational hardening for large deployments** - opt-in `database_statement_timeout` and `database_lock_timeout`, opt-in `REPLICA IDENTITY FULL` re-asserted after every migration, pod-hardening and migration-Job knobs on the componentized Helm chart, and an unreachable Redis that no longer blocks every request.

### Breaking changes

- **Mock testing params are gated behind one config flag** - six mock testing request params previously had three different behaviors, and a dropped param returned a normal success, so a fallback drill could pass without ever running. All six are now gated by a single config flag that is unset by default and rejects with a 400 naming the params and the key - [PR #35423](https://github.com/BerriAI/litellm/pull/35423)
- **User budgets are no longer enforced on team keys** - reverts [PR #32005](https://github.com/BerriAI/litellm/pull/32005), which caused team keys to reject on the key owner's personal budget; team keys use team budgets only and the `skip_user_budget_on_team_key` opt-out flag is removed - [PR #35271](https://github.com/BerriAI/litellm/pull/35271)
- **Keyless gateway OAuth admits session bearers at any MCP scope** - session-bearer admission and RFC 9728 `WWW-Authenticate` challenges now fire on per-server MCP URL paths, not only the aggregate `/mcp/` scope - [PR #34856](https://github.com/BerriAI/litellm/pull/34856)

## New Models / Updated Models

#### New Model Support (2 new models)
Expand Down Expand Up @@ -297,4 +297,4 @@ This window added 18 test-only PRs, 10 of them against the live e2e suite. New a

## Full Changelog

https://github.com/BerriAI/litellm/compare/v1.95.0-rc.1...v1.96.0-rc.1
https://github.com/BerriAI/litellm/compare/v1.95.0...v1.96.0