What's Changed
- Add image tokens in chat completion by @Sameerlite in #18327
- Add usage object in image generation of gemini by @Sameerlite in #18328
- [Feat] New provider TTS - Add AWS polly API for TTS by @ishaan-jaff in #18326
- Litellm content filter logs page by @ishaan-jaff in #18335
- fix: request body for image embedding request by @Sameerlite in #18336
- [Fix] Minor Styling Changes by @yuneng-jiang in #18310
- [Feature] UI - Improve Create and Delete Path for CloudZero by @yuneng-jiang in #18263
- [Feat] Enable async_post_call_failure_hook to transform error responses by @AlexsanderHamir in #18348
- [Feature] SSO Role Mapping by @yuneng-jiang in #18090
- [Fix] Allow Deleting Key Expiry by @yuneng-jiang in #18278
- [Docs] Add CloudZero UI Docs by @yuneng-jiang in #18350
- [Infra] Migrate MCP Fetching Logic to React Query by @yuneng-jiang in #18352
- Fix CI: Revert security scan changes and add GitGuardian ignore rules by @AlexsanderHamir in #18358
- [Feature] Allow Error code filtering on Spend Logs by @yuneng-jiang in #18359
- feat(databricks): Add enhanced authentication, security features, and custom user-agent support by @prasadkona in #18349
- [Feature] UI - Add Error Code Filtering on UI by @yuneng-jiang in #18366
- [Fix] UI - Key Creation MCP Settings Submit Form Unintentionally by @yuneng-jiang in #18355
- fix(gemini): properly catch context window exceeded errors by @lucasrothman in #18283
- fix: lost tool_calls when streaming has both text and tool_calls by @Harshit28j in #18316
- fix: remove deprecated Groq models and update model registry by @Chesars in #18062
- Add 5 AI providers using
openai_likeby @mcowger in #18362 - feat(pricing): add Azure gpt-image-1.5 pricing to cost map by @Chesars in #18347
- docs(openai): fix gpt-5-mini reasoning_effort supported values by @Chesars in #18346
- Add azure_ai/gpt-oss-120b model pricing details by @aggeentik in #18317
- Add supports_response_schema to all supported together ai models by @Sameerlite in #18368
- (Feat) Minimax chat completion support by @Sameerlite in #18380
- Add anthropic native endpoint support for Minimax by @Sameerlite in #18377
- Add gemini thought signature support via tool call id by @Sameerlite in #18374
- Add support for minimax tts by @Sameerlite in #18334
- add sap creds for list in proxy ui by @vasilisazayka in #18375
- [Feat] Interactions API - allow using all litellm providers (interactions -> responses api bridge) by @ishaan-jaff in #18373
- [Feat] RAG query endpoint - Add RAG Search / Query endpoint by @ishaan-jaff in #18376
- [Refactor] Consolidate lazy import handlers with registry pattern by @AlexsanderHamir in #18389
- [Refactor]: Complete lazy loading migration for all 180+ LLM config classes by @AlexsanderHamir in #18392
- [Fix] UI - Disappears in Development Environments by @yuneng-jiang in #18393
- feat: support MCP stdio header env overrides by @uc4w6c in #18324
- [Refactor]: Lazy load additional components (types, callbacks, utilities) by @AlexsanderHamir in #18396
- Revert "[Fix] UI - Disappears in Development Environments" by @yuneng-jiang in #18398
- [Fix] Disable Admin UI Flag by @yuneng-jiang in #18397
- [Fix] Allow Organization Admins to See Organization Tab by @yuneng-jiang in #18400
- [Reissue: Fix] UI - Disappears in Development Environments by @yuneng-jiang in #18399
- [Feature] Resolve Organization Alias on Team Table by @yuneng-jiang in #18401
- (fix) Remove double imports in main.py by @Sameerlite in #18406
- Add generate content in llm route by @Sameerlite in #18405
- feat(vertex-ai): add centralized get_vertex_base_url() helper for global location support by @Sameerlite in #18410
- Add support for image generation via azure ad token by @Sameerlite in #18413
- Update minimax docs to be in proper format by @Sameerlite in #18403
- [Feature] Resolve Team Alias in Organization Info View + Deprecate useTeams by @yuneng-jiang in #18404
- [Refactor] useQuery Hooks Now Depend on useAuthorized by @yuneng-jiang in #18416
- [Fix] Allow Organization Admins to View Their Organization Info by @yuneng-jiang in #18417
- [Fix] UI - Model Page Sorting Sorts Entire Set by @yuneng-jiang in #18420
- [Feature] Allow Column Resizing on Keys Table by @yuneng-jiang in #18424
- [Infra] Add Model Page Model Provider Select Performance by @yuneng-jiang in #18425
- [Feat] AI Gateway - Add support for Platform Fee / Margins by @ishaan-jaff in #18427
- Add docs as follow on to #18362 by @mcowger in #18388
- Add azure/gpt-5.2-chat by @mihidumh in #18361
- add license endpoint by @bernata in #18311
- fix: Datadog span kind fallback when parent_id missing by @uc4w6c in #18418
- feat: add MCP test support to completions on Playground by @uc4w6c in #18440
- added google image gen models by @mubashir1osmani in #18472
- Litellm feat guardrail log actual event type by @uc4w6c in #18489
- fix health status by @uc4w6c in #18443
- Fix formatting in proxy configs documentation by @Prazeina in #18498
- Require auth for MCP connection test endpoint by @emerzon in #18290
- [Feature] Add Optional Query Param "expand" to /key/list by @yuneng-jiang in #18502
- [Refactor] Key Table to Use Optional "expand" query by @yuneng-jiang in #18503
- [Refactor] UI - Keys Table by @yuneng-jiang in #18504
- [Infra] UI - Virtual Keys Table to use React Query by @yuneng-jiang in #18506
- [Infra] UI - E2E Tests Setup by @yuneng-jiang in #18501
- [Feature] UI - Key Table Loading Skeleton by @yuneng-jiang in #18527
- [Refactor] UI - E2E Tests: Sidebar Navigation by @yuneng-jiang in #18528
- feat: optimize MCP server listing by separating health checks by @uc4w6c in #18530
- [Feature] UI - Add Model Clearer Flow For Team Admins by @yuneng-jiang in #18532
- [Refactor] UI - E2E Tests: Parity With Legacy Tests by @yuneng-jiang in #18533
- [Feature] UI - New Badge Reusable Component + Update New badge for features by @yuneng-jiang in #18537
- [Feauture] UI - Hide New Badges by @yuneng-jiang in #18547
- [Infra] UI - Unit Testing Coverage With v8 by @yuneng-jiang in #18548
- [Refactor] UI - Remove Model Analytics From Model Page by @yuneng-jiang in #18552
- [Fix] UI - Usage Page User Max Budget by @yuneng-jiang in #18555
- fix: prevent LiteLLM from closing external OTEL spans by @uc4w6c in #18553
- [Feature] Expire Previous UI Session Tokens on Login by @yuneng-jiang in #18557
- [Fix] CI/CD - check_code_and_doc_quality by @AlexsanderHamir in #18560
- [Infra] CI - De-duplicate Docker Database Build by @yuneng-jiang in #18561
- [Fix] CI/CD - litellm_mapped_tests_llms by @AlexsanderHamir in #18563
- [Fix] CI/CD - litellm_utils_testing by @AlexsanderHamir in #18565
- [Fix] CI/CD - litellm_security_tests by @AlexsanderHamir in #18567
- [Fix] CI/CD - litellm_mapped_tests_proxy by @AlexsanderHamir in #18572
- [Feature] UI - Model Page Loading State by @yuneng-jiang in #18574
- [Feature] UI - Clicking on Logo Directs to Correct URL by @yuneng-jiang in #18575
- [Refactor] UI - Model Hub Page by @yuneng-jiang in #18568
- [Fix] UI - Change Budget page to Have Tabs by @yuneng-jiang in #18576
- [Refactor] UI - Test for React Query Hooks by @yuneng-jiang in #18577
- fix authentication errors at messages API via azure_ai by @systec-dk in #18500
- Add Kubernetes ServiceAccount JWT authentication support by @LukasdeBoer in #18055
- fix: unify model names to provider-defined names by @uc4w6c in #18573
- add selectable mcp servers to the playground by @uc4w6c in #18578
- feat: add UI support for configuring meta URLs by @uc4w6c in #18580
- fix(vertex_ai): convert image URLs to base64 for Vertex AI Anthropic by @DevajMody in #18497
- fix(vertex_ai): separate Tool objects for each tool type per API spec by @xuan07t2 in #18514
- feat: Add MiniMax provider support to UI dashboard by @Chesars in #18496
- Fix Gemini 3 imgs in tool response by @RensDimmendaal in #18190
- fix: correct deepseek-v3p2 pricing for Fireworks AI by @yurekami in #18483
- Add all resolution for gpt-image-1.5 by @Sameerlite in #18586
- Preserve system instructions for gemini by @Sameerlite in #18585
- Add thought signature for non tool call requests by @Sameerlite in #18581
- Remove prompt caching headers as the support has been removed by @Sameerlite in #18579
- Add validation for negative budget by @Sameerlite in #18583
- fix background cost tracking tests by @Sameerlite in #18588
- fix(cost_calculator): correct gpt-image-1 cost calculation using token-based pricing by @Chesars in #17906
- Feature: Add
log_formatoption to GenericAPILogger by @chetanchoudhary-sumo in #18587 - fix: return empty data array instead of 500 when no models configured by @agertz7 in #18556
- fix: add deprecation_date for discontinued Google models by @yudelevi in #18550
- fix: logging_worker handle event loop changes in multiprocessing by … by @Harshit28j in #18423
- Add memory pattern detection test and fix bad memory patterns by @AlexsanderHamir in #18589
- add dimensions for ollama embedding by @smallp in #18536
- Add unbounded data structure detection to memory test by @AlexsanderHamir in #18590
- refactor: Add lazy loading for get_llm_provider by @AlexsanderHamir in #18591
- Feat/add watsonx fields by @kevinpauer in #18569
- refactor: lazy-load heavy audio library and loggers by @AlexsanderHamir in #18592
- Lazy load 9 heavy imports in litellm/utils.py by @AlexsanderHamir in #18595
- fix openapi to mcp by @uc4w6c in #18597
- [Feature] UI - Allow Adding Role Mappings for SSO by @yuneng-jiang in #18593
- [Feature] UI - SSO Settings Page by @yuneng-jiang in #18600
- [Infra] UI - Adding Unit Tests to Increase Coverage by @yuneng-jiang in #18601
- [Fix] UI - Useful Links Remove Modal on Adding Links by @yuneng-jiang in #18602
- Agentcore mcp server docs by @krrishdholakia in #18603
- LiteLLM adopters section by @krrishdholakia in #18605
- fix: correct cost calculation when reasoning_tokens are without text_tokens by @Chesars in #18607
- Iam roles anywhere docs by @krrishdholakia in #18559
- Litellm feat helm lifecycle support by @cansakiroglu in #18517
- fix(sap): pass through extra params from allowed_openai_params by @dee-walia20 in #18432
- fix: handle empty error objects in response conversion by @yurekami in #18493
- feat(types): add output_text property to ResponsesAPIResponse by @yurekami in #18491
- google genai adapter inline data support by @luxinfeng in #18477
- feat(zai): Add GLM-4.7 model with reasoning support by @cantalupo555 in #18476
- Allow installation with current grpcio on old Python by @andersk in #18473
- fix: correctly route codestral chat and FIM endpoints by @majiayu000 in #18467
- fix: extract pure base64 data from data URLs for Ollama by @majiayu000 in #18465
- fix: align prometheus metric names with DEFINED_PROMETHEUS_METRICS by @majiayu000 in #18463
- refactor: lazy load get_llm_provider and remove_index_from_tool_calls by @AlexsanderHamir in #18608
- [Refactor] UI - SSO Settings Page Edit Path by @yuneng-jiang in #18609
- refactor(utils): lazy load heavy imports to improve import time and memory usage by @AlexsanderHamir in #18610
- refactor(utils): implement lazy loading for provider configs, model info classes, streaming handlers, and redact utilities by @AlexsanderHamir in #18611
- [Infra] UI - E2E Tests: Add Model - See Models from Selected Provider by @yuneng-jiang in #18615
- refactor(utils): lazy load 15 additional imports to improve import time by @AlexsanderHamir in #18613
- perf(utils): lazy load 15+ unused imports by @AlexsanderHamir in #18616
- [Feature] UI - SSO Settings Loading State + Deprecate Previous SSO Flow by @yuneng-jiang in #18617
- [Infra] UI - Unit Tests: Adding Tests to Increase Coverage by @yuneng-jiang in #18618
- [Feature] UI - Virtual Keys Table Loading State Between Pages by @yuneng-jiang in #18619
- feat: Add Levo AI integration by @amangupta-20 in #18529
- fix: MCP handling in unified guardrail by @uc4w6c in #18630
- refactor: remove redundant Bedrock guardrail block handling by @uc4w6c in #18634
- feat: add user email to cloudzero by @uc4w6c in #18584
- Fix: Remove exec() usage and handle invalid OpenAPI parameter names by @hamzaq453 in #18480
- [feat] mcp global mode by @uc4w6c in #18639
- tests: mock LiteLLM_UserTable for CloudZero export by @uc4w6c in #18640
- Add openrouter/google/gemini-3-flash-preview to model_prices_and_context_window.json by @matt-greathouse in #18247
- [Feat] Add Cost Estimator for AI Gateway by @ishaan-jaff in #18643
- feat(mcp): parallelize tool fetching from multiple MCP servers by @ktsaou in #18627
- fix: Add custom llm provider to get_llm_provider when sent via UI by @Sameerlite in #18638
- fix: auth header for custom api base in generate Content request by @Sameerlite in #18637
- (feat) Add mapping for reasoning effort to summary param of responses API by @Sameerlite in #18635
- Fix mapped tests 05012026 by @Sameerlite in #18644
- [UI] Add view for estimating costs across requests by @ishaan-jaff in #18645
- [Feat] Litellm UI allow selecting many models for cost estimator by @ishaan-jaff in #18653
- lasso-guardrail-api docs by @orgersh92 in #18652
- refactor: lazy load DatadogLLMObsInitParams to reduce import time by @AlexsanderHamir in #18658
- refactor: migrate utils.py lazy imports to registry pattern by @AlexsanderHamir in #18657
- fix: prevent proxy startup failures from case-sensitive tool permission guardrail validation by @AlexsanderHamir in #18662
- Generic guardrail api update by @krrishdholakia in #18647
- [Feat] Add support for LangSmith organization-scoped API keys with tenant ID by @shivamrawat1 in #18623
- fix(router): Validate routing_strategy at startup to fail fast with helpful error by @FlibbertyGibbitz in #18624
- Add libsndfile to database Docker image for audio processing by @Chesars in #18612
- fix: extend case normalization to ALL guardrail types by @AlexsanderHamir in #18664
- Fix: Map Gemini cached_tokens to Langfuse cache_read_input_tokens by @Chesars in #18614
- feature/ add qualifire guardrails by @drorIvry in #18594
- Fix User Invite & Key Generation Email Notification Logic by @urainshah in #18524
- [Fix] Use timedelta to Calculate Key Expiry on Generate by @yuneng-jiang in #18666
- [docs] mention MCP prompt/resources types in overview by @uc4w6c in #18669
- [feat] add support MCP guardrail to noma by @uc4w6c in #18668
- fix: ensure_async_clients_test error by @uc4w6c in #18670
- [Feature] UI - SSO Settings Page Add Role Mappings by @yuneng-jiang in #18677
- Use already configured opentelemetry providers by @mangabits in #18279
- [feat] mcp server visibility configurable by @uc4w6c in #18681
- [Fix] UI - SSO Edit Modal Clear Role Mapping Values on Provider Change by @yuneng-jiang in #18680
- Fix: fixed some MCP gateway oauth2 auth issues and ClosedResourceError by @Eric84626 in #18281
- feat: Add GigaChat provider support by @0717376 in #18564
- Add redisvl in requirements.txt by @Sameerlite in #18177
- Staging 01/05/2026 by @krrishdholakia in #18663
- feat (proxy) : Responses API Support More Streaming Callback Hooks by @LingXuanYin in #18513
- feat(model_cost): add display_name, model_vendor, and model_version metadata to model entries by @nmgarza5 in #17330
- Revert "Add redisvl in requirements.txt" by @uc4w6c in #18687
- fix main test by @uc4w6c in #18693
- Fix mapped test 060126 by @Sameerlite in #18695
- Revert "feat(model_cost): add display_name, model_vendor, and model_version metadata to model entries" by @Sameerlite in #18701
- [Feat] New API Endpoint - Responses API (v1/responses/compact) by @ishaan-jaff in #18697
- fix: remove display name by @Sameerlite in #18702
- [Fix] Put automatic reasoning summary inclusion behind feat flag by @Sameerlite in #18688
- Add the LITELLM_REASONING_AUTO_SUMMARY in doc by @Sameerlite in #18705
- [Bug] fix model map by @Sameerlite in #18706
- [UI] - Feat add request provider form on UI by @ishaan-jaff in #18704
- fix: preserve client error status codes in streaming mode #18690 by @krisxia0506 in #18698
- Fix/gcs cache docs missing for proxy mode by @pascalwhoop in #13328
- [Feature]: Add amazon.nova-2-multimodal-embeddings-v1 to model_prices_and_context_window by @Isaac4real in #18710
- Remove redundant comments about setting litellm.callbacks by @marukaz in #18711
- fix(router): correct num_retries tracking in retry logic by @rohitravirane in #18712
- Add client header for SAP AI Core Tracking by @lizzzcai in #18714
- Add LlamaGate as a new provider by @hkd987 in #18673
- Handle not supported region for vertex ai count tokens - v1/messages/count_tokens by @otaviofbrito in #18665
- Add LITELLM_DISABLE_LAZY_LOADING env var to fix VCR cassette creation issue by @AlexsanderHamir in #18725
- [Docs]: Adding SigNoz integration to observability docs by @gkarthi-signoz in #18726
- [Infra] Fixing UI Build by @yuneng-jiang in #18732
- [Feature] Allow editing team_member_budget_duration in /team/update by @yuneng-jiang in #18735
- [Feature] UI - Reusable Duration Select + Team Update Member Budget Duration by @yuneng-jiang in #18736
- [feat] allow configuring arize project name for OpenTelemetry service name by @uc4w6c in #18738
- [Infra] UI - Adding Unit Test for Coverage by @yuneng-jiang in #18742
- [Infra] UI - E2E Test: Can View Admin Setting Page by @yuneng-jiang in #18682
- Litellm fixes a2a sdk missing in requirements.txt by @ishaan-jaff in #18748
- [Fix] A2a endpoint - fix timeout by @ishaan-jaff in #18747
- [Feat] Litellm new endpoint add container file upload by @ishaan-jaff in #18743
- Revert "Litellm fixes a2a sdk (#18748)" by @ishaan-jaff in #18752
- fix: test_azure_image_edit_cost_tracking by @Sameerlite in #18758
- Litellm improve endpoint discovery by @krrishdholakia in #18762
- Fix component label automation to prevent false positives by @Chesars in #18765
New Contributors
- @prasadkona made their first contribution in #18349
- @lucasrothman made their first contribution in #18283
- @aggeentik made their first contribution in #18317
- @mihidumh made their first contribution in #18361
- @Prazeina made their first contribution in #18498
- @systec-dk made their first contribution in #18500
- @xuan07t2 made their first contribution in #18514
- @RensDimmendaal made their first contribution in #18190
- @yurekami made their first contribution in #18483
- @agertz7 made their first contribution in #18556
- @yudelevi made their first contribution in #18550
- @smallp made their first contribution in #18536
- @kevinpauer made their first contribution in #18569
- @cansakiroglu made their first contribution in #18517
- @dee-walia20 made their first contribution in #18432
- @luxinfeng made their first contribution in #18477
- @cantalupo555 made their first contribution in #18476
- @andersk made their first contribution in #18473
- @majiayu000 made their first contribution in #18467
- @amangupta-20 made their first contribution in #18529
- @ktsaou made their first contribution in #18627
- @FlibbertyGibbitz made their first contribution in #18624
- @urainshah made their first contribution in #18524
- @mangabits made their first contribution in #18279
- @0717376 made their first contribution in #18564
- @nmgarza5 made their first contribution in #17330
- @Isaac4real made their first contribution in #18710
- @marukaz made their first contribution in #18711
- @rohitravirane made their first contribution in #18712
- @lizzzcai made their first contribution in #18714
- @hkd987 made their first contribution in #18673
- @gkarthi-signoz made their first contribution in #18726
Full Changelog: v1.80.11-nightly...v1.80.12-nightly