Commit Graph
31373 Commits
Author SHA1 Message Date
shin-bot-litellmandGitHub 5bd5df3ca6 fix(test): add router.acancel_batch coverage (#20183)
- Add test_router_acancel_batch.py with mock test for router.acancel_batch()
- Add _acancel_batch to ignored list (internal helper tested via public API)

Fixes CI failure in check_code_and_doc_quality job
2026-01-31 12:39:19 -08:00
Ishaan Jaffer 38f5ae8f05 test_budget_reset_and_expires_at_first_of_month 2026-01-31 12:36:53 -08:00
Ishaan Jaffer 852ea7d73d _prepare_vertex_auth_headers 2026-01-31 12:36:53 -08:00
yuneng-jiangandGitHub ac1459e150 Merge pull request #20182 from BerriAI/litellm_ui_health_checks
[Fix] Health Endpoints when Callback Objects Defined
2026-01-31 12:30:18 -08:00
yuneng-jiang b7c45991d8 Fix health endpoints 2026-01-31 12:25:04 -08:00
Ishaan Jaffer 66c7233f61 test_get_session_iterator_thread_safety 2026-01-31 12:05:09 -08:00
Ishaan Jaffer f1b16d240e test_delete_vector_store_checks_access 2026-01-31 12:05:09 -08:00
Ishaan Jaffer 280e8a9cd7 test_get_image_non_root_uses_var_lib_assets_dir 2026-01-31 12:05:09 -08:00
yuneng-jiangandGitHub a81af9a875 Merge pull request #20177 from BerriAI/litellm_global_fallback_fix
[Fix] Model Name During Fallback
2026-01-31 11:59:54 -08:00
yuneng-jiang c9261c9f37 fix model name during fallback 2026-01-31 11:46:58 -08:00
Ishaan Jaffer a002907389 fix tar security issue with TAR 2026-01-31 11:46:53 -08:00
bcc05a67b2 litellm_fix(azure): Fix acancel_batch not using Azure SDK client initialization (#20168)
- Fixed model parameter being overwritten to None in acancel_batch function
- Added dedicated acancel_batch/\_acancel_batch methods in Router
- Properly extracts custom_llm_provider from deployment like acreate_batch

This fixes test_ensure_initialize_azure_sdk_client_always_used[acancel_batch]
which expected azure_batches_instance.initialize_azure_sdk_client to be called.

Co-authored-by: shin-bot-litellm <shin-bot-litellm@users.noreply.github.com>
2026-01-31 11:45:25 -08:00
shin-bot-litellmandGitHub 14f31a0df9 litellm_fix(lint): remove unused ToolNameValidationResult imports (#20176)
Fixes ruff F401 errors in check_code_and_doc_quality CI job.

**Regression introduced in:** 41ec820 (fix files) - added files with unused imports

## Problem
ToolNameValidationResult is imported but never used in:
- litellm/proxy/_experimental/mcp_server/mcp_server_manager.py
- litellm/proxy/management_endpoints/mcp_management_endpoints.py

## Fix
```diff
-        ToolNameValidationResult,
```

Removed from both import statements.

## Changes
- mcp_server_manager.py: -1 line (removed unused import)
- mcp_management_endpoints.py: -1 line (removed unused import)
2026-01-31 11:33:36 -08:00
Ishaan Jaffer 41ec820562 fix files 2026-01-31 11:25:30 -08:00
Ishaan Jaffer 36dfa0f2ee fix MCP client 2026-01-31 11:25:21 -08:00
Ishaan Jaffer e6c1a656f4 add _is_bedrock_tool_block 2026-01-31 11:25:10 -08:00
Ishaan Jaffer 8b575f4656 test_bedrock_nova_grounding_web_search_options_non_streaming 2026-01-31 11:23:48 -08:00
Ishaan Jaffer 9fe0819e77 _add_web_search_tool 2026-01-31 11:21:40 -08:00
Ishaan Jaffer 54a383879c fix mcp linting 2026-01-31 11:21:03 -08:00
Ishaan Jaffer f508a998d4 fix linting 2026-01-31 11:19:59 -08:00
Ishaan Jaffer 08271a8b28 fix transform_retrieve_file_response 2026-01-31 11:16:22 -08:00
Ishaan Jaffer 05552b5194 fix typing 2026-01-31 11:10:53 -08:00
Ishaan Jaffer 3759ea2de8 test_increment_top_level_request_and_spend_metrics 2026-01-31 11:10:28 -08:00
Ishaan Jaffer d53ef30f75 fix EventDrivenCacheCoordinator 2026-01-31 11:10:17 -08:00
Ishaan Jaffer 4bf4e7954e fix gemini files 2026-01-31 11:06:22 -08:00
Ishaan Jaffer df7ea193f4 fix proxy extras pip 2026-01-31 10:52:35 -08:00
Cesar GarciaandGitHub 3fa7ab1012 docs(embeddings): add supported input formats section (#20073)
Document valid input formats for /v1/embeddings endpoint per OpenAI spec.
Clarifies that array of string arrays is not a valid format.
2026-01-31 10:45:56 -08:00
shin-bot-litellmandGitHub 244c80a7de litellm_fix(router): use safe_deep_copy in _get_silent_experiment_kwargs (#20170)
**Regression introduced in:** PR #19544 (feat: add feature to make silent calls)

Fixes check_code_and_doc_quality CI failure.

Line 1332 used copy.deepcopy(kwargs) which violates ban_copy_deepcopy_kwargs
check. kwargs can contain non-serializable objects like OTEL spans.

Changed to safe_deep_copy(kwargs) which handles these correctly.
2026-01-31 10:38:47 -08:00
shin-bot-litellmandGitHub df042f7545 litellm_fix(security): allowlist Next.js CVEs for 7 days (#20169)
Temporarily allowlist Next.js vulnerabilities in UI dashboard:
- GHSA-h25m-26qc-wcjf (HIGH: DoS via request deserialization)
- CVE-2025-59471 (MEDIUM: Image Optimizer DoS)

Fix: Upgrade to Next.js 15.5.10+ or 16.1.5+ (7-day timeline)

Changes:
- Added .trivyignore with Next.js CVEs
- Updated security_scans.sh to use --ignorefile flag
2026-01-31 10:25:57 -08:00
5434b66b9c litellm_fix(mypy): fix remaining type errors (#20164)
- route_llm_request.py: add acancel_batch and afile_delete to route_type Literal
- router.py: add SearchToolInfoTypedDict and search_tool_info to SearchToolTypedDict
- gemini/files/transformation.py: fix validate_environment signature to match base class
- responses transformation.py: fix Dict type annotations to use int instead of Optional[int]
- vector_stores/endpoints.py: add team_id and user_id to LiteLLM_ManagedVectorStoresTable constructor

Co-authored-by: shin-bot-litellm <shin-bot-litellm@users.noreply.github.com>
2026-01-31 10:25:23 -08:00
ea011633d7 litellm_fix: bump litellm-proxy-extras version to 0.4.28 (#20166)
Changes were made to litellm_proxy_extras (schema.prisma, utils.py, migrations)
but version was not bumped, causing CI publish job to fail.

This commit bumps the version from 0.4.27 to 0.4.28 in all required files:
- litellm-proxy-extras/pyproject.toml
- requirements.txt
- pyproject.toml

Co-authored-by: shin-bot-litellm <shin-bot-litellm@users.noreply.github.com>
2026-01-31 10:23:17 -08:00
shin-bot-litellmandGitHub fea40925cf test: remove hosted_vllm from OpenAI client tests (#20163)
hosted_vllm no longer uses the OpenAI client, so these tests
that mock the OpenAI client are not applicable to hosted_vllm.

Removes hosted_vllm from:
- test_openai_compatible_custom_api_base
- test_openai_compatible_custom_api_video
2026-01-31 10:10:45 -08:00
shin-bot-litellmandGitHub 2780e2f81e litellm_fix(test): update Prometheus metric test assertions with new labels (#20162)
This fixes the failing litellm_mapped_enterprise_tests (metrics/logging) job.

Recent commits added new labels to several Prometheus metrics (model_id, client_ip, user_agent)
but the test assertions weren't fully updated to expect these new labels.

Tests fixed:
- test_async_post_call_failure_hook
- test_async_log_failure_event
- test_increment_token_metrics
- test_log_failure_fallback_event
- test_set_latency_metrics
- test_set_llm_deployment_success_metrics

Labels added to test assertions:
- model_id for token metrics (litellm_tokens_metric, litellm_input_tokens_metric, litellm_output_tokens_metric)
- model_id for latency metrics (litellm_llm_api_latency_metric)
- model_id for remaining requests/tokens metrics
- model_id for fallback metrics
- model_id for overhead latency metric
- client_ip and user_agent for deployment failure/total/success responses
- client_ip and user_agent for proxy failed/total requests metrics
2026-01-31 10:09:35 -08:00
shin-bot-litellmandGitHub 6c497d2990 fix(mypy): fix type errors in files, opentelemetry, gemini transformation, and key management (#20161)
- files/main.py: rename uuid import to uuid_module to avoid conflict with router import
- integrations/opentelemetry.py: add fallback for callback_name to ensure str type
- llms/gemini/files/transformation.py: add type annotation for params dict
- proxy/management_endpoints/key_management_endpoints.py: add null check for prisma_client
2026-01-31 10:09:07 -08:00
shin-bot-litellmandGitHub 1b438144dd litellm_fix: handle empty dict for web_search_options in Nova grounding (#20159)
The condition `value and isinstance(value, dict)` fails for empty dicts
because `{}` is falsy in Python. Users commonly pass `web_search_options={}`
to enable Nova grounding without specifying additional options.

Changed the condition to `isinstance(value, dict)` which correctly handles
both empty and non-empty dicts.

Fixes failing tests:
- test_bedrock_nova_grounding_async
- test_bedrock_nova_grounding_request_transformation
- test_bedrock_nova_grounding_web_search_options_non_streaming
- test_bedrock_nova_grounding_with_function_tools
2026-01-31 10:05:30 -08:00
shin-bot-litellmandGitHub d5bc80bca9 fix(datadog): check for agent mode before requiring DD_API_KEY/DD_SITE (#20156)
The DataDog LLM Obs logger was checking for DD_API_KEY and DD_SITE
before checking if agent mode (LITELLM_DD_AGENT_HOST) was configured.
In agent mode, the DataDog agent handles authentication, so these
environment variables are not required.

This fix moves the agent mode check first, and only validates
DD_API_KEY and DD_SITE when using direct API mode.

Fixes test_datadog_llm_obs_agent_configuration and
test_datadog_llm_obs_agent_no_api_key_ok
2026-01-31 09:53:16 -08:00
shin-bot-litellmandGitHub 2f6d18e6bc fix(proxy): use get_async_httpx_client for logo download (#20155)
Replace direct AsyncHTTPHandler instantiation with get_async_httpx_client
to avoid +500ms latency per request from creating new async clients.

Added httpxSpecialProvider.UI for UI-related HTTP requests like logo downloads.
2026-01-31 09:51:16 -08:00
yuneng-jiangandGitHub f2cb31a45e Merge pull request #20154 from BerriAI/ui_build_yj_jan_31
[Infa] UI Build
2026-01-31 09:21:13 -08:00
yuneng-jiang 87b4da4ae5 chore: update Next.js build artifacts (2026-01-31 17:20 UTC, node v22.16.0) 2026-01-31 09:20:08 -08:00
yuneng-jiangandGitHub ae2cf7104d Merge pull request #20086 from BerriAI/litellm_watsonx_inte_fix
[Fix] Add WATSONX_ZENAPIKEY to WatsonX credentials
2026-01-31 09:13:42 -08:00
yuneng-jiangandGitHub c4a2745983 Merge pull request #20031 from BerriAI/litellm_new_badge_dot
[Fix] UI - Vector Store: Allow Config Defined Models to Be Selected
2026-01-31 09:13:29 -08:00
yuneng-jiangandGitHub b366335f2f Merge pull request #20098 from BerriAI/litellm_ui_dark_mode_2
[Feature] UI - Dark Mode: Delete Resource Modal
2026-01-31 09:03:11 -08:00
shin-bot-litellmandGitHub e35e6504fc litellm_fix(test): fix router silent experiment tests to properly mock async functions (#20140) 2026-01-31 07:39:05 -08:00
shin-bot-litellmandGitHub 10194d96cf litellm_fix: handle unknown models in Azure AI cost calculator (#20150) 2026-01-31 07:37:48 -08:00
shin-bot-litellmandGitHub 395ad9bdc1 litellm_fix(test): add acancel_batch to Azure SDK client initialization test (#20143) 2026-01-31 07:34:54 -08:00
shin-bot-litellmandGitHub 1c757dee14 litellm_docs: add missing environment variable documentation (#20138) 2026-01-31 07:33:24 -08:00
shin-bot-litellmandGitHub 7db4594200 litellm_fix(test): allow comment field in schema and exclude robotics models from tpm check (#20139) 2026-01-31 07:32:33 -08:00
shin-bot-litellmandGitHub 14a5706131 litellm_fix(test): fix Bedrock tool search header test regression (#20135) 2026-01-31 00:44:47 -08:00
shin-bot-litellmandGitHub 013b4701f4 litellm_fix(test): fix Azure AI cost calculator test - use Logging class (#20134) 2026-01-31 00:43:53 -08:00
shin-bot-litellmandGitHub ecd0202f70 litellm_fix(e2e): disable bedrock-converse-claude-sonnet-4.5 model in tests (#20131) 2026-01-31 00:32:42 -08:00