Change8

v1.97.0

📦 litellmView on GitHub →
11 features🐛 23 fixes🔧 13 symbols

Summary

This release introduces Docker image signature verification using cosign for enhanced security. It also includes numerous features and bug fixes across various components like the proxy, UI, and integrations.

Migration Steps

  1. Verify Docker image signatures using cosign with either the pinned commit hash or the release tag.

✨ New Features

  • Resolve Cursor thinking/fast model-name suffixes on /cursor/chat/completions.
  • Add non-streaming response toggle to the Playground.
  • Apply default organization to new teams from default team settings.
  • Default session affinity to off and expose it in the UI.
  • Add prompt moderation, response-text blocking, streaming buffer, and failure logging for Guardrails/Rubrik.
  • Add custom metadata validation hook for team create and update.
  • Add net auto-router savings to the cost-optimization dashboard.
  • Show auto-router savings on the cost-optimization dashboard.
  • Stamp service tier attributes on inference spans for OpenTelemetry.
  • Add admin-configurable user banner.
  • Add gemini-robotics-er-2-preview and gemini-robotics-er-1.6-preview models.

🐛 Bug Fixes

  • Stop logging when disable_logging is called.
  • Backfill null user_email on existing users during JWT auth.
  • Block Playground page for viewer roles on direct URL access.
  • Close evicted LLM clients to reclaim their connections.
  • Drop undefined Union from owns_wrapped_http_client annotation.
  • Drop the undefined Union from owns_wrapped_http_client.
  • Apply key/team router_settings.model_group_alias.
  • Read team callback dd_* params from kwargs instead of blocked dynamic params.
  • Redact credential headers from request logging copies.
  • Render Responses API request and response in the logs drawer.
  • Hide guardrail review buttons from non-admin users.
  • Stop forwarding no-op toolSpec.strict to Converse for Bedrock.
  • Reject an auto-router keyword rule left empty instead of dropping it.
  • Attribute blocked requests to the caller that made them for Guardrails/Rubrik.
  • Forward client headers to the provider on /v1/responses.
  • Read request cost from the record instead of pricing it again.
  • Retry model cost map fetch with Retry-After-aware backoff and keep current map on reload failure.
  • Log the model cost map reload failure lazily.
  • Translate web_search_options to the browser_search tool for Groq.
  • Make spend-counter redis connection env-driven for non-cluster deployments.
  • Make /cursor/chat/completions work with Cursor agent mode.
  • Propagate user_email and bind api_key on JWT auth attribution paths.
  • Make /cursor/chat/completions work with Cursor agent mode.

Affected Symbols