AI Navigate

v1.82.1.rc.1

LiteLLM Releases / 3/12/2026

📰 NewsDeveloper Stack & InfrastructureTools & Practical UsageModels & Research

Key Points

  • v1.82.1.rc.1 fixes Gemini JSON Schema handling to preserve $ref for Gemini 2.0+.
  • Transcription fixes move duration to _hidden_params to align with OpenAI response spec.
  • Anthropic fix maps reasoning_effort to output_config for Claude 4.6 models.
  • Vertex addition introduces gemini-3.1-flash-image-preview to the model DB.
  • Spendlog maintenance improves old spendlog deletion cron job performance.

What's Changed

  • fix(gemini): preserve $ref in JSON Schema for Gemini 2.0+ by @Chesars in #21597
  • fix(transcription): move duration to _hidden_params to match OpenAI response spec by @Chesars in #22208
  • fix(anthropic): map reasoning_effort to output_config for Claude 4.6 models by @Chesars in #22220
  • feat(vertex): add gemini-3.1-flash-image-preview to model DB by @emerzon in #22223
  • perf(spendlogs): optimize old spendlog deletion cron job by @Harshit28j in #21930
  • Fix converse handling for parallel_tool_calls by @Sameerlite in #22267
  • [Fix]Preserve forwarding server side called tools by @Sameerlite in #22260
  • Fix free models working from UI by @Sameerlite in #22258
  • Add v1 for anthropic responses transformation by @Sameerlite in #22087
  • [Bug]Add ChatCompletionImageObject in OpenAIChatCompletionAssistantMessage by @Sameerlite in #22155
  • Fix: poetry lock by @Sameerlite in #22293
  • Enable local file support for OCR by @noahnistler in #22133
  • fix(mcp): Strip stale mcp-session-id to prevent 400 errors across proxy workers by @gavksingh in #21417
  • [Feature] Access group CRUD: Bidirectional team/key sync by @yuneng-jiang in #22253
  • Add LLMClientCache regression tests for httpx client eviction safety by @ryan-crabbe in #22306
  • fix(images): forward extra_headers on OpenAI code path in image_generation() by @Chesars in #22300
  • feat(models): add gpt-audio-1.5 to model cost map by @Chesars in #22303
  • feat(models): add gpt-realtime-1.5 to model cost map by @Chesars in #22304
  • fix(images): pass model_info/metadata in image_edit for custom pricing by @Chesars in #22307
  • fix(chatgpt): fix tool_calls streaming indexes by @Chesars in #21498
  • fix(openai): correct supported_openai_params for GPT-5 model family by @Chesars in #21576
  • fix(openai): correct supported params for gpt-5-search models by @Chesars in #21574
  • fix(azure_ai): resolve api_base from env var in Document Intelligence OCR by @Chesars in #21581
  • fix(models): function calling for PublicAI Apertus models by @Chesars in #21582
  • fix(vertex_ai): pass through native Gemini imageConfig params for image generation by @Chesars in #21585
  • fix(openrouter): use provider-reported usage in streaming without stream_options by @Chesars in #21592
  • fix(moonshot): preserve image_url blocks in multimodal messages by @Chesars in #21595
  • fix(types): remove StreamingChoices from ModelResponse, use ModelResponseStream by @Chesars in #21629
  • fix(responses): use output_index for parallel tool call streaming indices by @Chesars in #21337
  • Tests: add llmclientcache regression tests by @ryan-crabbe in #22313
  • Add deprecation dates for xAI grok-2-vision-1212 and grok-3-mini models by @Chesars in #20102
  • fix(containers): Fix Python 3.10 compatibility for OpenAIContainerConfig by @Chesars in #19786
  • fix(count_tokens): include system and tools in token counting API requests by @Chesars in #22301
  • fix(helicone): add Gemini and Vertex AI support to HeliconeLogger by @Chesars in #19288
  • fix(register_model): handle openrouter models without '/' in name by @Chesars in #19792
  • feat(model_prices): add OpenRouter native models to model cost map by @Chesars in #20520
  • fix(adapter): double-stripping of model names with provider-matching prefixes by @Chesars in #20516
  • docs: add OpenRouter Opus 4.6 to model map and update Claude Opus 4.6 docs by @Chesars in #20525
  • [Fix] Include timestamps in /project/list response by @yuneng-jiang in #22323
  • [Feature] UI - Projects: Add Projects page with list and create flows by @yuneng-jiang in #22315
  • Fix/claude code plugin schema by @rahulrd25 in #22271
  • Add Prometheus child_exit cleanup for gunicorn workers by @ryan-crabbe in #22324
  • docs: update AssemblyAI docs with Universal-3 Pro, Speech Understanding, and LLM Gateway by @dylan-duan-aai in #21130
  • feat: add in_flight_requests metric to /health/backlog + prometheus by @ishaan-jaff in #22319
  • fix(test): update realtime guardrail test assertions for voice violation behavior by @jquinter in #22332
  • fix(test): update Azure pass-through test after Responses API routing change by @jquinter in #22334
  • fix(db): add missing migration for LiteLLM_ClaudeCodePluginTable by @jquinter in #22335
  • fix(bedrock): restore parallel_tool_calls mapping in map_openai_params by @jquinter in #22333
  • [Feat] Agent RBAC Permission Fix - Ensure Internal Users cannot create agents by @ishaan-jaff in #22329
  • fix(mcp): update test mocks for renamed filter_server_ids_by_ip_with_info by @jquinter in #22327
  • fix: Add PROXY_ADMIN role to system user for key rotation by @milan-berri in #21896
  • fix: populate user_id and user_info for admin users in /user/info by @milan-berri in #22239
  • fix(caching): store task references in LLMClientCache._remove_key by @shivaaang in #22143
  • fix(image_generation): propagate extra_headers to Upstream by @ZeroClover in #22026
  • [Fix] Pass MCP auth headers from request into tool fetch for /v1/responses and chat completions by @shivamrawat1 in #22291
  • fix: shorten guardrail benchmark result filenames for Windows long path support by @demoray in #22039
  • Remove Apache 2 license from SKILL.md by @rasmi in #22322
  • fix(mcp): default available_on_public_internet to true by @ishaan-jaff in #22331
  • fix(bedrock): filter internal json_tool_call when mixed with real tools by @jquinter in #21107
  • fix(jwt): OIDC discovery URLs, roles array handling, dot-notation error hints by @ishaan-jaff in #22336
  • perf: streaming latency improvements — 4 targeted hot-path fixes by @ishaan-jaff in #22346
  • [Test] UI - CostTrackingSettings: Add comprehensive Vitest coverage by @yuneng-jiang in #22354
  • [Feature] Key list endpoint: Add project_id and access_group_id filters by @yuneng-jiang in #22356
  • [Feature] UI - Projects: Add Project Details Page by @yuneng-jiang in #22360
  • [Feature] UI - Projects: Add project keys table and project dropdown to key create/edit by @yuneng-jiang in #22373
  • Litellm health check tokens by @Harshit28j in #22299
  • Doc: security vulnerability scan report to v1.81.14 release notes by @Harshit28j in #22385
  • feat: ability to trace metrics datadog by @Harshit28j in #22103
  • feat(ci): add duplicate issue detection and auto-close bot by @jquinter in #22034
  • Litellm aws edge case by @Harshit28j in #22384
  • Litellm presidio stream v3 by @Harshit28j in #22283
  • fix: update_price_and_context_window workflow from running in forks by @Chesars in #18478
  • fix(ci): remove duplicate env key in scan_duplicate_issues workflow by @Chesars in #22405
  • fix(lint): suppress PLR0915 in complex transform methods by @jquinter in #22328
  • fix: atomic RPM rate limiting in model rate limit check by @jquinter in #22002
  • test(ci): add secret scan test and CI job by @jquinter in #22193
  • fix(proxy): isolate get_config failures from model sync loop by @jquinter in #22224
  • fix tts metrics issues by @Harshit28j in #20632
  • [Release Fix] by @ishaan-jaff in #22411
  • fix(ci): handle inline table in pyproject.toml for proxy-extras version check by @ishaan-jaff in #22414
  • [Feature] UI - Projects: Add delete project action by @yuneng-jiang in #22412
  • fix: bump litellm-proxy-extras to 0.4.50 and fix 3 failing tests by @ishaan-jaff in #22417
  • [Fix] UI - resolve flaky tests from leaked @tremor/react Tooltip timer by @yuneng-jiang in #22420
  • [Feature] UI - Admin Settings: Projects Opt-In Toggle by @yuneng-jiang in #22416
  • [Infra] Building UI for Release by @yuneng-jiang in #22423
  • fix(mypy): fix 3 mypy/pyright errors in presidio.py and _health_endpoints.py by @ishaan-jaff in #22422
  • bump: litellm-enterprise 0.1.32 → 0.1.33 + manual publish workflow by @ishaan-jaff in #22421
  • fix(mcp): set LITELLM_MASTER_KEY env var in e2e tests by @jquinter in #22413
  • fix(ci): replace default CodeQL with custom workflow to unblock CI by @jquinter in #22397
  • Development environment setup by @ishaan-jaff in #22432
  • fix(test): add spend data polling + graceful skip to Gemini e2e spend… by @ishaan-jaff in #22446
  • [Fix] UI - Virtual Keys: Fix beforeunload listener memory leak by @yuneng-jiang in #22430
  • Litellm stability fix v2 by @ishaan-jaff in #22452
  • fix: resolve ruff PLR0915 and mypy type checking lint errors by @anencore94 in #22359
  • Fix plaintext JWTs leaking in debug logs by @ryan-crabbe in #22424
  • fix(anthropic): populate output_config when reasoning_effort is used on Claude 4.6 by @giulio-leone in #22410
  • fix: add sync streaming fallback + fix 429 for all streaming paths by @CSteigstra in #22375
  • fix(vertex_ai): Set anthropic-beta as HTTP header for Vertex AI rawPredict by @castrapel in #22321
  • fix(types): normalize null top_logprobs to [] in ChatCompletionTokenLogprob by @shivaaang in #22245
  • fix (model-map): gemini litellm_provider for gemini/gemini-2.5-flash-image by @Dima-Mediator in #22156
  • fix(ui): Display newlines correctly in tool descriptions by @RussellLuo in #22363
  • [UI QA] - Add all provider models + providers on ui by @ishaan-jaff in #22461
  • Budget reset times and timezones by @krrishdholakia in #22428
  • Add OCR guardrail_translation handler support by @krrishdholakia in #22145
  • [Fix] Invite link allows multiple password resets by @yuneng-jiang in #22462
  • [Docs] Project Management UI by @yuneng-jiang in #22472
  • [Fix] UI - QueryClient: move to single root-level provider by @yuneng-jiang in #22463
  • [Feat] Make UI login session duration configurable via LITELLM_UI_SESSION_DURATION by @shivamrawat1 in #22182
  • Add observatory test workflow for RC/stable releases by @jquinter in #22508
  • Fix invalid secrets context in test-linting workflow by @jquinter in #22517
  • Fix observatory workflow checkout failing on commit hash by @jquinter in #22518
  • Fix undefined kwargs in InFlightRequestsMiddleware by @jquinter in #22523
  • Fix observatory tunnel DNS flakiness and PLR0915 lint by @jquinter in #22525
  • Fix PLR0915 lint error in _completion_streaming_iterator by @jquinter in #22526
  • fix(featherless_ai): use correct FEATHERLESS_AI_API_KEY env var name by @giulio-leone in #22497
  • fix(bedrock): extract region and model ID from bedrock/{region}/{model} path format by @Sameerlite in #22546
  • feat(vertex-ai): add VIDEO modality support in token usage tracking by @Sameerlite in #22550
  • Litellm oss staging 02 28 2026 by @krrishdholakia in #22340
  • fix(openrouter): pattern-based fix for native model double-stripping by @tombii in #22320
  • Revert "fix(adapter): double-stripping of model names with provider-matching prefixes" by @Chesars in #22593
  • docs: add fallback setup for virtual key with Loom video by @mubashir1osmani in #22600
  • [Feat] Make MCP timeouts configurable via environment variables by @shivamrawat1 in #22287
  • feat: add missing Mistral models and update pricing by @Chesars in #22601
  • fix: add missing pricing for dashscope/qwen3.5-plus and dashscope/qwen3-vl-plus by @Chesars in #22596
  • fix: update Gemini model deprecation dates by @Chesars in #22586
  • fix(pricing): add missing cache token pricing for 24 Bedrock Claude models by @Chesars in #22583
  • Litellm oss staging 02 26 2026 by @Chesars in #22582
  • Litellm oss staging 02 27 2026 by @Chesars in #22584
  • Add CrowdStrike AIDR guardrail hook by @kenany in #17876
  • feat(perplexity): add embedding support for pplx-embed-v1 models by @ishaan-jaff in #22610
  • Pr template test path by @krrishdholakia in #22612
  • [Feat] Add pricing for Nebius models by @ishaan-jaff in #22614
  • Add incident report: cache eviction closes in-use httpx clients by @ryan-crabbe in #22309
  • fix: set mock status_code in JWT OIDC discovery tests by @anencore94 in #22361
  • fix(openrouter): register OpenRouter as native Responses API provider by @shivaaang in #22355
  • feat(guardrails): team-based guardrail registration and approval workflow by @krrishdholakia in #22459
  • Managed batches fixes for vertex by @ephrimstanley in #22464
  • feat(togetherai): add support for togetherai/Qwen3.5-397B-A17B model by @Varad2001 in #22654
  • Revert "feat(togetherai): add support for togetherai/Qwen3.5-397B-A17B model" by @Sameerlite in #22657
  • bump: version 1.82.0 → 1.82.1 by @Harshit28j in #22631
  • Fix: Azure ai finetuning api by @Sameerlite in #22625
  • [Chore]Remove defualt hardcoded thinking levels for gemini 3 family by @Sameerlite in #22641
  • Add support for encrypted content affinity by @Sameerlite in #22651
  • fix(pricing): add 5 missing OpenRouter model pricing entries by @Chesars in #22649
  • fix(pricing): add 7 missing DashScope model pricing entries by @Chesars in #22650
  • fix(proxy): allow custom auth routes to bypass route authorization ch… by @Harshit28j in #22662
  • feat(models): add zai/glm-5 and zai/glm-5-code to model cost map by @Chesars in #22665
  • Day 0 gemini 3.1 flash lite preview support by @Sameerlite in #22674
  • Add support for Attaching knowledge base to model via UI by @Sameerlite in #22656
  • [Fix] MCP server: preserve created_at and updated_at timestamps by @yuneng-jiang in