Commit graph

31779 commits

Author SHA1 Message Date
yuneng-jiang
b41876b5f5
Merge pull request #20452 from BerriAI/litellm_non_root_pkglk
[Fix] Non Root Dockerfile: Keep package-lock.json
2026-02-05 12:18:29 -08:00
yuneng-jiang
a04a2de6a1
Merge pull request #20472 from nina-hu/fix/timezone-daily-spend-filtering
fix(ui): adjust daily spend date filtering for user timezone
2026-02-05 12:12:44 -08:00
yuneng-jiang
21d6025c01 adding test for converage 2026-02-05 12:02:12 -08:00
Peter Dave Hello
e882296fdc Align Claude Opus 4.6 Bedrock metadata and model IDs
Unify follow-up fixes for Opus 4.6 pricing and routing metadata into
a single changeset.

Set long-context-capable Opus 4.6 entries to 1M input tokens where
>200K pricing is defined, align alias and dated capability metadata,
and add Bedrock Converse v1 IDs with and without :0 suffixes.

Keep regional endpoint pricing at a 10% premium over global entries
and mirror all cost-map changes in the backup file used for local
loading and offline fallback behavior.

Extend Opus 4.6 regression tests to verify metadata parity, Bedrock
regional pricing parity across :0 and non-:0 IDs, and converse model
registration in constants and runtime model sets.
2026-02-06 03:48:10 +08:00
Ishaan Jaffer
ea35ab6d4e day 0 blog post 2026-02-05 11:47:36 -08:00
Peter Dave Hello
dbd4bb5cf4
Add Claude Opus 4.6 (#20508)
Add Claude Opus 4.6 entries for Anthropic, Bedrock Converse, and Vertex AI.

Align pricing and capability metadata with Anthropic docs, including
long-context rates, above-200k prompt-caching rates, prefill removal,
and tool-use system prompt token counts.

Register the Bedrock Converse model ID in constants and add targeted
tests to validate model map values and converse registration.
2026-02-05 11:33:44 -08:00
Ishaan Jaff
eae5fa195e
[Feat] add claude-opus-4-6 to model cost map (#20506)
* add claude-opus-4-6 to model cost map

* fix azure_ai

* new model
2026-02-05 10:59:56 -08:00
Ishaan Jaff
d2bd029fa4
[Fix] 404 Not Found on /api/event_logging/batch endpoint (#20504)
* fix typing

* add event_logging_batch

* TestEventLoggingBatchEndpoint
2026-02-05 10:58:08 -08:00
Krish Dholakia
f65eec8fa8
docs: Update CLI arguments documentation with all available options (#20437)
- Reorganized documentation into logical sections (Server Configuration,
  Server Backend Options, SSL/TLS Configuration, Model Configuration,
  Model Parameters, Database Configuration, Debugging, Testing & Health Checks)
- Added missing CLI arguments:
  - --iam_token_db_auth: RDS IAM token authentication for database connections
  - --run_gunicorn: Start proxy with gunicorn backend
  - --run_hypercorn: Start proxy with hypercorn backend (HTTP/2 support)
  - --ssl_keyfile_path, --ssl_certfile_path, --ciphers: SSL/TLS configuration
  - --keepalive_timeout: Uvicorn keepalive timeout setting
  - --max_requests_before_restart: Worker recycling for memory management
  - --use_prisma_db_push: Alternative database schema update method
  - --test_async, --num_requests: Async endpoint testing
  - --version/-v: Print version
  - --max_budget: Set budget limits for API calls
  - --headers, --add_key, --save: Model configuration options
  - --use_queue: Celery workers for async endpoints
  - --local: Local debugging flag
- Updated default value for --num_workers to reflect actual behavior
- Added environment variable documentation for applicable options

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-02-05 08:46:37 -08:00
Sameer Kankute
9376fcf771
Apply suggestion from @greptile-apps[bot]
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-05 19:53:01 +05:30
Sameer Kankute
eabe3b2e9c fix: mypy issue 2026-02-05 19:50:16 +05:30
Sameer Kankute
b74afec2be
Merge pull request #20398 from BerriAI/litellm_oss_staging_02_04_2026
Litellm oss staging 02 04 2026
2026-02-05 19:42:36 +05:30
Sameer Kankute
26d25de577 fix: make sure gcs_bucket_name passes 2026-02-05 19:42:17 +05:30
Sameer Kankute
df590be7af Fix test_global_redaction_off_with_dynamic_params 2026-02-05 18:26:03 +05:30
Sameer Kankute
34e5bb29a5
Merge pull request #20338 from Lucky-Lodhi2004/ttl-prompt-caching-bedrock
fix #20326 - [Feature]: Support TTL(1h) field in prompt caching for Bedrock Claude 4.5 models
2026-02-05 16:52:12 +05:30
Sameer Kankute
fa733c252e
Merge branch 'litellm_oss_staging_02_04_2026' into ttl-prompt-caching-bedrock 2026-02-05 16:52:02 +05:30
Sameer Kankute
7e8be5f542
Merge branch 'main' into ttl-prompt-caching-bedrock 2026-02-05 16:50:54 +05:30
Sameer Kankute
a21b625a59
Merge pull request #20105 from qiniu/fix/vertex-gemini-streaming-content-filter
Fix Vertex AI Gemini streaming content_filter handling
2026-02-05 16:48:48 +05:30
Sameer Kankute
453d1bd5e1
Merge branch 'main' into litellm_oss_staging_02_04_2026 2026-02-05 12:19:03 +05:30
Sameer Kankute
075b1b7921
Merge pull request #20341 from natimofeev/bugfix/remove-user-messages-merging
bugfix: Disable merging of consecutive user messages for GigaChat provider
2026-02-05 12:18:09 +05:30
nina-hu
5904fa159b fix(ui): adjust daily spend date filtering for user timezone
The daily spend tables store dates in UTC, but the UI sends dates in the
user's local timezone. This causes a mismatch where records from the
user's evening (stored as the next UTC day) don't appear when filtering
by "today".

Changes:
- Add `_adjust_dates_for_timezone()` helper to expand date range based
  on timezone offset
- Add `timezone` query parameter to `/user/daily/activity` and
  `/user/daily/activity/aggregated` endpoints
- Frontend sends `timezone` using `Date.getTimezoneOffset()`

For users west of UTC (e.g., PST), end_date is extended by 1 day.
For users east of UTC (e.g., IST), start_date is extended by 1 day earlier.
This ensures all records within the user's local date range are captured.
2026-02-04 21:42:34 -08:00
Sameer Kankute
1017c3a0e4
Merge pull request #20464 from BerriAI/litellm_cicd_5_feb_2026
Litellm cicd 5 feb 2026
2026-02-05 11:03:35 +05:30
Sameer Kankute
0ce1bfe26a bump: version 1.81.7 → 1.81.8 2026-02-05 10:44:48 +05:30
Swayambhu
2c430ebd96 fix: Add array type checks for model, agent, and MCP hub data to prevent crashes from non-array API responses and include a regression test.
This PR:Fixes a frontend regression where the
PublicModelHub
 page would crash with TypeError: e.filter is not a function when the API returned an error object (e.g. { "detail": "..." }) instead of the expected data array.
Changes:

Added defensive Array.isArray() checks in
src/components/public_model_hub.tsx
 for:
modelHubData
agentHubData
mcpHubData
Updated useMemo hooks and helper functions to handle invalid data gracefully.
Added a regression test in
src/components/public_model_hub.test.tsx
 that mocks a non-array API response to ensure the component renders without crashing.
2026-02-05 10:28:04 +05:30
yuneng-jiang
ed7beba781 small fixes 2026-02-04 20:54:59 -08:00
yuneng-jiang
539ff7a850 refactor admin page 2026-02-04 20:46:31 -08:00
Sameer Kankute
5422a5962e Fix test_route_a2a_model_bypasses_router 2026-02-05 09:47:05 +05:30
Sameer Kankute
5e8c7f0de1 Fix mypy issues 2026-02-05 09:44:05 +05:30
yuneng-jiang
fa86f1a10a Fix input and output label 2026-02-04 20:14:01 -08:00
Sameer Kankute
0f177a3b01 Fix: test_team_update_sc_2 2026-02-05 09:40:21 +05:30
yuneng-jiang
02ed25c886
Merge pull request #20461 from BerriAI/ui_build_fix_4
[Infra] Fixing UI Build
2026-02-04 20:05:50 -08:00
yuneng-jiang
b982542c6c fixing build 2026-02-04 20:05:10 -08:00
Sameer Kankute
137413f8c1
Merge pull request #20460 from BerriAI/litellm_proxy_extras_bump_version_5_feb
chore: update poetry.lock for litellm-proxy-extras 0.4.30
2026-02-05 09:28:10 +05:30
Sameer Kankute
64aeb18a10 chore: update poetry.lock for litellm-proxy-extras 0.4.30
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 09:25:52 +05:30
Sameer Kankute
cda4b72e2d
Merge pull request #20458 from BerriAI/litellm_proxy_extras_bump_version_5_feb
bump: litellm-proxy-extras 0.4.29 → 0.4.30
2026-02-05 09:22:29 +05:30
Sameer Kankute
3c12dda856 bump: litellm-proxy-extras 0.4.29 → 0.4.30
- Add allow_team_guardrail_config field to TeamTable and DeletedTeamTable
- Add migration 20260205091235_allow_team_guardrail_config
2026-02-05 09:21:20 +05:30
Cesar Garcia
e0802783f3
feat(openrouter): add Qwen3-235B models (#20455)
Add OpenRouter Qwen3-235B-A22B models to the pricing configuration:
- openrouter/qwen/qwen3-235b-a22b-2507
- openrouter/qwen/qwen3-235b-a22b-thinking-2507

Closes request from PR #13019 comments.
2026-02-04 19:35:22 -08:00
jquinter
47b546f69a
fix(lint): remove unused Any/cast imports in github_copilot transformation (#20431)
The cast(Any, message) pattern was used to suppress typed-dict mutation
warnings, but the parameter has no type annotation so it's unnecessary.
Direct assignment works and eliminates the F401 unused-import lint error.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 18:41:01 -08:00
michelligabriele
8e1201ca3d
docs: improve Okta SSO setup guide with step-by-step instructions (#20353)
* docs: improve Okta SSO setup guide with step-by-step instructions

- Add clear steps for creating OIDC app in Okta Admin Console
- Document critical Authorization Server Access Policy configuration
- Add troubleshooting table for common errors
- Link to official Okta documentation for detailed UI instructions
- Fix incorrect OAuth endpoint examples (was using Auth0 URLs)

* docs: add Okta console screenshots for SSO setup guide

- Add screenshot showing Sign-in redirect URI configuration
- Add screenshot showing Client Credentials location
- Add screenshot showing Authorization Server Access Policy setup

* docs: replace Okta screenshots with annotated Scribe versions

- Replace screenshots with Scribe-annotated versions highlighting key areas
- Add step-by-step screenshots for Authorization Server Access Policy setup
- Remove old unannotated screenshots
2026-02-04 18:39:51 -08:00
Ishaan Jaff
15b717c300
[Feat] UI - Add support for MCP Semantic Filtering on UI (#20454)
* feat: remove_callbacks_by_type

* feat: _init_semantic_filter_settings_in_db

* add MCP semantic filtering settings endpoints

* v0 - semantic filter UI

* fix endpint _init_semantic_filter_settings_in_db

* refactor ui

* add LITELLM_UI_ALLOW_HEADERS

* ui fix

* ui fix
2026-02-04 18:38:53 -08:00
yuneng-jiang
7831e30666 keep package-lock.json in non-root 2026-02-04 17:58:22 -08:00
yuneng-jiang
d016ac863b Adding tests for model hub 2026-02-04 17:05:06 -08:00
yuneng-jiang
bdf47eb0f0 Adding tests 2026-02-04 17:01:48 -08:00
yuneng-jiang
28bae2264c ai hub req auth working 2026-02-04 16:57:46 -08:00
yuneng-jiang
c47866afb9 useAuthorized refactor 2026-02-04 16:37:45 -08:00
Ishaan Jaff
2a3843aa57
[Fix] inconsistent response format in anthropic.messages.acreate() when using non anthropic providers (#20442)
* _translate_openai_content_to_anthropic

* test_response_format_consistency

* test fixes unit tests

* test fix

* fix: use dict access for anthropic content blocks in tests (#20447)

The translate_openai_response_to_anthropic method returns dicts, not objects.
Changed .type/.text/.thinking attribute access to dict ['key'] access.

---------

Co-authored-by: shin-bot-litellm <shin-bot-litellm@berri.ai>
2026-02-04 16:37:40 -08:00
Ishaan Jaff
6a73e5bd37
Revert "fix(a2a): use text/event-stream SSE format for message/stream endpoin…" (#20446)
This reverts commit 0209b214ac.
2026-02-04 16:08:22 -08:00
shin-bot-litellm
0209b214ac
fix(a2a): use text/event-stream SSE format for message/stream endpoint (#20365)
* fix(a2a): use text/event-stream SSE format for message/stream endpoint

The A2A gateway's streaming response was using application/x-ndjson
Content-Type and raw NDJSON body format. The A2A protocol spec requires
text/event-stream with SSE framing (data: ...\n\n).

The official a2a-sdk client validates the Content-Type header and raises
SSEError when it doesn't contain text/event-stream.

Changes:
- Changed media_type from application/x-ndjson to text/event-stream
- Updated response body to use SSE framing (data: prefix + \n\n suffix)
- Added tests validating Content-Type and SSE body format

Fixes #20278

* Potential fix for code scanning alert no. 4045: Information exposure through an exception

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* test(a2a): add manual SSE format validation script

Adds a manual test script that:
1. Starts a real A2A agent on port 10001
2. Starts LiteLLM proxy with the agent registered
3. Makes a streaming request to the proxy's A2A gateway
4. Validates Content-Type header is text/event-stream
5. Validates body uses SSE framing (data: ...\n\n)

Run: python tests/a2a_manual/test_a2a_sse_manual.py

---------

Co-authored-by: shin-bot-litellm <shin-bot-litellm@users.noreply.github.com>
Co-authored-by: Ishaan Jaff <ishaanjaffer0324@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-02-04 16:07:17 -08:00
Shivam Rawat
795ba8efe3
Merge pull request #20443 from BerriAI/docs_langfuse_multi_project_cred_support
langfuse doc update
2026-02-04 15:55:04 -08:00
shivam
555e1da9b4 langfuse doc update 2026-02-04 15:53:24 -08:00