What's Changed
- Prompt Management API - new API to interact with Prompt Management integrations (no PR required) by @krrishdholakia in #17800
- [Feature] UI - Keys/Teams: Add Access Group Selector to Create and Edit Flow by @yuneng-jiang in #21234
- [Fix] Preserve key_alias and team_id metadata in /user/daily/activity/aggregated after key deletion or regeneration by @shivamrawat1 in #20684
- [Infra] Fixes + UI Build by @yuneng-jiang in #21235
- [Docs] Access Group Docs by @yuneng-jiang in #21236
- [Infra] UI - Unit Tests: Increase timeout on Long Running Tests by @yuneng-jiang in #21237
- fix: use None instead of Reasoning() for reasoning parameter by @jquinter in #21103
- chore: add .claude directory to gitignore by @jquinter in #21104
- fix: remove unused Reasoning import from transformation.py by @jquinter in #21246
- Fix: Langfuse test isolation to prevent flaky failures by @jquinter in #21214
- fix(test): resolve merge conflict and fix bedrock thinking test flakiness by @jquinter in #21216
- [test] Fix flaky tests caused by module reloading and missing mocks by @jquinter in #19747
- Fix SSO test flakiness by correctly mocking premium_user by @jquinter in #21227
- fix: make policy_resolve_endpoints importable without FastAPI by @jquinter in #21075
- fix(test): improve Langfuse test isolation to prevent flaky failures by @jquinter in #21248
- fix(test): add mock isolation for test_video_content_handler_uses_get_for_openai by @jquinter in #21251
- fix(test): add cleanup for disable_aiohttp_transport in test_extra_body_with_fallback by @jquinter in #21250
- refactor: remove dead code from Langfuse test cleanup by @jquinter in #21253
- fix(test): restore Langfuse client counter in test cleanup by @jquinter in #21254
- refactor(test): remove redundant cache flush from test_openai_env_base by @jquinter in #21257
- fix(test): add environment cleanup for Vertex AI rerank tests by @jquinter in #21268
- fix(test): update reasoning_effort test to expect dict format by @jquinter in #21271
- fix(test): add environment cleanup for Vertex AI GPT-OSS tests by @jquinter in #21272
- fix(test): add environment cleanup for Vertex AI Qwen tests by @jquinter in #21273
- fix(test): use async side_effect for client.post mock in watsonx test by @jquinter in #21275
- fix(test): mock vertexai module in GPT-OSS tests to prevent authentication by @jquinter in #21276
- fix(test): update test_other_constraints_preserved for new schema filtering by @jquinter in #21217
- fix(deps): add fakeredis for pod lock manager tests by @jquinter in #21281
- fix(test): clear tokenizer LRU cache for test isolation by @jquinter in #21279
- fix(test): mock environment variables for callback validation test by @jquinter in #21286
- Fix/21193 chatgpt codex unsupported params by @jayy-77 in #21209
- Add routing based on if reasoning is supported or not by @Sameerlite in #21302
- Fix converse anthropic usage object according to v1/messages specs by @Sameerlite in #21295
- Managed batches - Misc bug fixes by @ephrimstanley in #21157
- fix(bedrock): clamp thinking.budget_tokens to minimum 1024 by @mjkam in #21306
- Add doc for OpenAI Agents SDK with LiteLLM by @Sameerlite in #21311
- Litellm oss staging 02 14 20262 by @Sameerlite in #21307
- fix: virutal key grace period from env/UI by @Harshit28j in #20321
- fix: SSO PKCE support fails in multi-pod Kubernetes deployments by @Harshit28j in #20314
- fix(deps): add pytest-postgresql for db schema migration tests by @jquinter in #21280
- fix(test): replace caplog with custom handler for parallel execution by @jquinter in #21282
- fix(test): correct async mock for video generation logging test by @jquinter in #21283
- fix(test): add cleanup fixture and no_parallel mark for MCP tests by @jquinter in #21284
- Litellm anthropic doc beta header by @Sameerlite in #21320
- Fix: Exclude tool params for models without function calling support (#21125) by @AtharvaJaiswal005 in #21244
- fix(proxy): handle missing DATABASE_URL in append_query_params by @vincentkoc in #21239
- fix(mcp): revert StreamableHTTPSessionManager to stateless mode by @michelligabriele in #21323
- UI - Content Filters, help edit/view categories and 1-click add categories + go to next page by @krrishdholakia in #21223
- Fix OCI Grok output pricing by @ishaan-jaff in #21329
- [Infra] Bumping proxy extras version by @yuneng-jiang in #21332
- docs: add Semgrep & OOM fixes section to v1.81.12 release notes by @AlexsanderHamir in #21334
- Fix au.anthropic.claude opus 4 6 v1 by @anttttti in #20731
- Feat/playground test fallbacks by @atapia27 in #21007
- Add GDPR Art. 32 EU PII Protection Policy Template by @ishaan-jaff in #21340
- feat: EU AI Act Article 5 policy template for prohibited practices detection by @ishaan-jaff in #21342
- [Feature] UI - Usage: Allow Filtering by User by @yuneng-jiang in #21351
- feat: guardrail tracing UI - policy, detection method, match details by @ishaan-jaff in #21349
- Fix: Add blog as incident report by @Sameerlite in #21356
- feat(models): add github_copilot/gpt-5.3-codex and github_copilot/claude-opus-4.6-fast by @Chesars in #21316
- [Infra] v1.81.13-nightly Change Copy to main by @yuneng-jiang in #21357
- [Infra] Add Server Root Test to GitHub Actions by @yuneng-jiang in #21353
- [Fix] Key Expiry Default Duration by @yuneng-jiang in #21362
- Add Databricks to supported LLM providers for response schema by @TomeHirata in #21368
- Update poetry.lock by @Sameerlite in #21383
- [feat] Add support for Openai Evals API by @Sameerlite in #21375
- Add vllm e2e test for embedding by @Sameerlite in #21382
- fix(lint): suppress PLR0915 too many statements in route_request by @jquinter in #21390
- Add Claude Sonnet 4.6 pricing by @ishaan-jaff in #21395
- add default version for opus 4.6 by @superpoussin22 in #21397
- Day 0 Support: Claude Sonnet 4.6 by @ishaan-jaff in #21401
- fix(ci): reduce parallelism and add retry logic to improve test stability by @jquinter in #21394
- fix(tests): improve conftest isolation and remove deprecation warnings by @jquinter in #21396
- Add EU AI Act Article 5 template to policy templates UI by @ishaan-jaff in #21414
- fix: remove unused asyncio imports (linting errors) by @jquinter in #21412
- fix(deps): regenerate poetry.lock after pyproject.toml changes by @jquinter in #21418
- fix(tests): resolve test isolation issue in http_handler tests by @jquinter in #21388
- fix(test): prevent flaky failure in test_log_langfuse_v2_handles_null_usage_values by @jquinter in #21419
- fix(token-counter): normalize encode() return type and handle HF tokenizer fallback by @jquinter in #21416
- fix(tests): mock prisma.Prisma in backoff retry tests to avoid 'prisma generate' by @jquinter in #21421
- fix(lakera-guardrail): avoid KeyError on missing LAKERA_API_KEY during initialization by @jquinter in #21422
- Fix EU AI Act template: add missing category_file path by @ishaan-jaff in #21424
- fix: remove importlib.reload calls causing cross-test class-reference staleness by @jquinter in #21425
- Add French language support for EU AI Act Article 5 guardrail by @ishaan-jaff in #21427
- fix(token-counter): fix test isolation and encode() return type normalization by @jquinter in #21423
- fix(tests): use class-level AsyncHTTPHandler mock in vertex GPT-OSS tests by @jquinter in #21428
- fix(tests): restore disable_aiohttp_transport and force_ipv4 in isolate_litellm_state by @jquinter in #21431
- fix(test): mock enterprise license check in JWT test by @jquinter in #21285
- fix: improve test isolation for parallel execution by @jquinter in #20595
- improve(ci): enhance test stability with better isolation and distribution by @jquinter in #21277
- fix: session grouping broken for dict rows from query_raw by @ishaan-jaff in #21435
- fix: restore sys.modules after stub injection in langfuse otel test by @jquinter in #21434
- feat(ui): add guardrail jump link in log detail view by @ishaan-jaff in #21437
- move e2e to llm translation by @Sameerlite in #21387
- Add compliance checker endpoints + UI panel by @ishaan-jaff in #21432
- Add prompt injection detection policy template + guardrails by @ishaan-jaff in #21452
- feat: split EU AI Act Article 5 into 5 dedicated sub-guardrails by @ishaan-jaff in #21453
- Add MCP Security guardrail to block unregistered MCP servers by @ishaan-jaff in #21429
- End users - Allow giving end users access to specific mcp servers by @krrishdholakia in #21411
- Revert "End users - Allow giving end users access to specific mcp servers " by @krrishdholakia in #21461
- Add support for devstral 2512 model aliases by @stronk7 in #21372
- Add native Responses API support for Databricks GPT models by @TomeHirata in #21460
- Litellm prompt registry fix by @Harshit28j in #21402
- Prompt Management API - allow integrating with LiteLLM prompt management without a PR by @krrishdholakia in #17946
New Contributors
- @mjkam made their first contribution in #21306
- @vincentkoc made their first contribution in #21239
- @anttttti made their first contribution in #20731
- @stronk7 made their first contribution in #21372
Full Changelog: v1.81.12-nightly...litellm_1.81.13-dev