Commit Graph
31876 Commits
Author SHA1 Message Date
Sameer KankuteandGitHub ef55d37bf0 Merge branch 'main' into litellm_v1_messages_claude_4_6 2026-02-09 17:14:36 +05:30
Sameer KankuteandGitHub 3cf109ed0c Merge pull request #20745 from BerriAI/litellm_vercel_ai_models
Add new vercel ai anthropic models
2026-02-09 17:07:56 +05:30
Sameer Kankute 23088f86bd Add response schema for vercel ai sonnet 4.5 2026-02-09 17:07:36 +05:30
Sameer KankuteandGitHub 493eaa6200 Merge pull request #20748 from BerriAI/litellm_anthropic_output_config
Add output_config as supported param
2026-02-09 17:04:08 +05:30
Sameer KankuteandGitHub a322db02ab Merge pull request #20696 from BerriAI/litellm_oss_staging_02_08_2026
Litellm oss staging 02 08 2026
2026-02-09 16:59:54 +05:30
Sameer KankuteandGitHub 285c00ac20 Merge pull request #20710 from tsachis/fix-video-list-pagination-id-encoding
Fix video list pagination cursors not encoded with provider metadata
2026-02-09 16:41:52 +05:30
Sameer Kankute 1b2278951d Add output_config as supported param 2026-02-09 16:39:21 +05:30
Sameer KankuteandGitHub f929461fc6 Merge pull request #20702 from emerzon/fix/issue-20698-stream-chunk-thinking-blocks
fix(streaming): preserve interleaved thinking/redacted_thinking blocks
2026-02-09 16:32:43 +05:30
Sameer Kankute 6c4d6bb15e Add new vercel ai anthropic models 2026-02-09 16:00:01 +05:30
Sameer KankuteandGitHub a924a07255 Merge pull request #20736 from CAFxX/verificationtoken-index
add missing indexes on VerificationToken table
2026-02-09 14:37:51 +05:30
Carlo Alberto Ferraris 248fe65736 add missing indexes on VerificationToken table 2026-02-09 16:59:28 +09:00
Sameer Kankute 319453d059 Add documentation for Fast Mode 2026-02-09 11:39:35 +05:30
Sameer Kankute c3b1c0a590 Add fast mode for other providers 2026-02-09 11:36:10 +05:30
Sameer Kankute b822e2e0ff Add support for fast param 2026-02-09 11:28:00 +05:30
Sameer Kankute 29e6efade9 Add inference_geo as supported messages param 2026-02-09 10:57:04 +05:30
Sameer Kankute 20440bcadc Add inference based costing 2026-02-09 10:51:50 +05:30
Sameer Kankute 3307f3d1c6 Add inference_geo as supported messages param 2026-02-09 10:47:13 +05:30
Sameer Kankute d41df6053a Add all new feat for v1/messages 2026-02-09 10:35:11 +05:30
Sameer Kankute 8cd8a01d5a Add compaction for vertex ai 2026-02-09 10:18:19 +05:30
Sameer KankuteandGitHub aaa48f8ad2 Merge pull request #20712 from emerzon/fix/responses-tool-call-delta-index-mapping
fix(responses): preserve tool call argument deltas when streaming id is omitted
2026-02-09 08:43:04 +05:30
Emerson Gomes cf17a440cd fix(responses): guard ambiguous tool-call index reuse 2026-02-08 08:53:17 -06:00
Emerson Gomes 68d788c84d fix(responses): preserve streamed tool deltas when id is omitted 2026-02-08 08:48:39 -06:00
tshushanandClaude Opus 4.6 381c3756f4 Fix video list pagination cursors not encoded with provider metadata
first_id and last_id in the video list response were returned as raw
provider IDs while data[].id was properly wrapped with
encode_video_id_with_provider(). This caused pagination to break when
clients passed unencoded cursors back as the `after` parameter.

- Encode first_id/last_id in transform_video_list_response
- Decode the `after` param in transform_video_list_request via
  extract_original_video_id()
- Add 6 unit tests covering encoding, decoding, passthrough, and
  full round-trip pagination

