Commit graph

28696 commits

Author SHA1 Message Date
Ishaan Jaff
700a1bb574
[Feat] UI - show UI version on top left near logo (#17891)
* left nav

* fix order

* fix

* add ui version on ui

* fix link
2025-12-12 11:39:02 -08:00
Alexsander Hamir
b635f92d90
Add benchmark_proxy_vs_provider.py script to scripts directory with usage examples (#17889) 2025-12-12 11:26:34 -08:00
Alexsander Hamir
f4db4b6f0e
feat(otel): add latency metrics (TTFT, TPOT, Total Generation Time) to OTEL logging (#17888)
- Add time_to_first_token_histogram using api_call_start_time for accurate measurement
- Add time_per_output_token_histogram for average time per output token
- Add response_duration_histogram for total LLM API generation time
- Extract latency metric recording into dedicated helper methods
- Fix parent span double-ending bug when reused as primary span
- Use api_call_start_time for TTFT to exclude LiteLLM overhead (matches Prometheus)
- Support both streaming and non-streaming requests
- Handle both datetime and float timestamp formats
2025-12-12 11:19:17 -08:00
Ishaan Jaff
d38f241032
[Feat] JWT Auth - auth allow selecting team_id from request header (#17884)
* feat: add get_team_id_from_header for JWT Auth

* fix Auth builder JWT Auth

* test_get_team_id_from_header

* test_auth_builder_uses_team_from_header_e2e

* Select Team via Request Header
2025-12-12 10:18:20 -08:00
yuneng-jiang
25a38b0f27
Merge pull request #17883 from BerriAI/litellm_ui_new_badge
[Feature] New Badge for Agent Usage
2025-12-12 10:02:31 -08:00
yuneng-jiang
1829e58d25 New Badge for Agent Usage 2025-12-12 09:47:08 -08:00
Sameer Kankute
d5fcb6fce6
Merge pull request #17882 from BerriAI/litellm_target_storage_documentation
Add documentation for target storage
2025-12-12 22:46:04 +05:30
Sameer Kankute
6f0efff28b Add documentation for target storage 2025-12-12 22:44:53 +05:30
Sameer Kankute
da81ab6d97
Merge pull request #17758 from BerriAI/litellm_managed_files_target_storage
Add v0 support for target storage
2025-12-12 22:26:34 +05:30
Sameer Kankute
afda51d476
Merge pull request #17873 from BerriAI/litellm_rerank_foraward_headers
Add support for forwarding client headers in /rerank endpoint
2025-12-12 22:25:57 +05:30
Sameer Kankute
d98ee8a448
Merge pull request #17872 from BerriAI/litellm_embedding_header_forwarding
fix: bedrock header forwarding with cutom api
2025-12-12 22:25:45 +05:30
Sameer Kankute
abbf8be07b
Merge pull request #17864 from BerriAI/litellm_fix_x-litellm-key-spend
Fix x-litellm-key-spend header update
2025-12-12 22:23:42 +05:30
Sameer Kankute
e0428388a7
Merge pull request #17860 from BerriAI/litellm_openai_files_expire_after_support
Add support for expires after param in Files endpoint
2025-12-12 22:23:11 +05:30
Alexsander Hamir
d196e0b9c8
refactor(router): replace time.perf_counter() with time.time() for timing measurements (#17881) 2025-12-12 08:51:18 -08:00
AlexsanderHamir
1ad6763500 fix: add PROMETHEUS_MULTIPROC_DIR to docs 2025-12-12 08:33:38 -08:00
Alexsander Hamir
d9cf53b555
fix: remove dependency on database and redis from health test (#17880) 2025-12-12 08:21:48 -08:00
Alexsander Hamir
9c39539d78
revert CI changes (#17879) 2025-12-12 08:13:18 -08:00
Alexsander Hamir
5f2f823d44
fix: use docker executor (#17878) 2025-12-12 07:56:03 -08:00
Alexsander Hamir
c9063d13b1
Add health endpoint tests to CI with database and Redis support (#17877)
- Add database and Redis setup to litellm_mapped_tests_proxy job in CircleCI
- Create shared test helpers in tests/test_litellm/proxy/conftest.py for proxy test setup
- Refactor health endpoint tests to use shared helpers from conftest
- Support automatic Redis cache configuration when REDIS_HOST is set
- Ensure minimal config is created when Redis/database is needed
2025-12-12 07:35:50 -08:00
Alexsander Hamir
762b429d6c
enhance: create_litellm_branch tool to be more robust (#17874) 2025-12-12 05:35:50 -08:00
Krish Dholakia
eab5bca583
Add Milvus REST client and update examples (#17736)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-12-12 04:38:28 -08:00
Devaj Mody
f25344484f
fix(router): add minimum request threshold for error rate cooldown (#17464)
Fixes #17418

  - Add DEFAULT_FAILURE_THRESHOLD_MINIMUM_REQUESTS constant (default: 5)
  - Require minimum requests before applying error rate cooldown
  - Prevents cooldown from triggering on first failure
2025-12-12 04:36:10 -08:00
razvan_butnaru
f6251efab9
Update proxy_server.py (#17468)
Co-authored-by: razvan9991 <57962056+razvan9991@users.noreply.github.com>
2025-12-12 04:34:43 -08:00
Sameer Kankute
d28160b2b2 Add tests for header forwarding 2025-12-12 17:54:17 +05:30
Ariel
5df701d15c
[feat]: Add opt-in evidence results for Pillar Security guardrail during monitoring (#17812)
* add evidence headers to litellm

* ensure that evidence is surface-able, even in opt-in mode

* update the docs
2025-12-12 04:09:13 -08:00
Sameer Kankute
cf286e6885 Add support for forwarding client headers 2025-12-12 17:35:22 +05:30
Peter Chanthamynavong
f8e7e153d5
fix(cache): handle string content in is_cached_message (#17853)
Fixes #17821

The `is_cached_message` function crashed with TypeError when message
content was a string instead of a list of content blocks.

Changes:
- Add explicit `isinstance(content, list)` check before iteration
- Add `isinstance(content_item, dict)` check inside loop to skip non-dict items
- Use `.get()` for safer nested dict access
- Follow same pattern as `extract_ttl_from_cached_messages` (same module)

Tests:
- Add TestIsCachedMessage class with 9 test cases covering:
  - String content (the reported bug)
  - None content
  - Missing content key
  - Empty list content
  - List with/without cache_control
  - Mixed content types (strings + dicts)
  - Wrong cache_control type
2025-12-12 03:59:52 -08:00
Vinnie Giarrusso
78012ad9a9
fix(prometheus): add 'exception_status' to prometheus logger (#17847)
* fix(prometheus): add 'exception_status' to prometheus logger

* use existing prometheuslogger

* remove unneeded test
2025-12-12 03:57:46 -08:00
nlineback
e223cadb9f
fix: add speechConfig to GenerationConfig for Gemini TTS (#17851)
Moved speechConfig from RequestBody to GenerationConfig TypedDict so that
TTS configuration survives the filtering in _transform_request_body().

This fixes the 400 INVALID_ARGUMENT error when using Gemini TTS models
(gemini-2.5-flash-tts, gemini-2.5-flash-preview-tts, etc.) with both
vertex_ai and gemini providers.

Fixes: speechConfig was being created correctly in map_openai_params()
but then filtered out because GenerationConfig.__annotations__.keys()
didn't include it.

Tested with both preview and non-preview TTS model names and both
vertex_ai and gemini providers.
2025-12-12 03:56:44 -08:00
Cesar Garcia
eb94c95e72
fix: add semver prerelease suffix to helm chart versions for non-stable releases (#17678)
Helm chart versions now include a prerelease suffix based on release_type:
- stable: 0.1.830 (no suffix)
- rc: 0.1.830-rc
- latest: 0.1.830-latest

This allows users to easily identify stable vs non-stable chart versions.
Helm also hides prerelease versions by default, preventing accidental
upgrades to non-stable versions.

Also fixes version extraction to strip existing suffixes before bumping.
2025-12-12 03:51:37 -08:00
Marty Sullivan
63df9392d4
add azure gpt-5.2 models (#17866) 2025-12-12 03:47:08 -08:00
Sameer Kankute
19b48d7bad fix: bedrock header forwarding with cutom api 2025-12-12 16:12:06 +05:30
Sameer Kankute
caaf8a6784 Fix x-litellm-key-spend update 2025-12-12 11:44:51 +05:30
yuneng-jiang
cf5dab7f52
Merge pull request #17859 from BerriAI/litellm_ui_links_rearrange
[Feature] Model Hub Useful Links Rearrange
2025-12-11 22:12:55 -08:00
yuneng-jiang
d1e53365a8 Change useful_links to include index for UI 2025-12-11 21:25:40 -08:00
Sameer Kankute
283b4c208e Fix code quality issue 2025-12-12 10:04:51 +05:30
Sameer Kankute
49e0f8e95f Add support for expires after param 2025-12-12 10:01:18 +05:30
yuneng-jiang
7ea407b239 Rearrange Links UI 2025-12-11 20:23:02 -08:00
Sameer Kankute
bdb8c169be
Merge pull request #17818 from BerriAI/litellm_openai_package_bump
bump openai package to 2.9.0
2025-12-12 08:38:22 +05:30
ryan-crabbe
4a8629ce8b
updated docs links for mistral and anthropic (#17852) 2025-12-11 17:57:56 -08:00
yuneng-jiang
4f79a026ad
Merge pull request #17854 from BerriAI/litellm_ui_usage_select
[Feature] UI - Usage Page View Select
2025-12-11 17:57:23 -08:00
yuneng-jiang
3f1473d9a2 fixing build 2025-12-11 17:49:06 -08:00
yuneng-jiang
ac52d2aeef tests 2025-12-11 17:47:11 -08:00
yuneng-jiang
dfdd74f9ac Usage View Select 2025-12-11 17:37:09 -08:00
yuneng-jiang
a48f048219
Merge pull request #17848 from BerriAI/litellm_ui_usage_refactor
[Refactor] UI - Usage Page Components
2025-12-11 16:43:11 -08:00
yuneng-jiang
0635b1cbf0 rename 2025-12-11 16:33:23 -08:00
yuneng-jiang
52cb54968a Change to useAuthorized hook 2025-12-11 16:28:03 -08:00
yuneng-jiang
c1c8a6937e Renaming + fixing tests 2025-12-11 16:11:09 -08:00
Krish Dholakia
7e58931ec1
Prompt Management - new API for integrating providers (#17829)
* Prompt Management API - new API to interact with Prompt Management integrations (no PR required) (#17800)

* feat: initial commit adding prompt management api

* feat: initial commit adding prompt management api

* fix: refactoring to make sure get prompt is async

* fix: additional fixes

* fix: partially working generic api prompt management
2025-12-11 15:43:40 -08:00
yuneng-jiang
424934296f adding all files 2025-12-11 15:40:26 -08:00