Commit graph

33141 commits

Author SHA1 Message Date
yuneng-jiang
e796b9eb22
Merge pull request #19963 from BerriAI/litellm_ui_spend_logs_em_search
[Feature] UI - Logs: Adding Error message search to ui spend logs
2026-01-28 18:15:35 -08:00
yuneng-jiang
58dd3bd134 fixing sorting for v2/model/info 2026-01-28 18:07:22 -08:00
yuneng-jiang
632e8cf2f6
Merge pull request #19970 from BerriAI/litellm_ui_column_sort_component
[Feature] UI - Tables: Reusable Table Sort Component
2026-01-28 18:02:34 -08:00
Ishaan Jaff
dcca8c7350
[Feat] - Search API add /list endpoint to list what search tools exist in router (#19969)
* feat: List all available search tools configured in the router.

* add debugging search API

* add debugging search API
2026-01-28 17:58:17 -08:00
Alexsander Hamir
69bd4426e8
[Release Day] - Fixed CI/CD issues & changed processes (#19902) 2026-01-28 17:57:24 -08:00
yuneng-jiang
e9056671f9 Fixing sorting API calls 2026-01-28 17:53:38 -08:00
yuneng-jiang
92f9d8f86e Reusable Table Sort Component 2026-01-28 17:42:57 -08:00
Neha Prasad
a785eecf7a
fix Prompt Studio history to load tools and system messages (#19920) 2026-01-28 17:19:59 -08:00
Ishaan Jaff
d12ce3cd5d
[Fix] VertexAI Pass through - fix regression that caused vertex ai passthroughs to stop working for router models (#19967)
* fix(vertex_ai): replace custom model names with actual Vertex AI model names in passthrough URLs (#19948)

When the passthrough URL already contains project and location, the code
was skipping the deployment lookup and forwarding the URL as-is to Vertex AI.
For custom model names like gcp/google/gemini-2.5-flash, Vertex AI returned
404 because it only knows the actual model name (gemini-2.5-flash).

The fix makes the deployment lookup always run, so the custom model name
gets replaced with the actual Vertex AI model name before forwarding.

* add _resolve_vertex_model_from_router

* fix: get_llm_provider

* Potential fix for code scanning alert no. 4020: Clear-text logging of sensitive information

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

---------

Co-authored-by: michelligabriele <gabriele.michelli@icloud.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-01-28 16:54:01 -08:00
Alexsander Hamir
3816570313
fix(presidio): reuse HTTP connections to prevent OOMs (#19964) 2026-01-28 16:08:53 -08:00
Ishaan Jaffer
c4daa39daa fix 2026-01-28 16:05:03 -08:00
yuneng-jiang
cccda30a9e
Merge pull request #19960 from BerriAI/litellm_ui_spend_logs_error_message
[Feature] Add error_message Search in Spend Logs Endpoint
2026-01-28 16:04:29 -08:00
yuneng-jiang
0cdfa8e5fa Adding Error message search to ui spend logs 2026-01-28 15:39:32 -08:00
yuneng-jiang
cb8ead6013 Add error_message search in spend logs endpoint 2026-01-28 15:06:31 -08:00
Ishaan Jaff
3ef475b70e
[Fix] A2a Gateway - Allow supporting old A2a card formats (#19949)
* fix: LiteLLMA2ACardResolver

* fix: LiteLLMA2ACardResolver

* feat: .well-known/agent.json

* test_card_resolver_fallback_from_new_to_old_path
2026-01-28 15:02:08 -08:00
yuneng-jiang
054918e7a3
Merge pull request #19918 from BerriAI/litellm_ui_spend_logs_store
[Feature] UI - Spend Logs: Settings Modal
2026-01-28 15:00:31 -08:00
Ishaan Jaffer
5135efb60e fix pypdf: >=6.6.2 2026-01-28 14:54:58 -08:00
yuneng-jiang
dbd1ff306d Fixing build 2026-01-28 13:42:58 -08:00
yuneng-jiang
077cfa8c15 Adding test 2026-01-28 13:36:19 -08:00
yuneng-jiang
8a54fff5cf Merge remote-tracking branch 'origin' into litellm_key_alias_spend_usage_report 2026-01-28 13:30:49 -08:00
yuneng-jiang
905e9cd6c9 breakdown by team and keys 2026-01-28 13:30:27 -08:00
Ishaan Jaffer
e444199d95 UI: New build 2026-01-28 12:05:36 -08:00
Alexsander Hamir
4c1b24eed9
Fix thread leak in OpenTelemetry dynamic header path (#19946) 2026-01-28 10:35:37 -08:00
michelligabriele
ea3853e977
fix(vertex_ai): support model names with slashes in passthrough URLs (#19944)
The regex in get_vertex_model_id_from_url() was using [^/:]+
which stopped at the first slash, truncating model names like
'gcp/google/gemini-2.5-flash' to just 'gcp'. This caused
access_groups checks to fail for custom model names.

Changed the pattern to [^:]+ to allow slashes in model names,
only stopping at the colon before the action (e.g., :generateContent).
2026-01-28 09:33:53 -08:00
boarder7395
8e4f06583a
Fix team cli auth flow (#19666)
* Cleanup code for user cli auth, and make sure not to prompt user for team multiple times while polling

* Adding tests

* Cleanup normalize teams some more
2026-01-28 08:52:52 -08:00
Sameer Kankute
3ab1b9f543 Fix gemini-robotics-er-1.5-preview name 2026-01-28 21:13:37 +05:30
Sameer Kankute
1cdda28b6c Fix gemini-robotics-er-1.5-preview name 2026-01-28 21:10:44 +05:30
Luis Gallego Ledesma
52372dcbe9 fix(langfuse_otel): prevent empty proxy request spans from being sent to Langfuse
When using langfuse_otel callback, empty traces were being sent to Langfuse
for requests that didn't result in actual LLM calls (e.g., auth operations,
health checks, failed requests). These traces contained only internal proxy
operations (auth, postgres, proxy_pre_call) with no useful LLM data.

Root cause: LangfuseOtelLogger extends OpenTelemetry, which sets itself as
the proxy's open_telemetry_logger. This caused create_litellm_proxy_request_started_span
to be called for every request, creating a parent span that was sent to Langfuse
even when no LLM call occurred.

Fix: Override create_litellm_proxy_request_started_span in LangfuseOtelLogger
to return None, preventing the creation of empty parent spans. This is consistent
with the existing overrides for async_service_success_hook and async_service_failure_hook
which already prevent service-level logs from being sent to Langfuse.

Fixes: Empty traces in Langfuse v3 when using langfuse_otel callback
2026-01-28 15:35:35 +01:00
Sameer Kankute
169c9dae79
Merge pull request #19914 from BerriAI/litellm_responses_api_bridge_usage
Fix: output_tokens_details.reasoning_tokens None
2026-01-28 18:35:30 +05:30
Sameer Kankute
9fe8b12f44
Merge pull request #19924 from BerriAI/litellm_minimax_reasoning_caching_1
Add Prompt caching and reasoning support for MiniMax, GLM, Xiaomi
2026-01-28 18:04:13 +05:30
Sameer Kankute
b6c769880e
Merge pull request #19842 from BerriAI/litellm_fix_timeout_test_fix
Fixes Timeouts during chat completion calls no longer reported as timeout in failure callback
2026-01-28 18:03:21 +05:30
Sameer Kankute
f5e5569e40
Merge pull request #19636 from BerriAI/litellm_langfuse_callback
Add litellm_callback_logging_failures_metric for Langfuse, Langfuse Otel and other Otel providers
2026-01-28 18:02:17 +05:30
Sameer Kankute
c5c1fbc5a2 Fix test_calculate_usage_completion_tokens_details_always_populated and logging object test 2026-01-28 18:00:42 +05:30
Sameer Kankute
0fadcbb21f
Merge pull request #19915 from BerriAI/litellm_x_ai_responses_web
Add xai websearch params support fo Responses API
2026-01-28 17:34:28 +05:30
Sameer Kankute
7386621d04
Merge pull request #19839 from BerriAI/litellm_oss_staging_01_27_2026
Litellm oss staging 01 27 2026
2026-01-28 17:33:27 +05:30
Sameer Kankute
f6ead49afe Add Prompt caching and reasoning support for MiniMax, GLM, Xiaomi 2026-01-28 17:25:26 +05:30
Sameer Kankute
4f7425df0c
Merge pull request #19661 from Chesars/fix/oci-image-url-format
fix(oci): serialize imageUrl as object for OCI GenAI API
2026-01-28 15:26:50 +05:30
Sameer Kankute
f58305b747
Merge pull request #19882 from milan-berri/fix/tiktoken-offline-import-order
initialize tiktoken environment at import time to support offline usage
2026-01-28 15:13:47 +05:30
Sameer Kankute
156751e8fc
Merge pull request #19919 from lizhen921/fix/anthropic-cache-control-null-issue
fix(anthropic): remove explicit cache_control null in tool_result content
2026-01-28 13:24:56 +05:30
yuneng-jiang
07c8618227 Fixing tests 2026-01-27 23:47:47 -08:00
lizhen
e4cb28aa07 fix(anthropic): remove explicit cache_control null in tool_result content
Fixes issue where tool_result content blocks include explicit
'cache_control': null which breaks some Anthropic API channels.

Changes:
- Only include cache_control field when explicitly set and not None
- Prevents serialization of null values in tool_result text content
- Maintains backward compatibility with existing cache_control usage

Related issue: Anthropic tool_result conversion adds explicit null values
that cause compatibility issues with certain API implementations.

Co-Authored-By: Claude (claude-4.5-sonnet) <noreply@anthropic.com>
2026-01-28 15:39:01 +08:00
yuneng-jiang
c4d3750601 adding tests 2026-01-27 23:38:23 -08:00
yuneng-jiang
58eca8fb28 Spend logs setting modal 2026-01-27 23:34:50 -08:00
Sameer Kankute
9b44984510
Merge pull request #19899 from xianzongxie-stripe/add_native_background_mode_override
Add native_background_mode to override polling_via_cache for specific models
2026-01-28 12:27:19 +05:30
Sameer Kankute
bd15ebba84 fix: Pydantic will fail to parse it because cached_tokens is required but not provided 2026-01-28 11:51:26 +05:30
yuneng-jiang
ab655ef296
Merge pull request #19913 from BerriAI/litellm_store_prompt_backend
[Feature] Allow Dynamic Setting of store_prompts_in_spend_logs
2026-01-27 22:07:57 -08:00
Sameer Kankute
6fb2a0d11f Fix: output_tokens_details.reasoning_tokens None 2026-01-28 11:35:18 +05:30
yuneng-jiang
28ca991296 Allow dynamic setting of store_prompts_in_spend_logs 2026-01-27 20:52:07 -08:00
Sameer Kankute
d76fb5932a Add xai websearch params support 2026-01-28 09:54:43 +05:30
Ishaan Jaff
3080e04180
[Feat] UI: Allow Admins to control what pages are visible on LeftNav (#19907)
* feat: enabled_ui_pages_internal_users

* init ui for internal user controsl

* fix ui settings

* fix build

* fix leftnav

* fix leftnav

* test fixes

* fix leftnav

* isPageAccessibleToInternalUsers

* docs fix

* docs ui viz
2026-01-27 19:31:24 -08:00