Commit Graph
33817 Commits
Author SHA1 Message Date
Cesar GarciaandGitHub fc7bc9147f Merge pull request #21629 from Chesars/fix/pydantic-serialization-warnings
fix(types): remove StreamingChoices from ModelResponse, use ModelResponseStream
2026-02-27 17:48:33 -03:00
Cesar GarciaandGitHub 1552775166 Merge pull request #21595 from Chesars/fix/moonshot-preserve-image-url-content
fix(moonshot): preserve image_url blocks in multimodal messages
2026-02-27 17:47:02 -03:00
Cesar GarciaandGitHub bb8e6b1426 Merge pull request #21592 from Chesars/fix/openrouter-stream-usage-no-stream-options
fix(openrouter): use provider-reported usage in streaming without stream_options
2026-02-27 17:42:47 -03:00
Cesar GarciaandGitHub acf2fd9828 Merge branch 'main' into fix/openrouter-stream-usage-no-stream-options 2026-02-27 17:41:13 -03:00
Cesar GarciaandGitHub 955bf90321 Merge pull request #21585 from Chesars/fix/vertex-gemini-image-config-params
fix(vertex_ai): pass through native Gemini imageConfig params for image generation
2026-02-27 17:39:53 -03:00
Cesar GarciaandGitHub 1943e02cc7 Merge pull request #21582 from Chesars/fix/publicai-apertus-function-calling
fix(models): function calling for PublicAI Apertus models
2026-02-27 17:38:03 -03:00
Cesar GarciaandGitHub f64790c59a Merge pull request #21581 from Chesars/fix/azure-doc-intelligence-api-base-env
fix(azure_ai): resolve api_base from env var in Document Intelligence OCR
2026-02-27 17:36:01 -03:00
Cesar GarciaandGitHub c4b3f37a02 Merge pull request #21574 from Chesars/fix/gpt5-search-supported-params
fix(openai): correct supported params for gpt-5-search models
2026-02-27 17:32:11 -03:00
Cesar GarciaandGitHub 6a9ea863b9 Merge branch 'litellm_oss_staging_02_27_2026' into fix/gpt5-search-supported-params 2026-02-27 17:31:38 -03:00
Cesar GarciaandGitHub 493f2e9188 Merge pull request #21576 from Chesars/fix/gpt5-supported-params-audit
fix(openai): correct supported_openai_params for GPT-5 model family
2026-02-27 16:39:49 -03:00
Cesar GarciaandGitHub 761ae7e896 Merge pull request #21498 from Chesars/fix/chatgpt-streaming-tool-call-indices
fix(chatgpt): fix tool_calls streaming indexes
2026-02-27 16:39:21 -03:00
Cesar GarciaandGitHub 734655137e Merge pull request #22307 from Chesars/fix/22244-image-edit-custom-pricing
fix(images): pass model_info/metadata in image_edit for custom pricing
2026-02-27 16:38:34 -03:00
Cesar GarciaandGitHub ea5d551525 Merge pull request #22304 from Chesars/feat/add-gpt-realtime-1.5-model
feat(models): add gpt-realtime-1.5 to model cost map
2026-02-27 16:38:16 -03:00
Cesar GarciaandGitHub d8fa43a0cc Merge pull request #22303 from Chesars/feat/add-gpt-audio-1.5-model
feat(models): add gpt-audio-1.5 to model cost map
2026-02-27 16:37:31 -03:00
Cesar GarciaandGitHub 72980f4ded Merge pull request #22300 from Chesars/fix/image-generation-extra-headers-22285
fix(images): forward extra_headers on OpenAI code path in image_generation()
2026-02-27 16:36:42 -03:00
Chesars a08e5195e5 fix: put image_edit_request_params spread first to avoid overwriting model_info/metadata 2026-02-27 16:26:11 -03:00
Chesars 727adb0117 fix(images): pass model_info and metadata in image_edit for custom pricing
image_edit was not forwarding model_info/metadata to the logging object,
so custom_pricing was never detected. After PR #20679 stripped custom
pricing fields from the shared backend key, image_edit cost became 0.

