github BerriAI/litellm 1.82.1

one hour ago

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 #22680
  • fix(proxy): encode batch IDs when x-litellm-model header is used by @Chesars in #22653
  • chore: update python-multipart constraint to >=0.0.18 by @Chesars in #17308
  • chore: code duplication in files/main.py using credential helpers by @Chesars in #20920
  • fix(vertex): preserve type schema semantics for JsonValuefields by @Chesars in #22589
  • fix(helicone): correct provider URL for Vertex AI Gemini models by @Chesars in #22603
  • fix(gemini): correct streaming finish_reason for tool calls by @Chesars in #21577
  • fix(anthropic): remove hardcoded reasoning summary in adapter by @Chesars in #21491
  • feat: support per-request enable_json_schema_validation for thread safety by @Chesars in #21233
  • feat(openrouter): add image edit support for OpenRouter models by @shivaaang in #22403
  • [Fix] Spend Log Cleanup: lock tracking, integer retention, skip log level by @yuneng-jiang in #22687
  • feat: guardrail-mode-default-list by @Harshit28j in #22676
  • Fix mypy override errors in count_tokens signatures by @jquinter in #22699
  • [Test] UI - Projects: Add unit tests for project hooks by @yuneng-jiang in #22698
  • Litellm feat batch expiry setting teams by @ryan-crabbe in #22705
  • Fix Anthropic streaming sync and Azure GPT-5.1 logprobs tests by @jquinter in #22701
  • fix: update vertex AI tests for function_response role=user by @jquinter in #22716
  • fix: add video_tokens to completion_tokens_details test by @jquinter in #22717
  • fix: use direct AsyncMock in JWT OIDC discovery tests by @jquinter in #22718
  • fix: account for vertex_ai schema diff in response_format test by @jquinter in #22719
  • fix: use real State in mock_request for proxy_utils tests by @jquinter in #22720
  • [Feature] UI - Virtual Keys: Manual Spend Reset by @yuneng-jiang in #22715
  • fix: resolve base_model in /cost/estimate for Azure custom deployments by @milan-berri in #22724
  • [Fix] Team Admin Reset Key Spend by @yuneng-jiang in #22725
  • [Fix] UI - Audit Logs: Server-side pagination, filtering, and drawer view by @yuneng-jiang in #22476
  • fix: pass all custom pricing fields to register_model in completion() and embedding() by @shanemort1982 in #22552
  • Agent Tracing - support context_id based trace id propogation + nested llm calls by @krrishdholakia in #22626
  • feat(togetherai): add support for TogetherAI Qwen3.5-397B-A17B model by @Varad2001 in #22685
  • fix: add missing supports_function_calling for deepinfra models by @OiPunk in #22620
  • Managed batches - Address PR bot comments from #22464 by @ephrimstanley in #22666
  • [Feat] UI - Add Open in New Tab on leftnav Bar by @ishaan-jaff in #22731
  • [Feat] Add Tool Policies for AI Gateway by @ishaan-jaff in #22732
  • feat(proxy): add key_alias, key_hash, requested_model DD APM span tags by @ishaan-jaff in #22710
  • Add Support for OpenAI's Chat-GPT 5.3 Chat model by @PeterDaveHello in #22693
  • [Fix] UI - Tool Policies: Add missing ToolRow properties by @yuneng-jiang in #22739
  • reusable-credentials by @atapia27 in #22316
  • virtual-keys-team-table by @atapia27 in #21958
  • fix(proxy): make common_checks opt-in for custom auth by @Harshit28j in #22678
  • merge main for 030326 by @Sameerlite in #22765
  • Revert "fix(anthropic): remove hardcoded reasoning summary in adapter" by @Sameerlite in #22768
  • Litellm oss staging 03 03 2026 by @Chesars in #22689
  • chore: regenerate poetry.lock to match pyproject.toml by @github-actions[bot] in #22769
  • [Feat] Add support for Responses Websocket by @Sameerlite in #22559
  • feat(tests): add proxy e2e azure batches test by @Sameerlite in #22763
  • [Feat] Add Google Search API Integration by @Sameerlite in #22752
  • Add mcp streaming events Fix and consistent response ID by @Sameerlite in #22744
  • Add support for wildcards models for files api by @Sameerlite in #22740
  • Fix MCP server URL and tools management by @Sameerlite in #22751
  • Fix flaky MCP streaming test and iterator silent failure by @jquinter in #22777
  • Exclude aresponses_websocket from Azure SDK client init test by @jquinter in #22778
  • Fix A2A message context_id access when message is a dict by @jquinter in #22780
  • Fix tool management tests using wrong field name call_policy by @jquinter in #22781
  • Add missing migration for LiteLLM_ToolTable policy changes by @jquinter in #22783
  • Fix responses ID security test for new request_cache parameter by @jquinter in #22784
  • Guard tenacity import in e2e Azure batch tests by @jquinter in #22785
  • Remove incompatible openai==1.100.1 pin from linting CI by @jquinter in #22789
  • Add tenacity to e2e Azure batch CI and revert importorskip by @jquinter in #22788
  • fix: remove unused EncryptedContentAffinityCheck import in router.py by @jquinter in #22776
  • fix: add new model_prices properties to validation schema by @jquinter in #22775
  • Add support for responses websocket for all providers by @Sameerlite in #22771
  • fix(proxy): improve team expiry enforcement validation by @ryan-crabbe in #22728
  • azure content enhancement... by @ma-armenta in #22581
  • fix(responses): preserve query params when building /responses/compact URL by @SebLz in #22668

New Contributors

Full Changelog: litellm_presidio-dev-v1.81.16...1.82.1

Don't miss a new litellm release

NewReleases is sending notifications on new releases.