Harshit Jain
f33a7ca7d6
fix: as per request changes
2026-02-14 04:34:58 +05:30
Harshit Jain
37fc4a35ff
Update tests/test_litellm/proxy/management_endpoints/test_ui_sso.py
...
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-14 04:27:13 +05:30
Harshit Jain
f87b12a2f7
fix grace period with better error handling on frontend and as per best practices
2026-02-14 04:18:08 +05:30
yuneng-jiang
b65cb646aa
addressing comments
2026-02-13 13:59:49 -08:00
Ishaan Jaff
a06113ec82
feat: MCP OAuth2 client-side debug headers ( #21151 )
...
* fix: SCOPES on Atlassian issue
* feat: add MCPDebug class for client-side MCP OAuth2 debugging
* feat: inject MCP debug headers into streamable HTTP response path
* test: add unit tests for MCPDebug class
* fix: refactor MCPDebug - move all logic into class static methods
* fix: collapse server.py debug code to two-liner using MCPDebug methods
* test: add tests for resolve_auth_resolution and wrap_send_with_debug_headers
* docs: add MCP debug headers section to troubleshooting guide
* docs: add Debugging OAuth section to mcp_oauth.md
* docs: replace inline debug section with cross-link to mcp_oauth
* docs: extract UI troubleshooting into its own page
* docs: simplify troubleshoot.md to issue reporting only
* docs: add quick-start debug command to MCP troubleshoot page
* docs: restructure sidebar - UI, MCP, Performance, Issue Reporting
2026-02-13 12:55:47 -08:00
yuneng-jiang
938a920372
cost breakdown fix
2026-02-13 12:51:55 -08:00
Ishaan Jaffer
817de99177
UI build
2026-02-13 12:51:17 -08:00
Ishaan Jaff
40b290aa84
fix: MCP Gateway SCOPES on Atlassian issue ( #21150 )
...
* fix: SCOPES on Atlassian issue
* test: add regression tests for scopes=None in OAuth discovery endpoints
2026-02-13 12:43:56 -08:00
yuneng-jiang
71107b3fd0
Merge pull request #21149 from BerriAI/litellm_spendlogs_reset_custom_time
...
[Fix] UI - Spend Logs: Reset Filters Resets Custom Date Range
2026-02-13 12:30:45 -08:00
yuneng-jiang
eb144a44d0
Merge pull request #21144 from BerriAI/litellm_ui_fallbacks_10
...
[Refactor] UI - Fallbacks: Default Configurable to 10 Models
2026-02-13 12:30:35 -08:00
yuneng-jiang
82fcc39e6b
reset custom time range when reset filters is clicked
2026-02-13 12:12:50 -08:00
Ishaan Jaff
568edde87a
docs: fix Claude Code MCP tutorial with correct config and URL patterns ( #21145 )
...
- Fix Atlassian config: use http transport and correct URL (/v1/mcp not /v1/sse)
- Fix URL pattern: use standard /mcp/<server_name> not legacy /<server_name>/mcp
- Add parameter breakdown table explaining each claude mcp add argument
- Add warning that server name in proxy config must match URL path
- Add ngrok step for OAuth callback accessibility
- Add ~/.claude.json config option alongside claude mcp add
- Fix auth header guidance: use x-litellm-api-key for OAuth servers
2026-02-13 12:12:38 -08:00
yuneng-jiang
6eeb9b109b
Merge pull request #21143 from BerriAI/litellm_model_id_search
...
[Feature] UI - Spend Logs: Sorting Columns
2026-02-13 11:53:16 -08:00
yuneng-jiang
724ab1c154
Update ui/litellm-dashboard/src/components/networking.tsx
...
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-13 11:53:04 -08:00
Krish Dholakia
24b56a14eb
Guardrails - new Policy Templates (pre-configured guardrail combinations for specific use-cases) ( #21025 )
...
* feat(patterns.json): add australia specific pii patterns - tax file number, abn, medicare number
Improve PII detection for australian contexts
* feat(patterns.json): add iban + street address pattern detection
* feat: support policy templates on ui
allows admin to enable pre-configured guardrails
helps cover specific use-cases well
* feat: create missing guardrails, working policy templates
* feat: policy_templates.json
support hosted policy templates
allows others to contribute to the policy templates
* docs: document new policy templates
* fix: address greptile feedback
* fix: fix linting error
2026-02-13 11:53:02 -08:00
yuneng-jiang
25fccad127
Change default fallbacks to 10 models
2026-02-13 11:50:13 -08:00
yuneng-jiang
adc2859f0a
sorting spend logs in ui
2026-02-13 11:33:41 -08:00
datzscaler
aab8edde67
fix(guardrails): Zscaler AI Guard bug fixes and support during post-call ( #20801 )
...
* fix(guardrails): fixed post-call issue with Zscaler guardrail and invalid headers. Added unittests
* fix(guardrails): Addressed greptil comments. Make policyid hanlding more clear
* fix(guardrails): Address greptile comment
* Update litellm/proxy/guardrails/guardrail_hooks/zscaler_ai_guard/zscaler_ai_guard.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-13 11:28:14 -08:00
Sameer Kankute
066e694f5e
Merge pull request #21110 from BerriAI/litellm_litellm_anthropic_remote_url3
...
Add support for remote URL fetching for anthropic beta header mapping
2026-02-14 00:30:51 +05:30
Ryan Crabbe
9c87484b07
fix: preserve auto-generated id when provider returns falsy id
...
Address review comment: fall back to model_response_object.id instead
of overwriting with None/empty string. Add parametrized test for the
edge case.
2026-02-13 10:13:45 -08:00
Ryan Crabbe
ecb04187b5
perf: optimize user_api_key_auth hot path (Rounds 1-3, 5-6)
...
- Fast-path early return in check_api_key_for_custom_headers_or_pass_through_endpoints
- startswith(tuple) replaces for-loop substring matching (also more correct)
- Pre-compute _PUBLIC_ROUTES and MAPPED_PASS_THROUGH_PREFIXES at module level
- Deduplicate get_request_route call by passing route as parameter
- Cache dict(request.headers) on request.state per-request
- Remove redundant elif branch from get_api_key (handled by later function)
- Fix: isinstance(request.headers, dict) was always False for Starlette Headers,
silently breaking custom header extraction for pass-through endpoints
2026-02-13 10:00:38 -08:00
Ishaan Jaff
a1b7261502
Remove exposed API key from example configuration in mcp_server_manager.py ( #21129 )
...
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Ishaan Jaff <ishaan-jaff@users.noreply.github.com>
2026-02-13 09:52:38 -08:00
Julio Quinteros Pro
5bcd3b53c9
fix: import LiteLLM_ObjectPermissionTable from _types instead of proxy_server
...
Per maintainer feedback, FastAPI should always be available in proxy code.
The issue was that MCP tests were importing from proxy_server unnecessarily,
pulling in all proxy dependencies including policy_resolve_endpoints.
Fix:
- Revert policy_resolve_endpoints.py to use direct FastAPI imports
- Update MCP tests to import LiteLLM_ObjectPermissionTable from litellm.proxy._types
instead of litellm.proxy.proxy_server
This avoids importing the entire proxy_server module with all its dependencies
when tests only need specific types.
Addresses: https://github.com/BerriAI/litellm/pull/21075/changes#r2802201174
2026-02-13 14:46:03 -03:00
Julio Quinteros Pro
1fffeb953c
fix: restore if TYPE_CHECKING block for proper FastAPI import handling
...
Greptile's previous suggestion accidentally removed the if TYPE_CHECKING block,
leaving an orphan else statement that caused a syntax error.
This commit restores the proper structure.
2026-02-13 14:46:03 -03:00
jquinter
ca9cdea8a7
Update litellm/proxy/policy_engine/policy_resolve_endpoints.py
...
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-13 14:46:02 -03:00
Julio Quinteros Pro
e6385a6c83
fix: make policy_resolve_endpoints importable without FastAPI
...
Adds try/except around FastAPI imports with fallback mock classes.
This allows the module to be imported in test environments where
proxy dependencies (FastAPI) may not be installed.
Fixes NameError when MCP tests try to import from proxy_server which
imports from this module:
- NameError: name 'APIRouter' is not defined
- NameError: name 'Depends' is not defined
- NameError: name 'HTTPException' is not defined
- NameError: name 'Query' is not defined
2026-02-13 14:46:02 -03:00
Julio Quinteros Pro
64424d00c1
fix: use None instead of Reasoning() for reasoning parameter
...
The ResponsesAPIResponse.reasoning field expects Optional[Dict[str, Any]],
not a Reasoning object. Passing an empty Reasoning() object causes a mypy type error.
Fix: Pass None instead of Reasoning() since the field is optional and we're
not providing any reasoning data.
Fixes mypy error:
Argument "reasoning" to "ResponsesAPIResponse" has incompatible type
"Reasoning"; expected "dict[str, Any] | None"
2026-02-13 14:30:05 -03:00
Aidan Kovacic
7a164ba2cc
fix: shared health check serialization ( #21119 )
...
* Add BaseModel serialization to safe_json_dumps
* Use safe_dumps in shared health check caching
* remove redundant seen.add
2026-02-13 09:15:43 -08:00
yuneng-jiang
5ddba48df9
Merge pull request #21088 from BerriAI/litellm_spend_rebase
...
[Fix] Spend Management Tests
2026-02-13 09:11:42 -08:00
Sameer Kankute
d4dbb460cc
Make tests run with local beta header mapping json
2026-02-13 22:31:42 +05:30
Sameer Kankute
aaf5938864
Merge pull request #21089 from BerriAI/litellm_vector_store_endpoints
...
Add target_model_names for vector store endpoints
2026-02-13 22:18:29 +05:30
jquinter
93e8127562
chore: remove redundant test-complete job from test workflow ( #21106 )
...
The test-complete aggregate job adds no value as GitHub Actions
already provides visibility into matrix job results.
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-13 08:39:00 -08:00
jquinter
1e0b1c8334
fix: remove duplicate PerplexityResponsesConfig from LLM_CONFIG_NAMES ( #21105 )
...
Removes duplicate entry of PerplexityResponsesConfig that was causing
Ruff linting error F601 (dictionary key literal repeated).
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-13 08:38:50 -08:00
jquinter
d32b654d6b
fix: regenerate poetry.lock to sync with pyproject.toml ( #21108 )
...
poetry.lock was out of sync with pyproject.toml, causing CI failures
across all PRs with "Run `poetry lock` to fix the lock file" error.
Regenerated the lock file to resolve the sync issue.
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-13 08:38:29 -08:00
fpagny
37157ee35f
feat(scaleway): add scaleway provider ( #21121 )
...
* feat(scaleway): add scaleway provider
* Fix link format
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* remove unused tabs and tabitem
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* fix: add scaleway to sidebar menu
---------
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-13 08:37:58 -08:00
Sameer Kankute
a653a8ddde
Merge pull request #21092 from BerriAI/litellm_azure_batches_issues
...
Fix azure batches issues
2026-02-13 22:06:21 +05:30
Sameer Kankute
fedfec51ab
Merge pull request #21120 from BerriAI/litellm_add_rag_ingest_vertex_ai
...
Add rag ingest vertex ai
2026-02-13 22:04:57 +05:30
Sameer Kankute
4ad0ecd9eb
Fix mypy issues
2026-02-13 22:02:27 +05:30
Sameer Kankute
dc874fc98f
Fix mypy issues
2026-02-13 21:54:46 +05:30
Sameer Kankute
ef456cafc8
Merge pull request #21040 from BerriAI/litellm_fix_stale_mcp_issue
...
[Bug] Fix Session not found errors
2026-02-13 21:52:27 +05:30
Alexsander Hamir
68122ede2c
docs: fix DEFAULT_NUM_WORKERS_LITELLM_PROXY default (1, not 4) ( #21127 )
...
- config_settings.md: state default is 1, clarify NUM_WORKERS recommendation
- proxy_cli.py: correct --num_workers help text to match actual default
2026-02-13 07:36:20 -08:00
Sameer Kankute
1c0464fac0
Remove print statement
2026-02-13 20:13:14 +05:30
Sameer Kankute
c5d7418e9e
Add VertexAIRAGIngestion class
2026-02-13 20:11:25 +05:30
Sameer Kankute
9e02fd065a
Add support for vertex ai for rag/ingest
2026-02-13 20:11:10 +05:30
Sameer Kankute
4a9d851dc4
Merge branch 'main' into litellm_litellm_anthropic_remote_url3
2026-02-13 18:40:00 +05:30
Sameer Kankute
e17c639fb1
Merge pull request #21085 from BerriAI/litellm_oss_staging_02_13_2026
...
Litellm oss staging 02 13 2026
2026-02-13 18:38:14 +05:30
Sameer Kankute
f343159911
Merge pull request #21024 from BerriAI/litellm_oss_staging_02_12_2026
...
Litellm oss staging 02 12 2026
2026-02-13 18:37:44 +05:30
Shivam Rawat
1321cd276b
removed /models and v1/models from llm api routes ( #20988 )
2026-02-13 18:32:41 +05:30
Emerson Gomes
8a650f0170
fix(cache): prevent DualCache async batch check-then-act race ( #20986 )
...
* fix(cache): prevent dual cache batch redis race under concurrency
* chore(cache): remove unused dual cache batch key helper
* chore(cache): align dual cache type hints and throttle comment
2026-02-13 18:32:41 +05:30
Emerson Gomes
cba3bcf1a9
fix(logging): avoid shared callback list references ( #20984 )
2026-02-13 18:32:41 +05:30