v1.81.16.custm-auth.dev

BerriAI/litellmv1.81.16.custm-auth.devFeb 26, 2026by github-actions[bot]

AI Summary

Major release with security fixes for CVEs, OpenAI Codex 5.3 day 0 support, tool policies with auto-discover and policy enforcement guardrails, and enhanced realtime API with logging, spend tracking, and tool tracing. Also includes Vertex AI Gemini Live support via unified /realtime endpoint.

Key Highlights

  • Security fixes for critical/high CVEs in OS-level libs and NPM transitive
  • OpenAI Codex 5.3 day 0 support
  • Tool policies - auto-discover tools + policy enforcement guardrail
  • Realtime API - logging, spend tracking support + Tool Tracing
  • Vertex AI Gemini Live via unified /realtime endpoint

New Features

  • OpenAI Codex 5.3 day 0 support
  • Tool policies with auto-discover and policy enforcement
  • Realtime API with logging, spend tracking, and tool tracing
  • Vertex AI Gemini Live support
  • Guardrails support for /v1/realtime WebSocket endpoint
  • Claims agent guardrails (5 categories + policy template)
  • Block code execution guardrail
  • Assign virtual keys to agents
  • UI - Allow using AI to understand Usage patterns
  • User filtering on usage page
  • Add request_duration_ms to SpendLogs
  • Lakera v2 post-call hook with PII masking

Full Release Notes

