Commit graph

36177 commits

Author SHA1 Message Date
Antti Puurula
9e8d1a2b4f
Fix au.anthropic.claude opus 4 6 v1 (#20731)
* Fix apac.anthropic.claude-opus-4-6-v1 -> au.anthropic.claude-opus-4-6-v1

* Add test for Australia region au. prefix (not apac.)
2026-02-16 14:15:37 -08:00
Chesars
0664ec51d8 fix(responses): use output_index for parallel tool call streaming indices
Fixes #21331 — the Responses API streaming bridge hardcoded index=0 for
all tool call chunks, making parallel tool calls indistinguishable.
Now reads output_index from the Responses API chunk instead.
2026-02-16 18:00:42 -03:00
Nicholas Gigliotti
a8fbbb33b8 chore: regenerate poetry.lock after merge with main 2026-02-16 15:38:55 -05:00
Alejandro Tapia
c9e15005b1 differentiate solely by model_Id 2026-02-16 12:37:53 -08:00
Nicholas Gigliotti
8f647cad2b Merge branch 'main' into feat/bedrock-native-structured-outputs
Resolve conflict in test_converse_transformation.py by keeping both
the structured outputs tests (from this branch) and the
TestBedrockMinThinkingBudgetTokens tests (from main).
2026-02-16 15:34:22 -05:00
Alejandro Tapia
a36d7dcb81 Tooltip removed and replaced with Popover (triggered by icon only), including url to router settings 2026-02-16 12:05:56 -08:00
Alexsander Hamir
a5e8eb6848
docs: add Semgrep & OOM fixes section to v1.81.12 release notes (#21334) 2026-02-16 11:40:39 -08:00
yuneng-jiang
17312f5d20
Merge pull request #21332 from BerriAI/yj_infra_feb16
[Infra] Bumping proxy extras version
2026-02-16 11:23:22 -08:00
yuneng-jiang
ca1a642655 bumping pypi + build artifacts 2026-02-16 11:21:40 -08:00
yuneng-jiang
6371b30bfd bump: version 0.4.39 → 0.4.40 2026-02-16 11:20:59 -08:00
Ishaan Jaff
90edd98e0b
Fix OCI Grok output pricing (#21329) 2026-02-16 10:40:51 -08:00
Ryan Crabbe
8c58d355a4 fix: make aclose() idempotent, fix import ordering 2026-02-16 10:26:26 -08:00
shivam
9f7f190670 resolved greptile comment 2026-02-16 10:24:06 -08:00
shivam
0117b35a6b added more tests, fixed tests 2026-02-16 09:59:19 -08:00
Felipe Felix
504c70f4e0
fix(responses-api): return finish_reason='tool_calls' when response.completed contains function_call items (#19745)
When using the Responses API (e.g., Azure gpt-5.1-codex-mini), the response.completed
event was always returning finish_reason='stop', even when the response contained
function_call items in its output. This caused agents like OpenCode to incorrectly
conclude the stream ended without tools to execute, breaking tool/function calling
workflows.

The fix inspects the response.output field in the response.completed event to determine
the correct finish_reason:
- 'tool_calls' when output contains function_call items
- 'stop' otherwise (text-only responses)

Added tests to verify:
- response.completed with function_call output returns finish_reason='tool_calls'
- response.completed with message-only output returns finish_reason='stop'
- response.completed with empty output returns finish_reason='stop' (backward compat)

Co-authored-by: Krish Dholakia <krrishdholakia@gmail.com>
2026-02-16 09:19:57 -08:00
Krish Dholakia
45690db820
UI - Content Filters, help edit/view categories and 1-click add categories + go to next page (#21223)
* feat(ui/): allow viewing content filter categories on guardrail info

* fix(add_guardrail_form.tsx): add validation check to prevent adding empty content filter guardrails

* feat(ui/): improve ux around adding new content filter categories

easy to skip adding a category, so make it a 1-click thing
2026-02-16 09:11:16 -08:00
Shivam Rawat
d448682291
fix: prevent double-counting of litellm_proxy_total_requests_metric (#21159)
* fixed double counting

* Update litellm/proxy/utils.py

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* reverse prev commit

* Update litellm/proxy/utils.py

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* removed else branch

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-16 09:10:49 -08:00
michelligabriele
035f0916ad
fix(mcp): revert StreamableHTTPSessionManager to stateless mode (#21323)
PR #19809 changed stateless=True to stateless=False to enable progress
notifications for MCP tool calls. This caused the mcp library to enforce
mcp-session-id headers on all non-initialize requests, breaking MCP
Inspector, curl, and any client without automatic session management.

Revert to stateless=True to restore compatibility with all MCP clients.
The progress notification code already handles missing sessions gracefully
(defensive checks + try/except), so no other changes are needed.

Fixes #20242
2026-02-16 09:08:44 -08:00
Vincent Koc
0dcc744f7e
fix(proxy): handle missing DATABASE_URL in append_query_params (#21239)
* fix: handle missing database url in append_query_params

* Update litellm/proxy/proxy_cli.py

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-16 09:03:10 -08:00
Chiranjeevisantosh Madugundi
dcff3260df
fix: preserve metadata for custom callbacks on codex/responses path (… (#21243)
* fix: preserve metadata for custom callbacks on codex/responses path (#21204)

- Use metadata or litellm_metadata when calling update_environment_variables
  in responses/main.py so metadata is not overwritten by None on the
  bridge path (completion -> responses API).
- Add tests for metadata in custom callback for codex models and for
  litellm_metadata in aresponses().

Co-authored-by: Cursor <cursoragent@cursor.com>

* Update tests/test_litellm/responses/test_metadata_codex_callback.py

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Krish Dholakia <krrishdholakia@gmail.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-16 08:59:38 -08:00
Krrish Dholakia
89e95f779f fix(index.md): cleanup str 2026-02-16 08:59:17 -08:00
Atharva Jaiswal
7bcef1490b
Fix: Exclude tool params for models without function calling support (#21125) (#21244)
* Fix tool params reported as supported for models without function calling (#21125)

JSON-configured providers (e.g. PublicAI) inherited all OpenAI params
including tools, tool_choice, function_call, and functions — even for
models that don't support function calling. This caused an inconsistency
where get_supported_openai_params included "tools" but
supports_function_calling returned False.

The fix checks supports_function_calling in the dynamic config's
get_supported_openai_params and removes tool-related params when the
model doesn't support it. Follows the same pattern used by OVHCloud
and Fireworks AI providers.

* Style: move verbose_logger to module-level import, remove redundant try/except

Address review feedback from Greptile bot:
- Move verbose_logger import to top-level (matches project convention)
- Remove redundant try/except around supports_function_calling() since it
  already handles exceptions internally via _supports_factory()
2026-02-16 08:36:32 -08:00
Itay Ovadia
bc2fefde45
Generic Guardrails: Add a configurable fallback to handle generic guardrail endpoint connection failures (#21245)
* Generic Guardrails: Add a configurable fallback to handle guardrail endpoint connection failures

* Fix PR comments

* Generic Guardrails: Add the fallback support to litellm.Timeout
2026-02-16 08:34:21 -08:00
Sameer Kankute
351e834802
Merge pull request #21320 from BerriAI/litellm_anthropic_doc_beta_header
Litellm anthropic doc beta header
2026-02-16 22:03:18 +05:30
Sameer Kankute
452f481fa0 correct the time 2026-02-16 21:59:54 +05:30
Sameer Kankute
e67641cdb3 Add blog fffor Managing Anthropic Beta Headers 2026-02-16 21:46:12 +05:30
Sameer Kankute
2ad648a083 Add blog fffor Managing Anthropic Beta Headers 2026-02-16 21:45:01 +05:30
jquinter
bf93ce8841
Merge pull request #21284 from BerriAI/fix/mcp-server-test-mocks
fix(test): add cleanup fixture and no_parallel mark for MCP tests
2026-02-16 12:12:58 -03:00
jquinter
c3fb5e1ea5
Update tests/test_litellm/proxy/_experimental/mcp_server/test_mcp_server.py
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-16 12:12:48 -03:00
jquinter
d84336bd07
Merge pull request #21283 from BerriAI/fix/video-generation-logging-mock
fix(test): correct async mock for video generation logging test
2026-02-16 12:12:20 -03:00
jquinter
87861549d8
Merge pull request #21282 from BerriAI/fix/cost-calculation-log-test-parallel
fix(test): replace caplog with custom handler for parallel execution
2026-02-16 12:11:48 -03:00
jquinter
a2ce7fc99d
Merge pull request #21280 from BerriAI/fix/add-pytest-postgresql-dependency
fix(deps): add pytest-postgresql for db schema migration tests
2026-02-16 12:09:55 -03:00
Julio Quinteros Pro
af9b6f6e0d Merge main into fix/add-pytest-postgresql-dependency
Resolved poetry.lock conflict by regenerating with Poetry 2.3.2.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-16 12:03:20 -03:00
Harshit Jain
1308a2cd76
Merge pull request #20314 from Harshit28j/fix/sso_PKCE_deployments
fix: SSO PKCE support fails in multi-pod Kubernetes deployments
2026-02-16 19:40:44 +05:30
Harshit Jain
dd2111e664
Merge pull request #20321 from Harshit28j/litellm_fix-virtual-key-grace-period
fix: virutal key grace period from env/UI
2026-02-16 19:36:18 +05:30
Harshit Jain
0341b6fa2b
Update litellm/litellm_core_utils/litellm_logging.py
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-16 19:34:13 +05:30
Harshit Jain
ca4029a715 fix req changes 2026-02-16 13:55:58 +00:00
Sameer Kankute
86a254a215
Merge pull request #21307 from BerriAI/litellm_oss_staging_02_14_20262
Litellm oss staging 02 14 20262
2026-02-16 19:10:59 +05:30
Harshit Jain
b753d8e413
Update litellm/litellm_core_utils/litellm_logging.py
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-16 19:08:42 +05:30
Harshit Jain
acfddf2049
Update litellm/litellm_core_utils/litellm_logging.py
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-16 19:07:22 +05:30
Sameer Kankute
0f2b0869ae
Merge pull request #21311 from BerriAI/litellm_add_agents_sdk_openai
Add doc for OpenAI Agents SDK with LiteLLM
2026-02-16 19:06:27 +05:30
Sameer Kankute
6ceebdcfe2 fix mypy 2026-02-16 19:05:06 +05:30
Sameer Kankute
be9df253dd
Update docs/my-website/sidebars.js
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-16 19:03:15 +05:30
Sameer Kankute
5b6e232da6 Add doc for OpenAI Agents SDK with LiteLLM 2026-02-16 19:00:53 +05:30
Sameer Kankute
a38b4c8924 Add doc for OpenAI Agents SDK with LiteLLM 2026-02-16 18:59:39 +05:30
Sameer Kankute
4548d9fbe9 fix mypy 2026-02-16 18:55:21 +05:30
Harshit Jain
da4915c072 fix langfuse otel missing traces 2026-02-16 13:24:02 +00:00
Sameer Kankute
ac2f17a514 fix: proxy/batches_endpoints/endpoints.py:309:11: PLR0915 Too many statements (54 > 50) 2026-02-16 18:41:06 +05:30
Sameer Kankute
27890dd46e
Merge pull request #21306 from mjkam/fix/bedrock-min-budget-tokens
fix(bedrock): clamp thinking.budget_tokens to minimum 1024
2026-02-16 18:31:28 +05:30
Sameer Kankute
72a1bd66c7
Merge pull request #21157 from Point72/ephrimstanley/s3-logger-skip-missing-standard-logging-object
Managed batches - Misc bug fixes
2026-02-16 18:29:59 +05:30