Change8

v1.97.0-dev.1

📦 litellmView on GitHub →
11 features🐛 22 fixes🔧 49 symbols

Summary

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

Migration Steps

  1. The create MCP server component has been renamed to PascalCase. Update any references accordingly.

✨ 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.
  • 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.
  • Close evicted LLM clients so their connections are reclaimed.
  • 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.
  • Block Playground page for viewer roles on direct URL access.
  • Hide guardrail review buttons from non-admin users.
  • Stop forwarding no-op toolSpec.strict to Converse.
  • Reject an auto-router keyword rule left empty instead of dropping it.
  • Attribute blocked requests to the caller that made them.
  • Forward client headers to the provider on /v1/responses.
  • Read what a 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.

Affected Symbols