Commit graph

31779 commits

Author SHA1 Message Date
Emerson Gomes
13d887a275
Fix queue persistence to Redis (#19304)
* Fix queue persistence to Redis

* add test
2026-01-19 19:01:34 -08:00
Connor Luebbehusen
d48df6c17d
fix: correct us.anthropic.claude-opus-4-5 In-region pricing (#19310) 2026-01-19 19:00:24 -08:00
Sameer Kankute
d319517963
Merge pull request #19369 from Lucky-Lodhi2004/fix-tool-call-ollama
Fix #19357 - [Bug]: Tool call fails when using Ollama backend
2026-01-20 08:01:34 +05:30
Ishaan Jaff
818913ee23
[Fix] Fix Pass through routes to work with server root path (#19383)
* test_build_full_path_with_root_default

* fix pt feat
2026-01-19 18:28:55 -08:00
Yuta Saito
7d7b78a53d test: Pydantic version up
mcp 1.25.0 depends on pydantic<3.0.0 and >=2.11.0
2026-01-20 10:49:33 +09:00
Yuta Saito
b229410fb5 test: ci requirements mcp version up 2026-01-20 10:42:58 +09:00
Yuta Saito
738ffa7eec test: ci mcp version up except mcp_testing 2026-01-20 10:35:46 +09:00
Yuta Saito
97c09743c0 test: ci mcp version up 2026-01-20 10:30:32 +09:00
Alexsander Hamir
270b41b0f4
Simplify file comments (#19382) 2026-01-19 17:01:38 -08:00
Yuta Saito
ec7bf0ff1a Merge remote-tracking branch 'upstream/main' into litellm_feat_mcp_version_up 2026-01-20 09:52:38 +09:00
Yuta Saito
e5bc2d31d0 docs: mcp version up 2026-01-20 07:56:38 +09:00
Yuta Saito
51cf782292 chore: switch experimental client to streamable_http_client API 2026-01-20 07:37:50 +09:00
Yuta Saito
05d9fb6fd6 feat: SEP-986 2026-01-20 07:24:39 +09:00
Krrish Dholakia
13bcecb13e docs: fix doc title 2026-01-19 14:18:59 -08:00
Ishaan Jaff
a82467d679
[Feat] - Add self hosted Claude Code Plugin Marketplace (#19378)
* init schema

* init endpoints

* fix: claude_code_marketplace_router

* refactor

* fix: claude_code_marketplace_router

* claude_code_marketplace_router
2026-01-19 14:05:47 -08:00
0x1f99d
1cce718551
fix(bedrock): deduplicate tool calls in assistant history (#15178) (#19324)
* fix: Avoid attaching tool calls when a call_id already exists

* fix: Prevent MCP responses from reviving past tool calls via previous_response_id

* test: Parametrize MCP streaming test to cover OpenAI and Anthropic models

* test: Fail MCP streaming test when LiteLLM logs errors during follow-up calls

* test: Let MCP tool-execution mock accept new kwargs for streaming tests

* chore: fix lint error

* docs: Add Google Workload Identity Federation (WIF) documentation to Vertex AI (#19320)

- Added new section documenting WIF support for Vertex AI authentication
- Included SDK and Proxy configuration examples
- Added sample WIF credentials file format for AWS federation
- Mentioned LLM Credentials UI as an alternative for credential management
- Added link to Google Cloud WIF documentation

Co-authored-by: Cursor Agent <cursoragent@cursor.com>

* fix(bedrock): deduplicate tool calls in assistant history (#15178)

* fix(types): add missing Set import to factory.py

---------

Co-authored-by: Yuta Saito <uc4w6c@bma.biglobe.ne.jp>
Co-authored-by: Krish Dholakia <krrishdholakia@gmail.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: YutaSaito <36355491+uc4w6c@users.noreply.github.com>
2026-01-19 10:56:49 -08:00
Lucky-Lodhi2004
16b8ed6786
fixed litellm params (#19315) 2026-01-19 10:52:58 -08:00
Alexsander Hamir
3cdeebb5b8
fix(gcs_bucket): prevent unbounded queue growth due to slow API calls (#19297) 2026-01-19 10:47:56 -08:00
Cesar Garcia
d30c25af21
feat(gemini): use responseJsonSchema for Gemini 2.0+ models (#19314)
* feat(gemini): add opt-in support for responseJsonSchema

Add support for Gemini's native responseJsonSchema parameter which uses
standard JSON Schema format instead of OpenAPI-style responseSchema.

Benefits of responseJsonSchema (Gemini 2.0+ only):
- Standard JSON Schema format (lowercase types)
- Supports additionalProperties for stricter validation
- Better compatibility with Pydantic's model_json_schema()
- No propertyOrdering required

Usage:
```python
response_format={
    "type": "json_schema",
    "json_schema": {"schema": {...}},
    "use_json_schema": True  # opt-in
}
```

This is backwards compatible - existing code continues to use
responseSchema by default.

Closes #16340

* docs: add documentation for use_json_schema parameter

Document the new use_json_schema option for Gemini 2.0+ models
in the JSON Mode documentation.

* refactor(gemini): use responseJsonSchema by default for Gemini 2.0+

Remove opt-in flag `use_json_schema` and automatically detect model version:
- Gemini 2.0+: uses responseJsonSchema (standard JSON Schema, supports additionalProperties)
- Gemini 1.5: uses responseSchema (OpenAPI format, legacy)

This follows LiteLLM's philosophy of abstracting provider differences -
users write the same code regardless of model version.

* test(vertex): update json_schema tests to accept both responseSchema formats

Gemini 2.x+ uses responseJsonSchema while Gemini 1.x uses responseSchema.
Update tests to accept both formats since litellm now auto-selects based
on model version.
2026-01-19 10:45:37 -08:00
Cesar Garcia
57b1d99b44
feat(azure): add support for Azure OpenAI v1 API (#19313)
* feat(azure): add support for Azure OpenAI v1 API

When api_version is 'v1', 'latest', or 'preview', use the standard
OpenAI client instead of AzureOpenAI client with base_url pointing
to /openai/v1/ endpoint.

This follows Microsoft's documentation for the new v1 API format:
https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#api-specs

Changes:
- Add OpenAI/AsyncOpenAI imports to common_utils.py and azure.py
- Modify get_azure_openai_client() to detect v1 API versions and
  create appropriate client type
- Update isinstance checks and type hints to accept both client types
- Add unit tests for v1 API client creation

* fix(azure): fix MyPy type errors for v1 API support

- Add type: ignore for AsyncOpenAI constructor
- Update type hints in files/handler.py and batches/handler.py
- Add OpenAI/AsyncOpenAI to Union types for client parameters
- Update isinstance checks to include OpenAI/AsyncOpenAI

* fix(azure): update type hints in files and batches handlers for v1 API

Update async method signatures to accept Union[AsyncAzureOpenAI, AsyncOpenAI]
to fix mypy errors when using v1 API client.
2026-01-19 10:44:38 -08:00
Connor Luebbehusen
2ba7d2e821
fix: correct Groq gpt-oss pricing and add cache pricing (#19311) 2026-01-19 10:41:28 -08:00
R.Sicart
608979c7e9
feat: add support for keda in helm chart (#19337)
* feat: add support for keda in helm chart

Signed-off-by: R.Sicart <roger.sicart@gmail.com>

* chore: bump chart version

---------

Signed-off-by: R.Sicart <roger.sicart@gmail.com>
2026-01-19 10:38:41 -08:00
Cesar Garcia
4ad5de10cb
fix(realtime): disable SSL for ws:// WebSocket connections (#19345)
When using http:// api_base (converted to ws://), the websockets library
throws "ssl argument is incompatible with a ws:// URI". Only pass SSL
context for secure wss:// connections.

Co-authored-by: Krish Dholakia <krrishdholakia@gmail.com>
2026-01-19 10:37:41 -08:00
Harshit Jain
99c4ba7adf
docs: fix bad examples from sdk (#19322) 2026-01-19 10:27:25 -08:00
Harshit Jain
1678f621db
feat: add retry_delay, exponential_backoff, and jitter to completion() (#19371) 2026-01-19 10:27:01 -08:00
Ishaan Jaff
e817aa713e
[Fix] Claude Code x Bedrock Invoke fails with advanced-tool-use-2025-11-20 (#19373)
* _filter_unsupported_beta_headers_for_bedrock

* test_bedrock_sonnet_4_5_with_advanced_tool_use_beta_header
2026-01-19 10:16:18 -08:00
Lucky Lodhi
74d3b11290 undid changes 2026-01-19 17:38:29 +00:00
Lucky Lodhi
c4013a34b8 fix tool call for ollama - #19357 2026-01-19 17:20:18 +00:00
Alexsander Hamir
0cd7763d5f
Add health check scripts and parallel execution support (#19295)
- Add health_check_client.py for monitoring model availability
- Add health_check_client_README.md with usage documentation
- Add health_check_requirements.txt for dependencies
- Add run_parallel_health_checks.ps1 (PowerShell version)
- Add run_parallel_health_checks.sh (Bash version)
- Organize all scripts under scripts/health_check/ directory
2026-01-19 08:38:38 -08:00
Krish Dholakia
0862373b38
docs: add note about no limits on users/keys/teams in LiteLLM OSS (#19367)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-01-19 08:22:18 -08:00
Sameer Kankute
bb67f9267a
Merge pull request #19354 from BerriAI/litellm_fix_streaming_test
Fix : test_responses_streaming_failure_triggers_failure_handlers
2026-01-19 21:22:53 +05:30
Benedikt Óskarsson
406cdbe321
Merge branch 'litellm_staging_01_19_2026' into fix/bedrock-thinking-tool-call-2 2026-01-19 15:18:47 +00:00
Benedikt Óskarsson
0367e9c9f1
fix: pr ammends. 2026-01-19 14:50:57 +00:00
Lucky Lodhi
15e8eea0b5 Merge remote-tracking branch 'upstream/main' into fix-litellm-params 2026-01-19 14:21:44 +00:00
superpoussin22
1be7e87783
Fix HTML entity in survey description text (#19307) 2026-01-19 06:20:08 -08:00
Cesar Garcia
4d6a430adc
docs: update UI contributing guide (#19353)
* docs: update UI contributing guide with correct commands

- Replace outdated proxy_cli.py command with poetry run litellm
- Add config.yaml example with required settings
- Clarify that UI comes pre-built in the repo
- Add two development options: Build Mode and Dev Mode (hot reload)
- Note about redirect issues in Dev Mode

* docs: add hot reload login flow and PR submission section

- Document the 3000 -> 4000 -> 3000 login flow for hot reload
- Reorder: Hot Reload as Option A, Build Mode as Option B
- Add section 4 on submitting PRs
- Add note that UI changes don't require tests

* Update login flow navigation URL in contributing.md
2026-01-19 06:18:45 -08:00
Harshit Jain
fc9988b686
fix/bedrock-inconsistent-postcall-hook (#19151)
* fix/bedrock-inconsistent-postcall-hook

* Add condition check to avoid multiple validation
2026-01-19 06:18:02 -08:00
Sameer Kankute
9e405ce6cc
Merge pull request #19323 from BerriAI/litellm_fix_stability_issues12
[Fix] Bedrock stability model usage issues
2026-01-19 19:43:32 +05:30
Sameer Kankute
ff7bb59824
Merge branch 'main' into litellm_fix_streaming_test 2026-01-19 19:43:16 +05:30
Sameer Kankute
c9de4776bc Fix test_process_chunk_exception_calls_handle_failure_once 2026-01-19 19:39:12 +05:30
Sameer Kankute
d6baa9a4ba
Merge pull request #19234 from BerriAI/litellm_staging_01_16_2026
Litellm staging 01 16 2026
2026-01-19 19:34:53 +05:30
Harshit Jain
1dc2d2ddac
fix(utils.py): correctly extract messages from google genai contents (#19156)
* fix(utils.py): correctly extract messages from google genai contents

* refactor use shared utilities
2026-01-19 06:00:23 -08:00
Harshit Jain
98e87c3e67
feat: Add Redis-based migration lock with bug fixes (#19261) 2026-01-19 05:57:24 -08:00
Harshit Jain
fe92f4af9c
fix(langfuse_otel): ignore service logs and fix callback shadowing (#19298)
* fix(langfuse_otel): ignore service logs and fix callback shadowing

* add test cases for service logger
2026-01-19 05:53:47 -08:00
Harshit Jain
07fbd77c91
fix(logging): prevent duplicate StandardLoggingPayload logs (#19325) 2026-01-19 05:53:23 -08:00
Sameer Kankute
ac24696556 Remove runtime error 2026-01-19 19:19:16 +05:30
Cesar Garcia
b49f0a91e4
fix(responses): resolve deepcopy error with tool_choice ValidatorIterator (#17192) (#17205)
Replace copy.deepcopy with model_dump + model_validate in streaming
iterator logging to handle Pydantic ValidatorIterator objects that
cannot be pickled when tool_choice uses allowed_tools mode.

Co-authored-by: Krish Dholakia <krrishdholakia@gmail.com>
2026-01-19 05:44:20 -08:00
Sameer Kankute
daf70f7221
Merge pull request #19329 from BerriAI/litellm_vector_store_sync
Fix: vector store sync issues
2026-01-19 19:11:48 +05:30
Sameer Kankute
e126e98a7f Fix azure image mypy issues 2026-01-19 19:10:43 +05:30
Manuel Schweigert
29adf34313
Add ChatGPT subscription support and responses bridge (#19030)
* Add ChatGPT subscription support and responses bridge

* Fix typing import for responses bridge

* Guard device code timestamp parsing

* add /v1/messages endpoint to chatgpt model
2026-01-19 05:37:45 -08:00