v1.83.8-nightly

BerriAI/litellmv1.83.8-nightlyApr 15, 2026by github-actions[bot]

AI Summary

This nightly release focuses on stability improvements, security updates including vulnerable dependency bumps and Docker signing verification, and introduces new features like BM25-based prompt compression, PromptGuard integration, and Veo Lite support. It also includes a major infrastructure migration from Poetry to the 'uv' toolchain.

Key Highlights

  • Infrastructure migration: Packaging, CI, and Docker moved from Poetry to 'uv'.
  • New feature: 'litellm.compress()' for BM25-based prompt compression.
  • New feature: PromptGuard guardrail integration with per-team opt-out options.
  • New feature: Support for Gemini Veo Lite video pricing and resolution tiers.
  • Fix: Proxy cache invalidation logic and budget reset time alignment.

New Features

  • BM25-based prompt compression with retrieval tool (litellm.compress())
  • PromptGuard guardrail integration
  • Veo Lite pricing, video resolution usage, and tiered cost support
  • Prometheus latency histogram buckets (7m and 10m)
  • Advisor tool orchestration for non-Anthropic providers
  • New model offerings including kimi-k2.5 and minimax-m2.5

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

---
## What's Changed
* fix(mcp): is_tool_name_prefixed validates against known server prefixes by @voidborne-d in https://github.com/BerriAI/litellm/pull/25085
* fix(s3_v2): use prepared URL for SigV4-signed S3 requests by @nehaaprasad in https://github.com/BerriAI/litellm/pull/25074
* fix(cache): Prevent 'multiple values' TypeError in get_cache_key by @hunterchris in https://github.com/BerriAI/litellm/pull/20261
* fix(presidio): use correct text positions in anonymize_text by @Dmitry-Kucher in https://github.com/BerriAI/litellm/pull/24998
* feat(prometheus): add 7m and 10m latency histogram buckets by @kulia26 in https://github.com/BerriAI/litellm/pull/25071
* fix(ui): resolve login redirect loop when reverse proxy adds HttpOnly to cookies by @jaxhend in https://github.com/BerriAI/litellm/pull/23532
* fix(proxy): set key_alias=user_id in JWT auth for Prometheus metrics by @michelligabriele in https://github.com/BerriAI/litellm/pull/25340
* fix(vertex_ai): normalize Gemini finish_reason enum through map_finis… by @abhyudayareddy in https://github.com/BerriAI/litellm/pull/25337
* fix: remove leading space from license public_key.pem by @milan-berri in https://github.com/BerriAI/litellm/pull/25339
* feat(dashscope): preserve cache_control for explicit prompt caching by @silencedoctor in https://github.com/BerriAI/litellm/pull/25331
* fix: expose reasoning effort fields in get_model_info + add together_ai/gpt-oss-120b by @avarga1 in https://github.com/BerriAI/litellm/pull/25263
* Add PromptGuard guardrail integration by @acebot712 in https://github.com/BerriAI/litellm/pull/24268
* Revert "fix(proxy): set key_alias=user_id in JWT auth for Prometheus metrics" by @krrish-berri-2 in https://github.com/BerriAI/litellm/pull/25438
* build: migrate packaging, CI, and Docker from Poetry to uv by @stuxf in https://github.com/BerriAI/litellm/pull/25007
* fix(security): bump vulnerable dependencies (22 of 25 dependabot alerts) by @stuxf in https://github.com/BerriAI/litellm/pull/25442
* blog: restyle docs.litellm.ai/blog to engineering blog aesthetic by @ishaan-berri in https://github.com/BerriAI/litellm/pull/25580
* blog: Ramp-style engineering blog restyle + Redis circuit breaker post by @ishaan-berri in https://github.com/BerriAI/litellm/pull/25583
* feat(advisor): advisor tool orchestration loop for non-Anthropic providers by @ishaan-berri in https://github.com/BerriAI/litellm/pull/25579
* Litellm dev 04 11 2026 p1 by @krrish-berri-2 in https://github.com/BerriAI/litellm/pull/25585
* blog: add back arrow to blog post pages by @ishaan-berri in https://github.com/BerriAI/litellm/pull/25587
* fix(proxy): cache invalidation double-hashes token in bulk update and key rotation by @dkindlund in https://github.com/BerriAI/litellm/pull/25552
* fix(proxy): model_max_budget silently broken for routed models by @dkindlund in https://github.com/BerriAI/litellm/pull/25549
* fix(embedding): omit null encoding_format for openai requests by @meutsabdahal in https://github.com/BerriAI/litellm/pull/25395
* fix(budget): align reset times for legacy entities (Team Members, End Users) with standardized calendar by @DmitriyAlergant in https://github.com/BerriAI/litellm/pull/25440
* feat(model):add wandb model offerings to include kimi-k2.5 and minimax-m2.5 by @csoni-cweave in https://github.com/BerriAI/litellm/pull/25409
* [Fix] Align field-level checks in user and key update endpoints by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25541
* [Refactor] UI - Virtual Keys: migrate regenerate key modal to AntD by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25406
* [Fix] tighten handling of environment references in request parameters by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25592
* merge main by @Sameerlite in https://github.com/BerriAI/litellm/pull/25616
* Litellm oss staging 04 08 2026 by @krrish-berri-2 in https://github.com/BerriAI/litellm/pull/25397
* fix(auth): gate post-custom-auth DB lookups behind opt-in flag by @michelligabriele in https://github.com/BerriAI/litellm/pull/25634
* fix: blog dark mode - text invisible on dark background by @krrish-berri-2 in https://github.com/BerriAI/litellm/pull/25620
* [Fix] /spend/logs: align filter handling with user scoping by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25594
* feat: add litellm.compress() — BM25-based prompt compression with retrieval tool by @krrish-berri-2 in https://github.com/BerriAI/litellm/pull/25637
* docs: week 2 checklist by @mubashir1osmani in https://github.com/BerriAI/litellm/pull/25452
* feat(guardrails): per-team opt-out for specific global guardrails by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/25575
* Litellm ishaan april11 by @ishaan-berri in https://github.com/BerriAI/litellm/pull/25586
* chore: remove deprecated tests/ui_e2e_tests/ suite by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/25657
* test(e2e): add edit team model TPM/RPM limits test by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/25658
* Litellm oss staging 04 09 2026 by @krrish-berri-2 in https://github.com/BerriAI/litellm/pull/25463
* [Feature] UI - Teams: Allow Editing Router Settings After Team Creation by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25398
* [Infra] Merge dev branch with main by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25647
* [Test] UI - Models: Add E2E tests for Add Model flow by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25590
* Revert "fix(embedding): omit null encoding_format for openai requests" by @Sameerlite in https://github.com/BerriAI/litellm/pull/25698
* feat(bedrock): normalize custom tool JSON schema for Invoke and Converse by @Sameerlite in https://github.com/BerriAI/litellm/pull/25396
* feat(gemini): Veo Lite pricing, video resolution usage and tiered cost by @Sameerlite in https://github.com/BerriAI/litellm/pull/25348
* litellm_staging_04_04_2026 by @krrish-berri-2 in https://github.com/BerriAI/litellm/pull/25192
* Litellm oss staging 04 11 2026 by @krrish-berri-2 in https://github.com/BerriAI/litellm/pull/25589
* litellm oss staging 04/13/2026 by @krrish-berri-2 in https://github.com/BerriAI/litellm/pull/25665
* fix(cost-map): add us-south1 to vertex qwen3-235b-a22b-instruct-2507-maas by @ti3x in https://github.com/BerriAI/litellm/pull/25382
* feat: add litellm.compress() — BM25-based prompt compression with ret… by @krrish-berri-2 in https://github.com/BerriAI/litellm/pull/25650
* fix(ui): pre-select backend default for boolean guardrail provider fields by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/25700
* fix: isolate logs team filter dropdown from root teams state bleed by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/25716
* test(ui): add getCookie to cookieUtils mock in user_dashboard test by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/25719
* [Docs] Add release notes for v1.83.3-stable and v1.83.7.rc.1 by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25723
* fix: default invite user modal global role to least-privilege by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/25721
* [Docs] Regenerate v1.83.3-stable release notes from previous stable by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25726
* [Refactor] Remove Chat UI link from Swagger docs message by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25727
* [Fix] Test - Together AI: replace deprecated Mixtral with serverless Qwen3.5-9B by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25728
* fallbacks image by @shivamrawat1 in https://github.com/BerriAI/litellm/pull/25731
* [Test] Replace flaky bedrock gpt-oss tool-call live test with request-body mock by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25739
* docs update by @shivamrawat1 in https://github.com/BerriAI/litellm/pull/25736
* fix: remove non-existent litellm_mcps_tests_coverage from coverage combine by @joereyna in https://github.com/BerriAI/litellm/pull/25737
* fix(ci): increase test-server-root-path timeout to 30m by @joereyna in https://github.com/BerriAI/litellm/pull/25741
* bump: version 1.83.7 → 1.83.8 by @yuneng-berri in https://github.com/BerriAI/litellm/pull/25730

## New Contributors
* @hunterchris made their first contribution in https://github.com/BerriAI/litellm/pull/20261
* @Dmitry-Kucher made their first contribution in https://github.com/BerriAI/litellm/pull/24998
* @kulia26 made their first contribution in https://github.com/BerriAI/litellm/pull/25071
* @jaxhend made their first contribution in https://github.com/BerriAI/litellm/pull/23532
* @abhyudayareddy made their first contribution in https://github.com/BerriAI/litellm/pull/25337
* @avarga1 made their first contribution in https://github.com/BerriAI/litellm/pull/25263
* @acebot712 made their first contribution in https://github.com/BerriAI/litellm/pull/24268
* @meutsabdahal made their first contribution in https://github.com/BerriAI/litellm/pull/25395

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