Fixes #22244
2026-02-27 16:23:23 -03:00
ryan-crabbeandGitHub dc97e2f714 Merge pull request #22306 from BerriAI/tests/add_llmclientcache_regression_tests
Add LLMClientCache regression tests for httpx client eviction safety
2026-02-27 11:21:38 -08:00
yuneng-jiangandGitHub 98e944c0cf Merge pull request #22253 from BerriAI/litellm_access_group_sync
[Feature] Access group CRUD: Bidirectional team/key sync
2026-02-27 11:14:46 -08:00
Ryan Crabbe ad9c70ec5d Add LLMClientCache regression tests for httpx client eviction safety
Regression tests for PR #22247 — ensures cache eviction (capacity and TTL)
does not close httpx clients that are still in use.
2026-02-27 11:14:13 -08:00
Chesars 1ca4dd8542 fix: gpt-audio-1.5 only supports /v1/chat/completions endpoint 2026-02-27 16:11:15 -03:00
Chesars da73e54b1b fix: gpt-realtime-1.5 only supports /v1/realtime endpoint
Remove /v1/chat/completions and /v1/responses from supported_endpoints
and revert the audio model detection change since gpt-realtime-1.5 does
not go through Chat Completions.
2026-02-27 16:10:01 -03:00
Chesars c7ab631bb0 fix(audio): detect gpt-realtime models as audio-capable for Chat Completions
gpt-realtime-1.5 supports Chat Completions with audio params but
is_model_gpt_audio_model only checked for "audio" in the model name.
Add "realtime" check so the audio parameter is passed through correctly.
2026-02-27 16:06:10 -03:00
Chesars 1f887547f6 feat(models): add gpt-realtime-1.5 to model cost map
New OpenAI realtime model released 2026-02-23. Adds pricing and capability
metadata for gpt-realtime-1.5 (32K context, 4K output, audio/image/text I/O).
Unlike gpt-realtime, this model also supports Chat Completions and Responses
endpoints (not just WebSocket).

