Commit Graph
30195 Commits
Author SHA1 Message Date
Peter GolmandGitHub c215b3a79f fix: preserve llm_provider-* headers in error responses (#19020)
Extract and preserve provider-specific headers (llm_provider-*) when
handling error responses from LLM providers. This ensures that useful
debugging information from providers is available even when requests
fail with BadRequestError or similar exceptions.
2026-01-14 22:49:39 +05:30
Alexsander HamirandGitHub 05ebb0a739 docs: Add troubleshooting guide (#19096) 2026-01-14 09:17:43 -08:00
Debnil SurandGitHub 84dad952a2 fix(gemini): dereference $defs/$ref in tool response content (#19062)
Gemini API rejects JSON schemas with $defs/$ref references anywhere in
the conversation, including in function_response content. This causes
errors when tools return JSON containing schemas (e.g., toolbelt_inspect_tool
returning tool definitions).

The fix:
1. Apply unpack_defs() to all JSON tool responses before sending to Gemini
2. Recursively remove $defs sections after inlining references
3. Replace any remaining $ref (circular refs, external URLs) with placeholders

Edge cases handled:
- Circular $ref (self-referential types like TreeNode.left -> TreeNode)
- External $ref (URL-based like https://...)
- Deeply nested $ref in anyOf/oneOf/allOf

This ensures function_response content is clean before being sent to the
Gemini API.

Related issues:
- https://github.com/google-gemini/gemini-cli/issues/13326
- FastMCP #1372, #1426
2026-01-14 22:28:28 +05:30
Sameer KankuteandGitHub cd2d381dd4 Merge pull request #19042 from BerriAI/litellm_staging_01_13_2026
Staging 01/13/2026
2026-01-14 21:29:09 +05:30
Cesar GarciaandGitHub e0da7ca918 fix(models): correct max_input_tokens for GPT-5 models (#19056)
OpenAI's 400k context window is split between input and output:
- GPT-5/5.1/5.2 models: 272k input + 128k output = 400k context
- GPT-5-pro models: 128k input + 272k output = 400k context

Reference: https://openai.com/index/introducing-gpt-5-for-developers/
"In the API, all GPT-5 models can accept a maximum of 272,000 input
tokens and emit a maximum of 128,000 reasoning & output tokens"

Fixes incorrect 400k max_input_tokens values across 32 models.
2026-01-14 19:01:23 +05:30
Sameer Kankute 08ac26e5b4 Fix all 130126 tests 3 2026-01-14 18:01:22 +05:30
Sameer KankuteandGitHub 4aadc0d41f Merge pull request #19074 from BerriAI/litellm_19046-bug-retry-policies-are-not-applied-on-responses-calls
Add retry policy support to responses API
2026-01-14 17:56:11 +05:30
Sameer KankuteandGitHub 26d8ef734c Merge pull request #19070 from BerriAI/litellm_19066-bug-gemini-image-generation-returns-incorrect-prompt_tokens_details
Fix: [Bug]: Gemini Image Generation Returns Incorrect prompt_tokens_d…
2026-01-14 17:55:09 +05:30
Sameer KankuteandGitHub 49d873e894 Merge pull request #19067 from BerriAI/litellm_caching_fix
Fix: anthropic token counter with thinking
2026-01-14 17:52:56 +05:30
Sameer KankuteandGitHub b677ea1113 Merge pull request #19064 from BerriAI/litellm_openai_content_none_fix
Fix: Responses content can't be none
2026-01-14 17:52:31 +05:30
Sameer Kankute c0e97410b8 Fix all 130126 tests 2026-01-14 17:49:20 +05:30
Sameer Kankute 7dbf09cb12 Fix all 130126 tests 2026-01-14 17:47:03 +05:30
Sameer Kankute d03548b064 Fix all 130126 tests 2026-01-14 17:42:52 +05:30
Sameer KankuteandGitHub 8b987db26f Merge pull request #19080 from BerriAI/revert-18147-feat/gemini-response-json-schema
Revert "feat(gemini): add opt-in support for responseJsonSchema"
2026-01-14 17:07:23 +05:30
Sameer KankuteandGitHub b4a48f7996 Revert "feat(gemini): add opt-in support for responseJsonSchema (#18147)"
This reverts commit 4e417f9ef1.
2026-01-14 17:06:13 +05:30
Sameer KankuteandGitHub ff467c797d Merge pull request #19079 from BerriAI/main
merge main
2026-01-14 16:44:31 +05:30
Sameer KankuteandGitHub 075d0c70be Merge pull request #19078 from rohanwinsor/fix/respect-disable-fallbacks-streaming
fix: add handling for user-disabled mid-stream fallbacks
2026-01-14 16:38:52 +05:30
rohan.w.charles bc88dbfbc9 fix: implement mid-stream fallback handling based on user preference 2026-01-14 16:28:51 +05:30
rohan.w.charles e70b1bbfad fix: add handling for user-disabled mid-stream fallbacks 2026-01-14 16:04:36 +05:30
Sameer Kankute 52d3c9dcfc Add retry policy support to responses API 2026-01-14 14:55:17 +05:30
Sameer KankuteandGitHub b2d4f67e17 Merge pull request #19023 from eagle-p/feat/guardrail-clean-error-message
fix(guardrails): use clean error messages for blocked requests
2026-01-14 14:03:16 +05:30
Sameer KankuteandGitHub 11cc8dc9d2 Merge pull request #19037 from Jetemple/json-log-fix
fix: enable JSON logging via configuration and add regression test
2026-01-14 13:51:36 +05:30
Sameer Kankute 6991342dc4 Fix: [Bug]: Gemini Image Generation Returns Incorrect prompt_tokens_details 2026-01-14 13:47:46 +05:30
Sameer Kankute 0563ce42a4 Fix: anthropic token counter with thinking 2026-01-14 12:59:23 +05:30
Sameer Kankute 1b34d17935 Fix: Responses content can't be none 2026-01-14 12:13:18 +05:30
YutaSaitoandGitHub 8d204f0a84 Merge pull request #19060 from BerriAI/litellm_fix_anthropic-during-call-error
[fix] anthropic during call error
2026-01-14 15:13:09 +09:00
YutaSaitoandGitHub 5de0e97539 Merge pull request #19063 from BerriAI/litellm_docs_auth_message_ui
[docs] auth message UI
2026-01-14 15:09:37 +09:00
Yuta Saito 16ebfb0d5c docs: add mcp faq 2026-01-14 15:08:31 +09:00
Yuta Saito 2d3c292cd8 chore: Clarify MCP OAuth token handling in UI 2026-01-14 14:31:18 +09:00
yuneng-jiangandGitHub 39f56abd8d Merge pull request #18878 from BerriAI/litellm_hakhundov_contribution
[Fix] Feature Flag for Fix SCIM GET /Users error and enforce SCIM 2.0 compliance
2026-01-13 20:46:28 -08:00
Yuta Saito 82ed6283fa test: reorganize unified guardrail tests into nested classes 2026-01-14 13:38:43 +09:00
Yuta Saito c5ced033c9 fix: anthropic during call guardrail error 2026-01-14 13:37:01 +09:00
yuneng-jiangandGitHub d5f05f6c23 Merge pull request #19055 from BerriAI/litellm_ui_usage_model_act_fix
[Fix] UI - Usage: Model Activity Chart Y Axis
2026-01-13 19:53:08 -08:00
Cesar GarciaandGitHub 2b79d37e39 feat: Add Cerebras zai-glm-4.7 model support and deprecate zai-glm-4.6 (#18864)
- Add cerebras/zai-glm-4.7 with same specs as 4.6 (128K context, $2.25/M input, $2.75/M output)
- Mark cerebras/zai-glm-4.6 with deprecation_date: 2026-01-20
- Both models support function calling, reasoning, and tool choice
2026-01-13 19:45:02 -08:00
YutaSaitoandGitHub 95b419d65b Merge pull request #18938 from BerriAI/litellm_fix_generate_two_telemetry
[fix] generate two telemetry in responses
2026-01-14 12:35:23 +09:00
Ishaan Jaffer fd46140fef add call flow 2026-01-13 19:19:19 -08:00
Ishaan Jaffer cf82236176 docs fix 2026-01-13 19:18:36 -08:00
Ishaan JaffandGitHub d1acfcdb28 [Docs] Add Litellm architecture md doc (#19057)
* v0 of this

* remove bloat

* bring back older diagram

* fix

* fix

* docs fix

* fix rate limiting

* docs fix

* fix

* doc fix

* docs fix

* add SDK level fixes

* docs fix
2026-01-13 19:05:12 -08:00
Ishaan JaffandGitHub 1b00576711 [Feat] New Model - Azure Model Router on LiteLLM AI Gateway (#19054)
* fix - azure model router integration

* fix:_check_provider_match

* fix:_get_response_model

* tests azure model router

* test_azure_ai_model_router_streaming_model_in_chunk

* fix LlmProviders.AZURE.value

* test_azure_ai_model_router_streaming_cost_with_stream_options

* def test_get_model_from_chunks_azure_model_router():

* _get_model_from_chunks

* docs azure model router

* azure model router
2026-01-13 18:31:43 -08:00
yuneng-jiang 851006790c Fix model list not showing 2026-01-13 18:16:26 -08:00
Yuta Saito a1bceb8403 fix: anthropic Extra inputs are not permitted error 2026-01-14 11:15:56 +09:00
Yuta Saito 2814d3dd3d test: cover success handler sync/async logging branches 2026-01-14 10:52:14 +09:00
YutaSaitoandGitHub a66e007574 Merge pull request #19051 from BerriAI/litellm_fix_mcp-rest-auth-checks
[fix] mcp rest auth checks
2026-01-14 10:39:28 +09:00
Yuta Saito c3d0dd6897 fix: add aresponses litellm_params 2026-01-14 10:30:56 +09:00
Yuta Saito b71e30a8ac fix: mastake env variable name 2026-01-14 10:30:55 +09:00
Yuta Saito fde68e4a29 fix: mastake env variable name 2026-01-14 10:30:55 +09:00
Yuta Saito bc02d462ff fix: add call type aresponses 2026-01-14 10:30:55 +09:00
Yuta Saito 6ca9282857 refactor: make variable 2026-01-14 10:30:55 +09:00
yuneng-jiang 7c57138398 Remove stack from AreaChart 2026-01-13 17:28:02 -08:00
Alexsander HamirandGitHub 15c3bc219b [Refactor] Add CI enforcement for O(1) operations in _get_model_cost_key to prevent performance regressions (#19052)
* Optimize _get_model_cost_key to avoid expensive scans

- Remove expensive O(n) scan fallback that was causing 42.87% CPU overhead
- Only scan when size mismatch detected (O(1) check)
- Add warning in docstring: Only O(1) lookup operations are acceptable
- Clean up comments to be more concise
- Keep stale entry rebuild for pop() case (only triggers when stale entry found)

This fixes the performance issue where the scan was being triggered on every
failed lookup, causing severe CPU overhead during router operations.

* Add code quality check to enforce O(1) operations in _get_model_cost_key

- Add check_get_model_cost_key_performance.py to statically analyze _get_model_cost_key
- Detects O(n) operations (loops, comprehensions, problematic function calls)
- Recursively checks called functions to find nested O(n) operations
- Allows conditional O(n) rebuilds in helper functions (_rebuild_model_cost_lowercase_map, _handle_stale_map_entry_rebuild, _handle_new_key_with_scan)

* Integrate _get_model_cost_key performance check into CI pipeline

- Add check_get_model_cost_key_performance.py to check_code_and_doc_quality job
- Ensures O(1) requirement is enforced in CI to prevent performance regressions

* Remove unused performance test and clean up utils.py

- Remove test_get_model_info_performance.py (no longer needed)
- Remove extra blank line in utils.py

* Document allowed helper functions and exception process in _get_model_cost_key

- Add documentation listing allowed helper functions with O(n) operations
- Explain why these are acceptable (conditionally called)
- Add instructions for adding new exceptions to check_get_model_cost_key_performance.py

* Fix docstring detection and type checker error in performance check

- Add proper docstring tracking to skip docstring content (fixes false positive for 'map' in docstring)
- Add None check for docstring_quote to fix type checker error
- Restore _handle_new_key_with_scan to allowed_helpers list

* Remove check_get_model_cost_key_performance from CI pipeline

- Temporarily remove the performance check from CI to avoid blocking builds

* Restore performance check and remove memory leak tests from CI

- Add back check_get_model_cost_key_performance.py to CI pipeline
- Remove memory_leak_tests job that was causing port conflicts

* Remove extra blank line in CI config
2026-01-13 17:08:03 -08:00