v1.83.10-nightly

BerriAI/litellmv1.83.10-nightlyApr 19, 2026by github-actions[bot]

AI Summary

Adds Docker image signature verification, raises the minimum Python version to 3.10, and introduces features like per-member model scopes and multiple concurrent budget windows.

Key Highlights

  • Docker image signature verification via cosign
  • Minimum Python version raised to 3.10
  • Per-member model scope for teams
  • Multiple concurrent budget windows per API key

Breaking Changes

  • Python 3.9 is no longer supported.

New Features

  • Per-member model scope
  • Multiple concurrent budget windows
  • Mistral OCR params allowlist
  • Grok-4.20-0309-reasoning model support
  • Configurable multi-threshold budget alerts

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.10-nightly
```

**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.10-nightly/cosign.pub \
  ghcr.io/berriai/litellm:v1.83.10-nightly
```

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

- **Python 3.9 is no longer supported.** The minimum required Python version is now **3.10** (`requires-python` changed from `>=3.9, <3.14` to `>=3.10, <3.14`). Python 3.9 reached end-of-life in October 2025. See [#26022](https://github.com/BerriAI/litellm/pull/26022).

---
## What's Changed
* fix: batch-limit stale managed object cleanup to prevent 300K row UPDATE by @ishaan-berri in https://github.com/BerriAI/litellm/pull/25227
* [bug-fix]return actual status code - /v1/messages/count_tokens endpoint by @otaviofbrito in https://github.com/BerriAI/litellm/pull/21352
* feat(teams): per-member model scope + team default_team_member_models by @ishaan-berri in https://github.com/BerriAI/litellm/pull/24950
* feat: multiple concurrent budget windows per API key and team (#24883) by @ishaan-berri in https://github.com/BerriAI/litellm/pull/25109
* [Fix] Restrict x-pass- header forwarding for credential and protocol headers by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25916
* [Fix] Tighten api_key value check in credential validation by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25917
* fix(ocr): add missing Mistral OCR params to allowlist by @michelligabriele in https://github.com/BerriAI/litellm/pull/25858
* Add capability to override default GitHub Copilot authentication endp… by @steromano87 in https://github.com/BerriAI/litellm/pull/25915
* fix: return None for routing_strategy_args when strategy is not latency-based by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/25882
* Refactor: extract shared PKCE helpers into utils/pkce.ts by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/25878
* fix(proxy): enforce organization boundaries in admin operations by @stuxf in https://github.com/BerriAI/litellm/pull/25904
* fix(proxy): read guardrail config from admin metadata, fix tag routing consistency by @stuxf in https://github.com/BerriAI/litellm/pull/25905
* fix(proxy): add URL validation for user-supplied URLs by @stuxf in https://github.com/BerriAI/litellm/pull/25906
* Add support for grok-4.20-0309-reasoning model by @Sameerlite in https://github.com/BerriAI/litellm/pull/25930
* docs: add "Copy Page as Markdown" + llms.txt to docs site by @krrish-berri-2 in https://github.com/BerriAI/litellm/pull/25975
* [WIP][Perf] Litellm prometheus improvements by @harish-berri in https://github.com/BerriAI/litellm/pull/25934
* [Infra] Merge dev branch by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25972
* Litellm ishaan april6 by @ishaan-berri in https://github.com/BerriAI/litellm/pull/25256
* [Fix] Agent endpoint and routing permission checks by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25922
* [Fix] Remove unresolved merge conflict markers in bedrock test file by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25995
* [Feature] UI - Settings: Claude Code BYOK support by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25998
* chore(ui): migrate GuardrailTestPlayground off @tremor/react to antd by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/25749
* chore(ui): migrate router_settings page from Tremor to antd by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/25879
* feat(ocr/azure-di): support Mistral-style pages param via analyze query string by @shivamrawat1 in https://github.com/BerriAI/litellm/pull/25929
* feat(helm): add tpl support to extraContainers and extraInitContainers by @jlav in https://github.com/BerriAI/litellm/pull/25494
* fix(bedrock): prevent negative streaming costs for start-only cache usage by @Sameerlite in https://github.com/BerriAI/litellm/pull/25846
* fix(proxy): prioritize reasoning health-check max token precedence by @Sameerlite in https://github.com/BerriAI/litellm/pull/25936
* Litellm persist default router end budget by @shivamrawat1 in https://github.com/BerriAI/litellm/pull/25991
* fix(ui): extra_headers not persisting on MCP server edit by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/26003
* [Fix] UI - Keys: strip empty premium fields from key update payload by @yuneng-berri in https://github.com/BerriAI/litellm/pull/26023
* [Fix] Resolve prometheus_helpers file/package shadow breaking /global/spend/logs by @yuneng-berri in https://github.com/BerriAI/litellm/pull/26026
* fix: enforce project-level model-specific rate limits in parallel_req… by @shivamrawat1 in https://github.com/BerriAI/litellm/pull/25994
* [Infra] Merge dev branch by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25983
* [Infra] Bump proxy dependencies and raise minimum Python to 3.10 by @yuneng-berri in https://github.com/BerriAI/litellm/pull/26022
* fix(mcp): restore PKCE-triggering 401 when no stored per-user token exists by @ishaan-berri in https://github.com/BerriAI/litellm/pull/26032
* feat: configurable multi-threshold budget alerts for virtual keys by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/25989
* [Infra] Build UI by @yuneng-berri in https://github.com/BerriAI/litellm/pull/26033
* bump: version 1.83.9 → 1.83.10 by @yuneng-berri in https://github.com/BerriAI/litellm/pull/26038
* bump litellm-proxy-extras to 0.4.67 by @ishaan-berri in https://github.com/BerriAI/litellm/pull/26043
* [Infra] Promote staging to main by @yuneng-berri in https://github.com/BerriAI/litellm/pull/26044

## New Contributors
* @steromano87 made their first contribution in https://github.com/BerriAI/litellm/pull/25915
* @harish-berri made their first contribution in https://github.com/BerriAI/litellm/pull/25934
* @jlav made their first contribution in https://github.com/BerriAI/litellm/pull/25494

**Full Changelog**: https://github.com/BerriAI/litellm/compare/v1.83.9-nightly...v1.83.10-nightly