Fixes #20708

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 16:24:14 +02:00
Emerson Gomes c63d5fa0b5 test(streaming): build thinking chunks with typed Delta/StreamingChoices 2026-02-08 05:08:50 -06:00
Emerson Gomes f7d03f8a43 fix(streaming): preserve interleaved thinking/redacted blocks 2026-02-08 05:04:47 -06:00
Elias Högbom AronssonandGitHub 0458e734b2 fix(vertex_ai): propagate extra_headers anthropic-beta to request body (#20666)
Vertex AI requires Anthropic beta flags in the request body
(anthropic_beta array), not as HTTP headers. The Bedrock handler
already extracts user-specified beta headers from the headers dict,
but the Vertex handler was missing this, causing extra_headers like
interleaved-thinking-2025-05-14 to be silently dropped.

This extracts anthropic-beta values from optional_params extra_headers
and merges them into the anthropic_beta request body field, and also
removes extra_headers from the request body since the parent's
transform_request spreads optional_params into data.
2026-02-07 23:05:17 -08:00
c9c6a5edc9 Fix: Spend logs pickle error with Pydantic models and redaction (#20685)
* docs: add callback registration optimization to v1.81.9 release notes (#20681)

* docs: add callback registration optimization to v1.81.9 release notes

* Update v1.81.9.md

---------

Co-authored-by: Alexsander Hamir <alexsanderhamirgomesbaptista@gmail.com>

* Fix spend logs pickle error with Pydantic models

Replace copy.deepcopy() with Pydantic-safe serialization to avoid
"cannot pickle '_thread.RLock' object" errors when request/response
redaction is enabled.

Changes:
- Add _convert_to_json_serializable_dict() helper that uses
  model_dump() for Pydantic models instead of pickle
- Replace copy.deepcopy() calls in request and response redaction
  paths with the new helper function
- Recursively handles nested dicts, lists, and Pydantic models

Root cause: Pydantic v2 BaseModel instances contain internal
_thread.RLock objects for thread-safety. When copy.deepcopy()
attempts to pickle these objects, it fails because threading
primitives cannot be pickled.

Fixes #20647

* chore: remove unused copy import

Remove unused copy import that was causing lint failure. The copy.deepcopy()
calls were replaced with _convert_to_json_serializable_dict() helper function
in the previous commit, making the copy module no longer needed.

---------

Co-authored-by: ryan-crabbe <128659760+ryan-crabbe@users.noreply.github.com>
Co-authored-by: Alexsander Hamir <alexsanderhamirgomesbaptista@gmail.com>
2026-02-07 23:02:29 -08:00
Varun ChawlaandGitHub c8d9547095 fix(ui): add null guard for models in API keys table (#20655)
The VirtualKeysTable crashed when rendering keys with null or undefined
models field. The className expression tried to access .length on null,
throwing a TypeError that broke the entire keys table.

Added Array.isArray() guard before accessing .length on the models value.

Fixes #20611
2026-02-07 23:00:33 -08:00
Varun ChawlaandGitHub 7335965c12 fix: show error details instead of Data Not Available for failed requests (#20656) 2026-02-07 22:59:49 -08:00
John LathouwersandGitHub 8dcd183013 Fixes #20582 (#20663) 2026-02-07 22:58:59 -08:00
Varun ChawlaandGitHub 4f96a3b126 Fix Bedrock Claude Opus 4.6 model ID format (#20671)
Remove incorrect `:0` suffix from regional Bedrock model identifiers:
- us.anthropic.claude-opus-4-6-v1:0 → us.anthropic.claude-opus-4-6-v1
- au.anthropic.claude-opus-4-6-v1:0 (duplicate removed)

The `:0` suffix is invalid for Bedrock inference profile ARNs and causes
"The provided model identifier is invalid" errors when calling the model.

Fixes #20562
2026-02-07 22:57:59 -08:00
Cesar GarciaandGitHub 1fecae0399 docs: add SDK proxy authentication (OAuth2/JWT auto-refresh) documentation (#20680)
Adds documentation for the litellm.proxy_auth feature that automatically
obtains and refreshes OAuth2/JWT tokens when connecting to a LiteLLM Proxy.
2026-02-07 22:57:04 -08:00
nuernberandGitHub 55a89f279f feat: add support for anthropic_messages call type in prompt caching (#19233)
* feat: add support for anthropic_messages call type in prompt caching

* test: move anthropic_messages prompt caching test to main router test file

* add tutorial on using claude code with prompt cache routing
2026-02-07 22:51:06 -08:00
jwang-gifandGitHub c9df996b77 Add team policy mapping for zguard (#20608)
* support policy mapping on team key level

* update document

* update document

* address comments

* update document

* add unit test for new feature

* add more test case
2026-02-07 22:44:17 -08:00
Harshit JainandGitHub 7f93ff9e83 fix: add hook to handle db case (#20635) 2026-02-07 22:42:19 -08:00
Iver JordalandGitHub de11c3258b Correct ElevenLabs support status in README (#20643)
Add a missing check symbol for /audio/transcriptions, which seems to be supported already, according to the docs at https://docs.litellm.ai/docs/providers/elevenlabs
2026-02-07 22:29:07 -08:00
Harshit JainandGitHub 3b043ee8bf fix critical CVE vulnerabliltes (#20683) 2026-02-07 22:23:01 -08:00
Varun ChawlaandGitHub e24ea2897a fix: empty guardrails/policies arrays should not trigger enterprise license check (#20567)
* fix: empty guardrails/policies arrays should not trigger enterprise license check (#20304)

The UI sends empty arrays for enterprise-only fields (guardrails, policies,
logging) even when the user has not configured these features. The backend
`is not None` check treated `[]` as a truthy intent to use the feature,
falsely requiring an enterprise license for basic team operations.

Backend: Add `and updated_kv[field] != [] and updated_kv[field] != {}`
guards in `_update_metadata_fields` so empty collections are skipped.

UI: Conditionally omit guardrails, logging, and policies from the
payload when empty instead of defaulting to `[]`.

Fixes #20304

* fix: allow clearing fields with empty collections while skipping enterprise check

Address PR review feedback:

1. Move the empty-collection guard into _update_metadata_field (singular)
   so that empty lists/dicts skip only the premium license check but still
   get written into metadata. This lets users intentionally clear a
   previously-set field (e.g. guardrails: []) without being blocked, while
   the UI's default empty arrays still don't trigger a false enterprise
   error.

2. Remove sys.path hack from test file; use standard imports that work
   with pytest discovery.

3. Add tests verifying that empty collections are moved into metadata
   (field clearing works) even though they bypass the premium check.

Fixes #20304
2026-02-07 22:22:12 -08:00
yuneng-jiangandGitHub fb9f997dc1 Merge pull request #20687 from BerriAI/litellm_ui_minor_issues
[Refactor] AntD refactoring and 0 cost models fix
2026-02-07 18:09:04 -08:00
yuneng-jiang 7798d52cd4 truncate filter options 2026-02-07 18:04:35 -08:00
yuneng-jiang 53cf43dff6 fallback to team id and truncate 2026-02-07 18:04:10 -08:00
yuneng-jiangandGitHub 5dd84df215 Merge pull request #20682 from BerriAI/litellm_avail_teams
[Fix] UI - Teams: Available Teams
2026-02-07 17:58:25 -08:00
ryan-crabbeandGitHub f39c1e9045 docs: add middleware performance blog post (#20677)
* docs: add middleware performance blog post

* docs: add Krrish, Ishaan, and author details to middleware blog post
2026-02-07 17:36:53 -08:00
yuneng-jiang 6fad659ae2 Migrate to antd + fix cost to 0 costs models 2026-02-07 17:28:55 -08:00
94db421e67 docs: add callback registration optimization to v1.81.9 release notes (#20681)
* docs: add callback registration optimization to v1.81.9 release notes

* Update v1.81.9.md

---------

Co-authored-by: Alexsander Hamir <alexsanderhamirgomesbaptista@gmail.com>
2026-02-07 17:09:45 -08:00
yuneng-jiang 78f28d7c30 adding test 2026-02-07 16:46:11 -08:00
yuneng-jiang 70ebdeec8b modernize /team/available endpoint, migrate link to UI 2026-02-07 16:44:29 -08:00
yuneng-jiangandGitHub 5a084cef41 Merge pull request #20657 from BerriAI/litellm_ui_logs_request
[Fix] UI - Logs: Input and Output Copying
2026-02-07 16:19:32 -08:00
yuneng-jiangandGitHub 9fd887b843 Merge pull request #20678 from BerriAI/litellm_ui_refactor_05
[Refactor] Add knip and removed some unused files
2026-02-07 16:06:31 -08:00
Ishaan Jaffer d8528fbfdb docs fix 2026-02-07 16:00:28 -08:00