## What's Changed
* security: fix critical/high CVEs in OS-level libs and NPM transitive by @Harshit28j in https://github.com/BerriAI/litellm/pull/22008
* feat(proxy): limit concurrent health checks with health_check_concurrency by @MarshHawk in https://github.com/BerriAI/litellm/pull/20584
* fix(bedrock): pass timeout param to bedrock rerank http client by @ishaan-jaff in https://github.com/BerriAI/litellm/pull/22021
* [Fix] UI - Virtual Keys: restrict Edit Settings to key owners by @yuneng-jiang in https://github.com/BerriAI/litellm/pull/21985
* feat(prometheus): opt-in stream label on litellm_proxy_total_requests_metric by @ishaan-jaff in https://github.com/BerriAI/litellm/pull/22023
* fix(router): emit x-litellm-overhead-duration-ms header for streaming requests by @ishaan-jaff in https://github.com/BerriAI/litellm/pull/22027
* [Feat] OpenAI codex 5.3 day 0 support by @Sameerlite in https://github.com/BerriAI/litellm/pull/22035
* docs: update v1.81.12-stable release notes to point to stable.1 by @ishaan-jaff in https://github.com/BerriAI/litellm/pull/22036
* [Infra] Add Spend Tracking Lifecycle Logging by @yuneng-jiang in https://github.com/BerriAI/litellm/pull/22029
* perf: skip throwaway Usage() construction in ModelResponse.__init__ by @ryan-crabbe in https://github.com/BerriAI/litellm/pull/21611
* perf: optimize is_model_o_series_model with startswith by @ryan-crabbe in https://github.com/BerriAI/litellm/pull/21690
* fix: dead code cleanup in MCP server error handler by @ryan-crabbe in https://github.com/BerriAI/litellm/pull/20032
* perf: use cached _safe_get_request_headers instead by @ryan-crabbe in https://github.com/BerriAI/litellm/pull/21430
* [Test] UI - Unit Testing Coverage: Router Settings by @yuneng-jiang in https://github.com/BerriAI/litellm/pull/22043
* feat(proxy): tool policies - auto-discover tools + policy enforcement guardrail by @ishaan-jaff in https://github.com/BerriAI/litellm/pull/22041
* fix: add cache invalidation for _cached_get_model_group_info by @ryan-crabbe in https://github.com/BerriAI/litellm/pull/20376
* docs: add trailing slash to /mcp endpoint URLs by @ryan-crabbe in https://github.com/BerriAI/litellm/pull/20509
* [Feat] UI - Allow using AI to understand Usage patterns  by @ishaan-jaff in https://github.com/BerriAI/litellm/pull/22042
* fix: add prompt_cache_key and prompt_cache_retention support for OpenAI by @ryan-crabbe in https://github.com/BerriAI/litellm/pull/20397
* [Feature] UI - Virtual Keys: Add KeyInfoHeader component by @yuneng-jiang in https://github.com/BerriAI/litellm/pull/22047
* healthcheck-model_id-fix by @atapia27 in https://github.com/BerriAI/litellm/pull/21071
* fix(ui): show real tool names in logs for Anthropic-format tools by @ishaan-jaff in https://github.com/BerriAI/litellm/pull/22048
* feat(agents): assign virtual keys to agents by @ishaan-jaff in https://github.com/BerriAI/litellm/pull/22045
* removed extra comma typo by @atapia27 in https://github.com/BerriAI/litellm/pull/22053
* fix(test): Update status enum values to match Google Interactions OpenAPI spec by @shin-bot-litellm in https://github.com/BerriAI/litellm/pull/22061
* [Fix] Enrich Failure Spend Logs With Key/Team Metadata by @yuneng-jiang in https://github.com/BerriAI/litellm/pull/22049
* feat: add new code execution dataset by @krrishdholakia in https://github.com/BerriAI/litellm/pull/22065
* Litellm gemini trace id missingv2 by @Harshit28j in https://github.com/BerriAI/litellm/pull/22077
* fix(guardrails): prevent presidio crash on non-json responses by @Harshit28j in https://github.com/BerriAI/litellm/pull/22084
* fix Unauthenticated RCE and Sandbox Escape in Custom Code Guardrail by @Harshit28j in https://github.com/BerriAI/litellm/pull/22095
* [Feat]Add forward auth headers of provider by @Sameerlite in https://github.com/BerriAI/litellm/pull/22070
* Fix None (TypeError: 'NoneType' object is not a mapping) by @Sameerlite in https://github.com/BerriAI/litellm/pull/22080
* Fix: Test connect failing for bedrock batches mode by @Sameerlite in https://github.com/BerriAI/litellm/pull/22081
* [chore] bump OpenAI package version by @Sameerlite in https://github.com/BerriAI/litellm/pull/22094
* fix(ui): remove duplicate antd import in ToolPolicies by @shin-bot-litellm in https://github.com/BerriAI/litellm/pull/22107
* feat(ui): add user filtering to usage page by @krrishdholakia in https://github.com/BerriAI/litellm/pull/22059
* [Test] UI - Pricing Calculator: Add comprehensive unit tests by @yuneng-jiang in https://github.com/BerriAI/litellm/pull/22108
* [Docs] Credential Usage Tracking by @yuneng-jiang in https://github.com/BerriAI/litellm/pull/22112
* [Infra] Ui Build and Test Fixes by @yuneng-jiang in https://github.com/BerriAI/litellm/pull/22116
* Agents - assign tools  by @krrishdholakia in https://github.com/BerriAI/litellm/pull/22064
* [Feature] Add request_duration_ms to SpendLogs by @yuneng-jiang in https://github.com/BerriAI/litellm/pull/22066
* chore: regenerate poetry.lock to match pyproject.toml by @github-actions[bot] in https://github.com/BerriAI/litellm/pull/22120
* Litellm redis pipeline spend updates by @ryan-crabbe in https://github.com/BerriAI/litellm/pull/22044
* perf(proxy): batch 11 create_task() calls into 1 in update_database() by @ryan-crabbe in https://github.com/BerriAI/litellm/pull/22028
* fix(auth): remove hardcoded base64 string flagged by secret scanner by @jquinter in https://github.com/BerriAI/litellm/pull/22125
* Proxy request tags docs by @ishaan-jaff in https://github.com/BerriAI/litellm/pull/22129
* [Feat] Realtime API - Add logging, spend tracking support + Tool Tracing by @ishaan-jaff in https://github.com/BerriAI/litellm/pull/22105
* feat: add UI banner warning for detailed debug mode by @krrishdholakia in https://github.com/BerriAI/litellm/pull/21527
* [Feature] UI - Logs: Use backend request_duration_ms and make Duration sortable by @yuneng-jiang in https://github.com/BerriAI/litellm/pull/22122
* [Fix] UI - MCP Servers: Make auth value optional for create flow by @yuneng-jiang in https://github.com/BerriAI/litellm/pull/22119
* Add Lakera v2 post-call hook and tests (fixed PII masking) by @eurogig in https://github.com/BerriAI/litellm/pull/21783
* Add claims agent guardrails (5 categories + policy template) by @krrishdholakia in https://github.com/BerriAI/litellm/pull/22113
* New Azure OpenAI Models 2026-02-25 by @marty-sullivan in https://github.com/BerriAI/litellm/pull/22114
* [Chore] Update aiml model pricing by @Sameerlite in https://github.com/BerriAI/litellm/pull/22139
* feat(realtime): guardrails support for /v1/realtime WebSocket endpoint by @ishaan-jaff in https://github.com/BerriAI/litellm/pull/22152
* feat(add-new-block_code_execution-guardrail): prevent agent from executing code by @krrishdholakia in https://github.com/BerriAI/litellm/pull/22154
* feat(vertex_ai): Vertex AI Gemini Live via unified /realtime endpoint by @ishaan-jaff in https://github.com/BerriAI/litellm/pull/22153
* [Infra] Fixing UI Build by @yuneng-jiang in https://github.com/BerriAI/litellm/pull/22158
* Development environment setup by @ishaan-jaff in https://github.com/BerriAI/litellm/pull/22160
* fix(realtime): guardrails with pre_call/post_call mode now work on realtime WebSocket by @ishaan-jaff in https://github.com/BerriAI/litellm/pull/22161
* feat(realtime guardrails): end_session_after_n_fails + Endpoint Settings wizard step by @ishaan-jaff in https://github.com/BerriAI/litellm/pull/22165
* [Fix] CICD 26/02/26 by @Sameerlite in https://github.com/BerriAI/litellm/pull/22151
* fix(proxy): honor MAX_STRING_LENGTH_PROMPT_IN_DB from config env vars by @gavksingh in https://github.com/BerriAI/litellm/pull/22106
* fix(proxy): improve auth exception logging levels and add structured context by @bensi94 in https://github.com/BerriAI/litellm/pull/22099
* Adjust input and output cost per token for mistral-small-2503 by @jinskjoy in https://github.com/BerriAI/litellm/pull/22097
* fix(adapter): populate cache_read_input_tokens from prompt_tokens_details for OpenAI/Azure by @roni-frantchi in https://github.com/BerriAI/litellm/pull/22090
* fix: arize phoenix nested traces by @mubashir1osmani in https://github.com/BerriAI/litellm/pull/22169
* fix(test): update Phoenix OTEL test  by @mubashir1osmani in https://github.com/BerriAI/litellm/pull/22181
* Bump litellm version to 1.81.16 by @Sameerlite in https://github.com/BerriAI/litellm/pull/22184
* merge main by @Sameerlite in https://github.com/BerriAI/litellm/pull/22186
* Revert "fix(proxy): improve auth exception logging levels and add structured context" by @Sameerlite in https://github.com/BerriAI/litellm/pull/22187
* Litellm oss staging 02 26 2026 by @krrishdholakia in https://github.com/BerriAI/litellm/pull/22166
* Return Clear error message why no tools are available / IP Filtering occured by @Sameerlite in https://github.com/BerriAI/litellm/pull/22142
* fix(embeddings): allow dimensions param passthrough via allowed_openai_params for non-text-embedding-3 OpenAI models by @Sameerlite in https://github.com/BerriAI/litellm/pull/22144
* Add JSON exact match test for vLLM embeddings by @Sameerlite in https://github.com/BerriAI/litellm/pull/22180
* Add audio as supported openai param by @Sameerlite in https://github.com/BerriAI/litellm/pull/22092
* Fix: Passing of image and parameters in videos api by @Sameerlite in https://github.com/BerriAI/litellm/pull/22170
* fix(tests): update MCP server test mocks to match production API by @jquinter in https://github.com/BerriAI/litellm/pull/22198
* fix(websearch_interception): preserve thinking blocks in agentic loop follow-up messages by @michelligabriele in https://github.com/BerriAI/litellm/pull/21604
* test(mcp): add e2e test for stateless StreamableHTTP behavior by @michelligabriele in https://github.com/BerriAI/litellm/pull/22033
* fix: custom auth budget issue by @Harshit28j in https://github.com/BerriAI/litellm/pull/22164

## New Contributors
* @MarshHawk made their first contribution in https://github.com/BerriAI/litellm/pull/20584
* @gavksingh made their first contribution in https://github.com/BerriAI/litellm/pull/22106
* @roni-frantchi made their first contribution in https://github.com/BerriAI/litellm/pull/22090

**Full Changelog**: https://github.com/BerriAI/litellm/compare/CVEv1.81.5...v1.81.16.custm-auth.dev