Commit graph

30214 commits

Author SHA1 Message Date
Sameer Kankute
e5c3fcbb52 fix mypy tests 2026-01-08 10:48:14 +05:30
yuneng-jiang
4c645c1ce3 Endpoint usage POC 2026-01-07 21:01:41 -08:00
Sameer Kankute
c4bab70306 Fix: Add moonshot in get_bedrock_model_id 2026-01-08 10:21:38 +05:30
Sameer Kankute
2a4dc8e041 Fix: aws creds getting passed in req 2026-01-08 10:18:15 +05:30
Sameer Kankute
af6883712e Add tests for kimi 2 bedrock model 2026-01-08 10:07:33 +05:30
Sameer Kankute
ddd52e0e2f Add support for kimi2 model on bedrock 2026-01-08 09:51:34 +05:30
Yuta Saito
3af9bab6a5 feat: add focus schema 2026-01-08 12:17:14 +09:00
Yuta Saito
565a622cf9 feat: scaffold Focus export logging skeleton 2026-01-08 12:09:58 +09:00
yuneng-jiang
51759424a6 Key and Team Routing Setting 2026-01-07 17:17:30 -08:00
Alexsander Hamir
2f803171d6
refactor(prometheus): skip metrics for invalid API key requests (#18788) 2026-01-07 17:14:14 -08:00
yuneng-jiang
e285e2b91d
Merge pull request #18675 from BerriAI/litellm_key_team_routing_config
[Feature] Allow Add and Update for router_settings on Keys and Teams
2026-01-07 16:24:04 -08:00
yuneng-jiang
33ac5dae2b linting 2026-01-07 15:24:49 -08:00
Alexsander Hamir
98d7a428b6
Fix: Clarify database_connection_pool_limit applies per worker, not per instance (#18780) 2026-01-07 13:57:03 -08:00
Jack Temple
ec16dbe09b fix: add allowClear to dropdown components for better UX 2026-01-07 14:16:29 -07:00
yuneng-jiang
797ab1d7f3 Adding docs for team 2026-01-07 12:43:27 -08:00
yuneng-jiang
611b85bfd8 Fixing mypy linting 2026-01-07 12:36:34 -08:00
yuneng-jiang
1c84af8ae4 normalize proxy config callbacks 2026-01-07 12:22:57 -08:00
Alexsander Hamir
1544e8f971
feat: Add line_profiler support for performance analysis and fix Windows CRLF issues in Docker builds (#18773) 2026-01-07 11:36:57 -08:00
Elkhan Eminov
bae625bdc6
OpenRouter embeddings API support (#18391)
* support for OpenRouter embeddings

* add bearer

* add content header
2026-01-08 00:57:31 +05:30
Wen-Tien Chang
5a4242e188
fix(braintrust): pass span_attributes in async logging and skip tags on non-root spans (#18409)
* fix(braintrust): handle tags and span attributes for non-root spans

* fix(braintrust): refactor span attributes handling and remove duplicate metrics assignment
2026-01-08 00:55:59 +05:30
LouisShark
ea8a94988f
fix(bedrock): ensure toolUse.input is always a dict when converting from OpenAI format (#18414)
When some providers (like OpenRouter) return tool call arguments as '""'
(a JSON-encoded empty string), json.loads returns an empty string instead
of a dict. Since Bedrock requires toolUse.input to be a JSON object, this
causes a BedrockException.

This fix adds a type check after json.loads() to ensure the result is
always a dictionary.

Co-authored-by: Krish Dholakia <krrishdholakia@gmail.com>
2026-01-08 00:54:46 +05:30
yuneng-jiang
a57f7bc9bf Fixing documentation 2026-01-07 11:24:15 -08:00
Danial Khan
f126f75995
feat: pass server_tool_use and tool_search_tool_result blocks to anthropic (#18770)
* feat: Allow message types of server_tool_use and tool_search_tool_result to reach anthropic

* test: anthropic server tool use pass through testing
2026-01-08 00:47:28 +05:30
yuneng-jiang
eb9f5267b6 Adding builds 2026-01-07 11:11:46 -08:00
yuneng-jiang
b2ebb5e1f1 adding migration 2026-01-07 11:10:59 -08:00
yuneng-jiang
b6f5ba6205 bump: version 0.4.19 → 0.4.20 2026-01-07 11:10:26 -08:00
yuneng-jiang
140ce5fce2 Merge remote-tracking branch 'origin' into litellm_key_team_routing_config 2026-01-07 11:08:01 -08:00
yuneng-jiang
19f323d7c9
Merge pull request #18729 from BerriAI/litellm_endpoint_usage_breakdown
[Feature] Add endpoint to Daily Activity Tables
2026-01-07 11:07:46 -08:00
Krish Dholakia
c89a4115eb
Update production proxy resource recommendations (#18771)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-01-08 00:37:12 +05:30
yuneng-jiang
943445dd0f Adding test 2026-01-07 11:00:07 -08:00
yuneng-jiang
9a49bb293f Merge remote-tracking branch 'origin' into litellm_key_team_routing_config 2026-01-07 10:55:38 -08:00
yuneng-jiang
bc812672a1 Addressing comments, pending tests 2026-01-07 10:55:25 -08:00
yuneng-jiang
6523c8f233 Adding builds 2026-01-07 10:27:50 -08:00
yuneng-jiang
ec6510c61b bump: version 0.4.18 → 0.4.19 2026-01-07 10:27:07 -08:00
yuneng-jiang
7da8d5fcd5 Merge remote-tracking branch 'origin' into litellm_endpoint_usage_breakdown 2026-01-07 10:25:43 -08:00
Ishaan Jaff
929af510fa
[Feat] New provider - Add Azure BFL FLux for image edits (#18766)
* add azure_ai/flux.2-pro

* get_flux2_image_generation_url

* azure_client_params

* docs

* add Image Editing

* add azure ai image edits

* AzureFoundryFlux2ImageEditConfig

* TestAzureAIFlux2ImageEdit
2026-01-07 23:28:39 +05:30
Ishaan Jaff
3430325919
[Feat] Add Azure BFL - Flux 2 models (#18764)
* add azure_ai/flux.2-pro

* get_flux2_image_generation_url

* azure_client_params

* docs
2026-01-07 23:28:28 +05:30
vasilisazayka
b4a39a9ea2
fix(sap): correct filtering of optional_params (#18716) 2026-01-07 21:48:29 +05:30
Abliteration AI
dc4ce7c5a2
feat: Add abliteration.ai provider (#18678)
* feat: Add abliteration.ai provider

* adding signoz integration to observability docs

* Fixing build

* Adding timeout for flaky test

* Fixing e2e

* add team member budget duration in team/update

* Reusable Duration Select and update team member budget UI

---------

Co-authored-by: Goutham Karthi <goutham@signoz.io>
Co-authored-by: yuneng-jiang <yuneng.jiang@gmail.com>
Co-authored-by: YutaSaito <36355491+uc4w6c@users.noreply.github.com>
2026-01-07 21:46:54 +05:30
Wilson Marcílio Júnior
8ce4eea88f
make base_connection_pool_limit default value the same (#18721) 2026-01-07 21:43:55 +05:30
tianduo-fh
f7212d84d5
fix: prevent duplicate User-Agent tags in request_tags (#18723)
The `_get_request_tags` function was returning a reference to the
original tags list from metadata, then mutating it with `.extend()`.
This caused duplicate User-Agent tags when the function was called
multiple times during a single request lifecycle (e.g., by logging,
prometheus, and guardrails).

The fix uses `.copy()` to create a new list before extending, ensuring
the original metadata tags are not mutated.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Tianduo Zhai <tzhai@firsthandadmins-MacBook-Pro.local>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 21:42:27 +05:30
kothamah
1b8708fccc
Litellm embeddings calltype fix for guardrail precallhook (#18740)
* adding signoz integration to observability docs

* Fixing build

* Adding timeout for flaky test

* Fixing e2e

* add team member budget duration in team/update

* Reusable Duration Select and update team member budget UI

* feat: allow configuring project name for OpenTelemetry service name

* docs: sets ARIZE_PROJECT_NAME

* added valid callType for bedrock guardrail pre hook

This is to resolve the error when bedrock guardrails are enabled and invoke the embedding models.   {"error":{"message":"'embeddings' is not a valid CallTypes","type":"None","param":"None","code":"500"}}*

* updated the test case to reflect valid callType

---------

Co-authored-by: Goutham Karthi <goutham@signoz.io>
Co-authored-by: yuneng-jiang <yuneng.jiang@gmail.com>
Co-authored-by: YutaSaito <36355491+uc4w6c@users.noreply.github.com>
Co-authored-by: Yuta Saito <uc4w6c@bma.biglobe.ne.jp>
2026-01-07 21:40:36 +05:30
Ishaan Jaffer
bbabc1089c litellm_mapped_tests_litellm_core_utils 2026-01-07 21:35:12 +05:30
Harshit Jain
92f7789f10
feat(prometheus): add caching metrics (#18755) 2026-01-07 21:29:04 +05:30
Kris Xia
91b5c66cf2
fix(proxy): return json error response instead of sse format for initial streaming errors (#18757)
* adding signoz integration to observability docs

* Fixing build

* Adding timeout for flaky test

* Fixing e2e

* fix(proxy): return json error response instead of sse format for initial streaming errors

when the first chunk of a streaming response contains an error,
return a standard json error response instead of sse format.
this ensures clients receive properly formatted error responses
before the stream actually begins.

- rename create_streaming_response to create_response
- add logic to detect error in first chunk and return JSONResponse
- add _extract_error_from_sse_chunk helper function
- update all call sites to use the new function name
- update tests to reflect the function rename

* test(proxy): add comprehensive tests for error extraction from sse chunks

- Add new test class TestExtractErrorFromSSEChunk with 10 test cases
- Update existing tests to verify JSONResponse returned for initial streaming errors
- Add tests for error code as string, bytes input, invalid JSON, and edge cases
- Verify correct error format extraction from SSE chunks

---------

Co-authored-by: Goutham Karthi <goutham@signoz.io>
Co-authored-by: yuneng-jiang <yuneng.jiang@gmail.com>
Co-authored-by: YutaSaito <36355491+uc4w6c@users.noreply.github.com>
2026-01-07 21:26:47 +05:30
Ishaan Jaffer
6c2408f957 litellm_mapped_tests_integrations 2026-01-07 21:22:10 +05:30
Ishaan Jaffer
6122ff9fce TestEncryptResponseId 2026-01-07 21:03:22 +05:30
Cesar Garcia
e34e8b4650
Fix component label automation to prevent false positives (#18765)
* Fix component label automation to prevent false positives

The GitHub Actions workflow was applying component labels (SDK, Proxy, UI Dashboard, Docs) too broadly by only checking if the component name appeared anywhere in the issue body. This caused issues to be mislabeled when users mentioned these terms in their descriptions.

Changes:
- Add more specific condition that checks for both the dropdown field header "What part of LiteLLM is this about?" AND the component name
- Applied to all 4 component labels: SDK, Proxy, UI Dashboard, and Docs
- Labels will now only be applied when users actually select the option from the dropdown

Fixes issues being incorrectly labeled with 'docs' and other component labels.

* Use more specific pattern to match dropdown selection exactly

Updated the label conditions to use a more precise pattern that matches
the dropdown header immediately followed by the selected value. This
prevents false positives when users mention component names in their
descriptions but select a different component.

Before: Checked for header AND component name anywhere in body
After: Checks for exact pattern "header\n\ncomponent"

This ensures labels are only applied when the component is actually
selected from the dropdown, not just mentioned in the issue text.

* Fix component label automation and require explicit user selection

This PR fixes two issues with component labeling:

1. **Improved label accuracy**: Updated the workflow to use exact pattern
   matching ("### What part of LiteLLM is this about?\n\nDocs") instead of
   broad substring matching. This prevents false positives where issues were
   mislabeled when users mentioned component names in their descriptions.

2. **Require explicit component selection**: Added empty string ('') as the
   first dropdown option to prevent GitHub from auto-selecting "SDK" as the
   default. Users must now consciously select which component their issue
   relates to.

Changes:
- Updated all component label conditions in label-component.yml workflow
- Added empty string as first option in bug_report.yml dropdown
- Added empty string as first option in feature_request.yml dropdown
- Labels only apply when users actually select a component from the dropdown

This ensures accurate labeling and prevents the default SDK label from
being applied to all new issues.
2026-01-07 20:01:14 +05:30
Ishaan Jaffer
dc553440d3 pynacl==1.6.2 2026-01-07 18:50:32 +05:30
Ishaan Jaffer
9471d616fc aiohttp==3.13.3 2026-01-07 18:25:23 +05:30