Change8

v1.99.0-dev.1

📦 litellmView on GitHub →
7 features🐛 34 fixes🔧 34 symbols

Summary

This release introduces enhanced Docker image security through cosign signing and includes numerous bug fixes across various components like proxy, Bedrock, and UI. New features include an Async Rust OCR Bridge and improved UI routing presets.

Migration Steps

  1. For Docker image verification, use the pinned commit hash for stronger security: `cosign verify --key https://raw.githubusercontent.com/BerriAI/litellm/0112e53046018d726492c814b3644b7d376029d0/cosign.pub ghcr.io/berriai/litellm:v1.99.0-dev.1`
  2. Alternatively, use the release tag for convenience: `cosign verify --key https://raw.githubusercontent.com/BerriAI/litellm/v1.99.0-dev.1/cosign.pub ghcr.io/berriai/litellm:v1.99.0-dev.1`
  3. To enable the v2 migration resolver, set the `USE_V2_MIGRATION_RESOLVER` environment variable.

✨ New Features

  • Added Async Rust OCR Bridge and MCP OAuth UI Restore.
  • Added Lite mixed-provider auto-router preset to the UI.
  • Linked key info header to its user, creator, team, and organization in the UI.
  • Added user ID request log filter to the UI.
  • Enabled USE_V2_MIGRATION_RESOLVER to select the v2 migration resolver.
  • Named the shadowed key in job responses and the UI headline for shadow-eval.
  • Added Azure Document Intelligen OCR capability.

🐛 Bug Fixes

  • Fixed WebSocket passthrough registration for OpenAI prefixes.
  • Reported uploaded size in FileObject for managed batch uploads with Bedrock.
  • Supported AWS Bedrock batch cancellation via `StopModelInvocationJob`.
  • Prevented crashing when logging completed batches without an output file.
  • Added default model pin to complexity router UI.
  • Scanned text on /guardrails/apply_guardrail for Azure Content Safety.
  • Forwarded LiteLLM identity and metadata into Bedrock requestMetadata.
  • Renamed `max_tokens` to `max_completion_tokens` for gpt-5-chat deployments.
  • Preserved cache token usage when invocationMetrics replace the usage block for Bedrock.
  • Stopped per-request tag and end-user Postgres reads in auth for proxy registry caches.
  • Returned 400 when a required param is missing on POST /v1/batches.
  • Bumped sqlparse to 0.6.0 to resolve osv-scan CVEs.
  • Stopped pairing key spend with the team budget when a key has no budget in the UI.
  • Recorded MCP tool guardrail evaluations and blocks.
  • Returned 400 for non-object metadata and litellm_metadata instead of silent drop or 500.
  • Preserved optional Responses tool properties for Anthropic.
  • Stopped emitting empty thinking blocks on the Responses adapter for Anthropic.
  • Made per-user usage filter searchable in the UI.
  • Bound the migrations Job so a blocked migration cannot stall the release.
  • Scoped authorization server issuer for MCP.
  • Unwrapped object-form tool_choice before calling the Responses API.
  • Billed cancelled and failed batches that still produced an output file.
  • Read batch usage by payload shape, not by provider name for Bedrock.
  • Added self-contained searchable user filter on the Usage page.
  • Scoped authorization server issuer for named MCP servers.
  • Stopped deepcopying results that redaction cannot redact.
  • Priced Gemini 3.6 flash at Google's introductory rates on every service tier.
  • Stopped sending the conversation twice in the noma v2 payload for guardrails.
  • Tracked provider-reported cost when caller omits include_usage for streaming.
  • Stopped Rust flag from leaking into upstream provider request bodies.
  • Returned 404 instead of 500 for unresolvable batch and file ids on /v1/batches.
  • Validated file-content retrieval against the configured output bucket for Bedrock.
  • Rejected out-of-range limit on GET /v1/batches with OpenAI-parity 400.
  • Priced a retrieved batch from its deployment's model and rates.

Affected Symbols