Closes #22266
2026-02-27 16:01:09 -03:00
Gaurav SinghandGitHub 29bb73ffca fix(mcp): strip stale mcp-session-id header to prevent 400 in multi-worker deployments (#20992) (#21417)
In a multi-worker Uvicorn setup, a client that reconnects to a different
worker sends an mcp-session-id that the new worker has never seen.  The
MCP SDK returns 400 because the session is unknown.

Fix: add _handle_stale_mcp_session() which inspects the inbound
mcp-session-id header before the request reaches the SDK.  If the
session is not in this worker's _server_instances:
  - Non-DELETE: strip the header so the SDK creates a fresh session
  - DELETE: return 200 immediately (idempotent, session already gone)

No new dependencies, no Redis, no latency added to the hot path.

Fixes https://github.com/BerriAI/litellm/issues/20992
2026-02-27 10:59:08 -08:00
Chesars 1144d05cba feat(models): add gpt-audio-1.5 to model cost map
New OpenAI audio model released 2026-02-23. Adds pricing and capability
metadata for gpt-audio-1.5 (128K context, 16K output, audio I/O).

Closes #22269
2026-02-27 15:57:56 -03:00
Noah NistlerandGitHub d13508c1c5 Enable local file support for OCR (#22133)
* [Docs] Enable local file support

Implemented internal handling for converting file-type documents to the required format for OCR processing, ensuring seamless integration with various providers.

* Refactor OCR file handling and improve security checks

Removed deprecated MIME type mapping and file conversion functions, replacing them with updated implementations. Enhanced security by rejecting 'file' document types in JSON requests, ensuring file uploads are handled via multipart/form-data. Updated tests to reflect these changes and ensure proper functionality.

* Enhance MIME type validation in OCR processing

Added a regular expression check to validate MIME types in the convert_file_document_to_url_document function, raising a ValueError for invalid types. Updated tests to ensure proper error handling for unsupported MIME types.

* Enhance type safety in OCR file handling

Added type casting for the uploaded file in the _parse_multipart_form function to ensure proper handling of UploadFile instances. This change improves type safety and reduces potential runtime errors during file processing.

* Refactor MIME type handling in document uploads

Updated the MIME type extraction logic to strip parameters from the Content-Type header, ensuring only the base type is used. Added tests to verify that MIME parameters are correctly handled and stripped in various scenarios.

* Update OCR documentation for MIME type recommendations and remove unnecessary tips

Clarified the recommended usage of MIME types for raw bytes in document uploads. Simplified the documentation by removing the tip about multipart file uploads from tools like Postman, ensuring a more concise and focused guide.

* Enhance multipart form handling in OCR endpoints

Updated the _parse_multipart_form function to ignore both 'file' and 'document' fields during form parsing, ensuring that the document built from the uploaded file is not overridden. Added a new test to verify that injected document fields do not affect the constructed document, improving security and robustness of the file upload process.
2026-02-27 10:50:02 -08:00
Chesars dc4f713c6d fix(images): forward extra_headers on OpenAI code path in image_generation()
Fixes #22285 — extra_headers passed to litellm.image_generation() were
silently dropped on the openai/litellm_proxy/openai_compatible_providers
code path. The azure and azure_ai paths already forwarded them correctly.
2026-02-27 15:17:58 -03:00
Sameer KankuteandGitHub adb9d94833 Merge pull request #22293 from BerriAI/litellm_27_02_lock2
Fix: poetry lock
2026-02-27 21:40:18 +05:30
Sameer Kankute 3bec6f5a9a Fix: poetry lock 2026-02-27 21:39:32 +05:30
Sameer KankuteandGitHub ec8aaa9d2f Merge pull request #22155 from BerriAI/litellm_fix_image
[Bug]Add ChatCompletionImageObject in OpenAIChatCompletionAssistantMessage
2026-02-27 21:18:55 +05:30
Sameer KankuteandGitHub 63c9b3a137 Merge pull request #22087 from BerriAI/litellm_fix_anthropic_responses
Add v1 for anthropic responses transformation
2026-02-27 21:18:04 +05:30
Sameer KankuteandGitHub 547e84418e Merge pull request #22258 from BerriAI/litellm_fix_free_models
Fix free models working from UI
2026-02-27 21:17:06 +05:30
Sameer KankuteandGitHub e583489abe Merge pull request #22260 from BerriAI/litellm_Fix_tool_pass
[Fix]Preserve forwarding server side called tools
2026-02-27 21:16:56 +05:30
Sameer KankuteandGitHub f297036401 Merge pull request #22267 from BerriAI/litellm_fixParallel_tool_cal
Fix converse handling for parallel_tool_calls
2026-02-27 21:16:44 +05:30
Harshit JainandGitHub e575b80f01 Merge pull request #21930 from Harshit28j/litellm_fix_index_query_call
perf(spendlogs): optimize old spendlog deletion cron job
2026-02-27 19:39:05 +05:30
Sameer KankuteandGitHub 39e0fa9ea9 Merge pull request #22223 from emerzon/feat/vertex-gemini-3-1-flash-image-preview-pricing
feat(vertex): add gemini-3.1-flash-image-preview to model DB
2026-02-27 18:10:04 +05:30
Harshit JainandGitHub d8b134d781 Merge pull request #22216 from BerriAI/litellm_project_tags_handle
feat: add tags in project
2026-02-27 15:48:32 +05:30
Harshit28j 72d7f64345 fix: relevant comment req changes 2026-02-27 13:52:50 +05:30
Harshit28j a9d0e2cf91 fix: req changes 2026-02-27 13:33:34 +05:30
Sameer Kankute 2fa9b81e2f Add docs for opt out variable 2026-02-27 13:28:48 +05:30
Sameer Kankute 99c62ca40e Add opt out varible for v1/messages to responses 2026-02-27 13:26:31 +05:30
Sameer KankuteandGitHub 33e6b9c67d Merge branch 'main' into litellm_fixParallel_tool_cal 2026-02-27 13:01:54 +05:30
Sameer Kankute d0445e1e33 Fix converse handling for parallel_tool_calls 2026-02-27 13:00:57 +05:30
Sameer KankuteandGitHub 3369cd9d5d Merge pull request #22265 from BerriAI/revert-21659-litellm_fix_converse_disable_tool
Revert "Fix mapping of parallel_tool_calls for bedrock converse"
2026-02-27 12:45:20 +05:30
Sameer KankuteandGitHub 8565c70e53 Revert "Fix mapping of parallel_tool_calls for bedrock converse" 2026-02-27 12:45:08 +05:30
Sameer Kankute 596437b3b9 Add Regression tests for image_url blocks in assistant message content. 2026-02-27 12:04:12 +05:30
Sameer Kankute 6b9ec4247f Preserve forwarding server side called tools 2026-02-27 11:31:45 +05:30
yuneng-jiangandClaude Sonnet 4.6 aaf0570f22 fix: normalize null to [] for all Optional[List[str]] fields in update_data
Extend the null normalization to access_model_names, access_mcp_server_ids,
and access_agent_ids in addition to assigned_team_ids and assigned_key_ids.
Writing null for non-optional list fields causes ValidationError on read.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-26 21:02:12 -08:00
yuneng-jiangandClaude Sonnet 4.6 cde23e9b6e fix: normalize null list fields to [] in update_data before DB write
When a client sends null for assigned_team_ids or assigned_key_ids, ensure
the DB receives [] instead of null, preventing null from being stored where
empty list is expected. Extend test to verify the DB call uses [].

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-26 20:53:30 -08:00