Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
7614 commits
Select commit Hold shift + click to select a range
077cfa8
Adding test
yuneng-jiang Jan 28, 2026
dbd1ff3
Fixing build
yuneng-jiang Jan 28, 2026
5135efb
fix pypdf: >=6.6.2
ishaan-jaff Jan 28, 2026
054918e
Merge pull request #19918 from BerriAI/litellm_ui_spend_logs_store
yuneng-jiang Jan 28, 2026
3ef475b
[Fix] A2a Gateway - Allow supporting old A2a card formats (#19949)
ishaan-jaff Jan 28, 2026
cb8ead6
Add error_message search in spend logs endpoint
yuneng-jiang Jan 28, 2026
0cdfa8e
Adding Error message search to ui spend logs
yuneng-jiang Jan 28, 2026
cccda30
Merge pull request #19960 from BerriAI/litellm_ui_spend_logs_error_me…
yuneng-jiang Jan 29, 2026
c4daa39
fix
ishaan-jaff Jan 29, 2026
3816570
fix(presidio): reuse HTTP connections to prevent OOMs (#19964)
AlexsanderHamir Jan 29, 2026
d12ce3c
[Fix] VertexAI Pass through - fix regression that caused vertex ai pa…
ishaan-jaff Jan 29, 2026
a785eec
fix Prompt Studio history to load tools and system messages (#19920)
naaa760 Jan 29, 2026
92f9d8f
Reusable Table Sort Component
yuneng-jiang Jan 29, 2026
e905667
Fixing sorting API calls
yuneng-jiang Jan 29, 2026
69bd442
[Release Day] - Fixed CI/CD issues & changed processes (#19902)
AlexsanderHamir Jan 29, 2026
dcca8c7
[Feat] - Search API add /list endpoint to list what search tools exis…
ishaan-jaff Jan 29, 2026
632e8cf
Merge pull request #19970 from BerriAI/litellm_ui_column_sort_component
yuneng-jiang Jan 29, 2026
58dd3bd
fixing sorting for v2/model/info
yuneng-jiang Jan 29, 2026
e796b9e
Merge pull request #19963 from BerriAI/litellm_ui_spend_logs_em_search
yuneng-jiang Jan 29, 2026
9c5fed4
[Feat] LiteLLM Vector Stores - Add permission management for users, t…
ishaan-jaff Jan 29, 2026
562f0a0
feat: Add new OpenRouter models: `xiaomi/mimo-v2-flash`, `z-ai/glm-4.…
rushilchugh01 Jan 29, 2026
be8a76f
fix gemini gemini-robotics-er-1.5-preview entry
Sameerlite Jan 29, 2026
2a1bfd3
Merge pull request #19974 from BerriAI/litellm_model_map_fix_jan_29
Sameerlite Jan 29, 2026
8a26033
fix(vertex_ai): convert image URLs to base64 in tool messages for Ant…
Chesars Jan 29, 2026
8e2fa79
Fix/router search tools v2 (#19840)
Harshit28j Jan 29, 2026
20bab33
removing _experimental out routes from gitignore
yuneng-jiang Jan 29, 2026
12a4d14
chore: update Next.js build artifacts (2026-01-29 04:12 UTC, node v22…
yuneng-jiang Jan 29, 2026
507f4c4
Merge pull request #19976 from BerriAI/ui_build_yj_2
yuneng-jiang Jan 29, 2026
f2d2ed5
Merge pull request #19953 from BerriAI/litellm_key_alias_spend_usage_…
yuneng-jiang Jan 29, 2026
833cf6a
Fix: Batch cancellation ownership bug
Sameerlite Jan 29, 2026
c7453c0
Fix stream_chunk_builder to preserve images from streaming chunks (#1…
Chesars Jan 29, 2026
2a48d12
fix(docker): add libsndfile to main Dockerfile for ARM64 audio proces…
Chesars Jan 29, 2026
70684ca
Fix File access permissions for .retreive and .delete
Sameerlite Jan 29, 2026
654edbd
Fix Only allowed to call routes: ['llm_api_routes']. Tried to call ro…
Sameerlite Jan 29, 2026
dcf5f07
fix(proxy): add datadog_llm_observability to /health/services allowed…
michelligabriele Jan 29, 2026
ba17f51
fix(proxy): prevent provider-prefixed model leaks (#19943)
bcdonadio Jan 29, 2026
87bdfb0
fix(hosted_vllm): route through base_llm_http_handler to support ssl_…
cfchase Jan 29, 2026
d4031c8
Add OpenRouter Kimi K2.5 (#19872)
ayim Jan 29, 2026
8966852
Fix: Encoding cancel batch response
Sameerlite Jan 29, 2026
fa2b065
Add tests for user level permissions on file and batch access
Sameerlite Jan 29, 2026
d3b2afb
Fix: mypy errors
Sameerlite Jan 29, 2026
98ae6dc
Fix lint issues
Sameerlite Jan 29, 2026
4b385e5
Add litellm metadata correctly for file create
Sameerlite Jan 29, 2026
fce2635
Add cost tacking and usage info in call_type=aretrieve_batch
Sameerlite Jan 29, 2026
5270aa5
Add custom_llm_provider as gemini translation
Sameerlite Jan 29, 2026
8808e4d
Add /openai_passthrough route for openai passthrough requests:
Sameerlite Jan 29, 2026
fa80dc6
Add test to check if model map is corretly formatted
Sameerlite Jan 29, 2026
6997ee8
Merge pull request #19992 from BerriAI/litellm_add_model_map_test
Sameerlite Jan 29, 2026
5dea545
Intentional bad model map
Sameerlite Jan 29, 2026
39dea34
Add Validate model_prices_and_context_window.json job
Sameerlite Jan 29, 2026
b0dec49
Remove validate job from lint
Sameerlite Jan 29, 2026
3503491
Merge pull request #19993 from BerriAI/litellm_add_model_map_test
Sameerlite Jan 29, 2026
f55ed3f
Intentional bad model map
Sameerlite Jan 29, 2026
0beaec0
Intentional bad model map
Sameerlite Jan 29, 2026
45867ba
Correct model map path
Sameerlite Jan 29, 2026
4aa786b
Merge pull request #19994 from BerriAI/litellm_add_model_map_test
Sameerlite Jan 29, 2026
ef15861
Fix: litellm_fix_robotic_model_map_entry
Sameerlite Jan 29, 2026
a2fd56f
Merge pull request #19997 from BerriAI/litellm_fix_robotic_model_map_…
Sameerlite Jan 29, 2026
df07297
Merge branch 'main' into litellm_oss_staging_01_28_2026
Sameerlite Jan 29, 2026
bd4918c
Merge pull request #19906 from BerriAI/litellm_oss_staging_01_28_2026
Sameerlite Jan 29, 2026
7c4577b
Merge pull request #19988 from BerriAI/litellm_gemini_robotics_llm_pr…
Sameerlite Jan 29, 2026
fa54c24
Fix max_input_tokens for gpt-5.2-codex
genga6 Jan 29, 2026
8b6bcfc
fix(gemini): support file retrieval in GoogleAIStudioFilesHandler
Jan 29, 2026
bc23a97
Merge pull request #19971 from BerriAI/litellm_v2_model_info_sorting_fix
yuneng-jiang Jan 29, 2026
42081a5
Merge pull request #19886 from BerriAI/litellm_bulk_edit_keys
yuneng-jiang Jan 29, 2026
158e1e3
error_code in spend logs error metadata
yuneng-jiang Jan 29, 2026
d081e01
Show spend logs settings + allow delete of rentention period
yuneng-jiang Jan 29, 2026
e080f92
Adding tests
yuneng-jiang Jan 29, 2026
96cb2ef
Adding proxy_server
yuneng-jiang Jan 29, 2026
3c02abb
Merge pull request #20015 from BerriAI/litellm_logs_error_code
yuneng-jiang Jan 29, 2026
f3515b7
Merge pull request #20017 from BerriAI/litellm_ui_spendlogs_setting_hook
yuneng-jiang Jan 29, 2026
74297a9
sync: merge upstream/main for v1.81.0-stable
Jan 29, 2026
6b77060
Adjusting new badges
yuneng-jiang Jan 29, 2026
ca8056f
Merge remote-tracking branch 'origin' into litellm_new_badge_dot
yuneng-jiang Jan 29, 2026
5cd482c
Adding tests
yuneng-jiang Jan 29, 2026
f782a2a
Merge pull request #20024 from BerriAI/litellm_new_badge_dot
yuneng-jiang Jan 29, 2026
12f5824
Add event-driven coordination for global spend query to prevent cache…
AlexsanderHamir Jan 30, 2026
81e8a12
Allow config embedding models
yuneng-jiang Jan 30, 2026
0b6bacb
adding tests
yuneng-jiang Jan 30, 2026
f7e1a22
[Feat] New Model - amazon.nova-2-pro-preview-20251202-v1:0 (#20033)
ishaan-jaff Jan 30, 2026
476f0b2
[Feat] LiteLLM x Claude Agent SDK Integration (#20035)
ishaan-jaff Jan 30, 2026
c9658f8
[Docs] Claude Agents SDK x LiteLLM Guide (#20036)
ishaan-jaff Jan 30, 2026
c976835
sync: merge upstream/main for v1.81.0-stable
Jan 30, 2026
aa75bec
Model Usage per key
yuneng-jiang Jan 30, 2026
19b6c44
adding tests
yuneng-jiang Jan 30, 2026
8fcdf61
fix: run prisma generate as nobody user in non-root container (#20000)
milan-berri Jan 30, 2026
c509ffc
Merge pull request #20042 from BerriAI/main
Sameerlite Jan 30, 2026
eb50c78
Merge branch 'main' into litellm_oss_staging_01_29_2026
Sameerlite Jan 30, 2026
e95b9b8
fix(ResponseAPILoggingUtils): extract input tokens details as dict
nht1206 Jan 30, 2026
b0b4362
Merge pull request #19989 from BerriAI/litellm_add_passthrough_openai…
Sameerlite Jan 30, 2026
dbc8006
Add routing of xai chat completions to responses when web search opti…
Sameerlite Jan 30, 2026
11c2160
Add web search tests
Sameerlite Jan 30, 2026
5ac3f75
Add disable flahg for anthropic gemini cache translation
Sameerlite Jan 30, 2026
3c451e9
fix aspectRatio mapping
Sameerlite Jan 30, 2026
78dd4b2
feat: add /delete endpoint support for gemini
Sameerlite Jan 30, 2026
ed4c71e
Merge pull request #20018 from varunsripad123/fix/google-files-retrieval
Sameerlite Jan 30, 2026
ab8b459
Merge pull request #20046 from nht1206/bugfix/input-tokens-details-no…
Sameerlite Jan 30, 2026
fdb4b54
Merge pull request #20009 from genga6/fix/#20006-update-max-input-tok…
Sameerlite Jan 30, 2026
55348dd
Fix: vllm embedding format
Sameerlite Jan 30, 2026
a805426
Merge pull request #19975 from BerriAI/litellm_oss_staging_01_29_2026
Sameerlite Jan 30, 2026
51747ee
Merge pull request #20055 from BerriAI/litellm_files_gemini_endpoints…
Sameerlite Jan 30, 2026
cfc9c77
Merge pull request #19981 from BerriAI/litellm_fix_batches_permissions
Sameerlite Jan 30, 2026
8d485f2
Merge pull request #19986 from BerriAI/litellm_batch_cost_tracking_jan29
Sameerlite Jan 30, 2026
404c33e
Merge pull request #20051 from BerriAI/litellm_xai_web_search_routing
Sameerlite Jan 30, 2026
8b9d501
Merge pull request #20052 from BerriAI/litllm_disable_cache_jan_29
Sameerlite Jan 30, 2026
5277a0c
Merge pull request #20053 from BerriAI/litellm_gemini_edit_jan_30
Sameerlite Jan 30, 2026
1877483
Merge pull request #20056 from BerriAI/litellm_vllm_embedding
Sameerlite Jan 30, 2026
8363a26
Fix: remove unsupported prompt-caching-scope-2026-01-05 header for ve…
Sameerlite Jan 30, 2026
6e92103
Merge pull request #20058 from BerriAI/litellm_vertex_ai_prompt-cachi…
Sameerlite Jan 30, 2026
c301339
Merge pull request #20039 from BerriAI/litellm_ui_key_model_bd
yuneng-jiang Jan 30, 2026
0acfcb4
Add mock client factory pattern and mock support for PostHog, Helicon…
AlexsanderHamir Jan 30, 2026
3910161
Realtime API benchmarks (#20074)
ishaan-jaff Jan 30, 2026
481bb4b
fixes: ci pipeline router coverage failure (#20065)
Harshit28j Jan 30, 2026
974837c
fix: working claude code with agent SDKs (#20081)
ishaan-jaff Jan 30, 2026
6897d5f
[Feat] Add async_post_call_response_headers_hook to CustomLogger (#20…
ishaan-jaff Jan 30, 2026
1f5b875
Add WATSONX_ZENAPIKEY
yuneng-jiang Jan 30, 2026
a11b043
fix(proxy): resolve high CPU when router_settings in DB by avoiding R…
AlexsanderHamir Jan 30, 2026
8b7a925
v0 - looks decen view
ishaan-jaff Jan 30, 2026
f07ef8a
refactored code
ishaan-jaff Jan 30, 2026
5f07635
fix ui
ishaan-jaff Jan 30, 2026
2014bcf
fixes ui
ishaan-jaff Jan 30, 2026
61bb51d
complete v2 viewer
ishaan-jaff Jan 30, 2026
437e9e2
fix drawer
ishaan-jaff Jan 30, 2026
ad1b48a
Revert logs view commits to recreate with clean history (#20090)
ishaan-jaff Jan 31, 2026
3e8e1de
update image and bounded logo in navbar
yuneng-jiang Jan 31, 2026
b64cd31
Merge pull request #20092 from BerriAI/litellm_user_dropdown
yuneng-jiang Jan 31, 2026
0942f98
refactoring user dropdown
yuneng-jiang Jan 31, 2026
267993b
Merge pull request #20095 from BerriAI/litellm_user_dropdown_v2
yuneng-jiang Jan 31, 2026
2ce87a3
new utils
ishaan-jaff Jan 31, 2026
e2f7b10
address feedback
ishaan-jaff Jan 31, 2026
5345a76
[Feat] v2 - Logs view with side panel and improved UX (#20091)
ishaan-jaff Jan 31, 2026
b8e2ac4
Delete resource modal dark mode
yuneng-jiang Jan 31, 2026
1cd83e9
[Feat] UI - New View to render "Tools" on Logs View (#20093)
ishaan-jaff Jan 31, 2026
4abae44
[Feat] UI - Add Pretty print view of request/response (#20096)
ishaan-jaff Jan 31, 2026
87c1e6f
remove md
ishaan-jaff Jan 31, 2026
d012677
fixed mcp tools instructions on ui to show comma seprated str instead…
shivamrawat1 Jan 31, 2026
0edd50f
docs: cleanup docs
krrishdholakia Jan 29, 2026
3f1bda5
Merge pull request #20101 from BerriAI/ui-mcp-list-tools-instructions…
shivamrawat1 Jan 31, 2026
08e4d06
litellm_fix: add missing timezone import to proxy_server.py (#20121)
shin-bot-litellm Jan 31, 2026
4029f61
fix(proxy): reduce PLR0915 complexity in base_process_llm_request (#2…
shin-bot-litellm Jan 31, 2026
8e69c2e
litellm_fix(ui): remove unused ToolOutlined import (#20129)
shin-bot-litellm Jan 31, 2026
ecd0202
litellm_fix(e2e): disable bedrock-converse-claude-sonnet-4.5 model in…
shin-bot-litellm Jan 31, 2026
013b470
litellm_fix(test): fix Azure AI cost calculator test - use Logging cl…
shin-bot-litellm Jan 31, 2026
14a5706
litellm_fix(test): fix Bedrock tool search header test regression (#2…
shin-bot-litellm Jan 31, 2026
7db4594
litellm_fix(test): allow comment field in schema and exclude robotics…
shin-bot-litellm Jan 31, 2026
1c757de
litellm_docs: add missing environment variable documentation (#20138)
shin-bot-litellm Jan 31, 2026
395ad9b
litellm_fix(test): add acancel_batch to Azure SDK client initializati…
shin-bot-litellm Jan 31, 2026
10194d9
litellm_fix: handle unknown models in Azure AI cost calculator (#20150)
shin-bot-litellm Jan 31, 2026
e35e650
litellm_fix(test): fix router silent experiment tests to properly moc…
shin-bot-litellm Jan 31, 2026
b366335
Merge pull request #20098 from BerriAI/litellm_ui_dark_mode_2
yuneng-jiang Jan 31, 2026
c4a2745
Merge pull request #20031 from BerriAI/litellm_new_badge_dot
yuneng-jiang Jan 31, 2026
ae2cf71
Merge pull request #20086 from BerriAI/litellm_watsonx_inte_fix
yuneng-jiang Jan 31, 2026
87b4da4
chore: update Next.js build artifacts (2026-01-31 17:20 UTC, node v22…
yuneng-jiang Jan 31, 2026
f2cb31a
Merge pull request #20154 from BerriAI/ui_build_yj_jan_31
yuneng-jiang Jan 31, 2026
2f6d18e
fix(proxy): use get_async_httpx_client for logo download (#20155)
shin-bot-litellm Jan 31, 2026
d5bc80b
fix(datadog): check for agent mode before requiring DD_API_KEY/DD_SIT…
shin-bot-litellm Jan 31, 2026
1b43814
litellm_fix: handle empty dict for web_search_options in Nova groundi…
shin-bot-litellm Jan 31, 2026
6c497d2
fix(mypy): fix type errors in files, opentelemetry, gemini transforma…
shin-bot-litellm Jan 31, 2026
2780e2f
litellm_fix(test): update Prometheus metric test assertions with new …
shin-bot-litellm Jan 31, 2026
fea4092
test: remove hosted_vllm from OpenAI client tests (#20163)
shin-bot-litellm Jan 31, 2026
ea01163
litellm_fix: bump litellm-proxy-extras version to 0.4.28 (#20166)
shin-bot-litellm Jan 31, 2026
5434b66
litellm_fix(mypy): fix remaining type errors (#20164)
shin-bot-litellm Jan 31, 2026
df042f7
litellm_fix(security): allowlist Next.js CVEs for 7 days (#20169)
shin-bot-litellm Jan 31, 2026
244c80a
litellm_fix(router): use safe_deep_copy in _get_silent_experiment_kwa…
shin-bot-litellm Jan 31, 2026
3fa7ab1
docs(embeddings): add supported input formats section (#20073)
Chesars Jan 31, 2026
df7ea19
fix proxy extras pip
ishaan-jaff Jan 31, 2026
4bf4e79
fix gemini files
ishaan-jaff Jan 31, 2026
d53ef30
fix EventDrivenCacheCoordinator
ishaan-jaff Jan 31, 2026
3759ea2
test_increment_top_level_request_and_spend_metrics
ishaan-jaff Jan 31, 2026
05552b5
fix typing
ishaan-jaff Jan 31, 2026
08271a8
fix transform_retrieve_file_response
ishaan-jaff Jan 31, 2026
f508a99
fix linting
ishaan-jaff Jan 31, 2026
54a3838
fix mcp linting
ishaan-jaff Jan 31, 2026
9fe0819
_add_web_search_tool
ishaan-jaff Jan 31, 2026
8b575f4
test_bedrock_nova_grounding_web_search_options_non_streaming
ishaan-jaff Jan 31, 2026
e6c1a65
add _is_bedrock_tool_block
ishaan-jaff Jan 31, 2026
36dfa0f
fix MCP client
ishaan-jaff Jan 31, 2026
41ec820
fix files
ishaan-jaff Jan 31, 2026
14f31a0
litellm_fix(lint): remove unused ToolNameValidationResult imports (#2…
shin-bot-litellm Jan 31, 2026
bcc05a6
litellm_fix(azure): Fix acancel_batch not using Azure SDK client init…
shin-bot-litellm Jan 31, 2026
a002907
fix tar security issue with TAR
ishaan-jaff Jan 31, 2026
c9261c9
fix model name during fallback
yuneng-jiang Jan 31, 2026
a81af9a
Merge pull request #20177 from BerriAI/litellm_global_fallback_fix
yuneng-jiang Jan 31, 2026
280e8a9
test_get_image_non_root_uses_var_lib_assets_dir
ishaan-jaff Jan 31, 2026
f1b16d2
test_delete_vector_store_checks_access
ishaan-jaff Jan 31, 2026
66c7233
test_get_session_iterator_thread_safety
ishaan-jaff Jan 31, 2026
b7c4599
Fix health endpoints
yuneng-jiang Jan 31, 2026
ac1459e
Merge pull request #20182 from BerriAI/litellm_ui_health_checks
yuneng-jiang Jan 31, 2026
852ea7d
_prepare_vertex_auth_headers
ishaan-jaff Jan 31, 2026
38f5ae8
test_budget_reset_and_expires_at_first_of_month
ishaan-jaff Jan 31, 2026
5bd5df3
fix(test): add router.acancel_batch coverage (#20183)
shin-bot-litellm Jan 31, 2026
65fb18b
fix(mypy): fix validate_tool_name return type signatures (#20184)
shin-bot-litellm Jan 31, 2026
586b041
fix(test): update test_chat_completion to handle metadata in body
shin-bot-litellm Jan 31, 2026
dff7f83
fix(proxy): resolve 'multiple values for keyword argument' in batch c…
shin-bot-litellm Jan 31, 2026
f9fbffa
ci(security): allowlist GHSA-34x7-hfp2-rc4v (node-tar hardlink)
shin-bot-litellm Jan 31, 2026
d9da49b
fix(mypy): add type: ignore for conditional function variants in MCP …
shin-bot-litellm Jan 31, 2026
d038341
fix: make cache updates synchronous for budget enforcement
shin-bot-litellm Jan 31, 2026
db120c5
fix(test): accept both AuthenticationError and InternalServerError in…
shin-bot-litellm Jan 31, 2026
2e6659d
test_embedding fix
ishaan-jaff Jan 31, 2026
a4acf81
fix bedrock-nova-premier
ishaan-jaff Jan 31, 2026
54286fc
Revert "fix: make cache updates synchronous for budget enforcement"
ishaan-jaff Jan 31, 2026
e2475f4
fix(test): correct prompt_tokens in test_string_cost_values (#20185)
shin-bot-litellm Jan 31, 2026
671fd84
fix: bedrock-converse-claude-sonnet-4.5
ishaan-jaff Jan 31, 2026
c7522e3
fix: stabilize CI tests - routes and bedrock config
ishaan-jaff Jan 31, 2026
47efa33
sync: generator client
ishaan-jaff Jan 31, 2026
a92b938
add LiteLLM_ManagedVectorStoresTable_user_id_idx
ishaan-jaff Jan 31, 2026
82383cd
docs/blog index page (#20188)
ryan-crabbe Jan 31, 2026
af015fe
UI spend logs setting docs
yuneng-jiang Jan 31, 2026
7e5e626
bump extras
ishaan-jaff Jan 31, 2026
543e85a
Merge pull request #20197 from BerriAI/spend_logs_docs
yuneng-jiang Jan 31, 2026
94d5036
fix fake-openai-endpoint
ishaan-jaff Jan 31, 2026
93dfac7
doc fix
yuneng-jiang Jan 31, 2026
d897c5e
fix team budget checks
ishaan-jaff Jan 31, 2026
0bf471b
Merge pull request #20198 from BerriAI/spend_logs_docs
yuneng-jiang Jan 31, 2026
427d8f4
bump: version 1.81.5 β†’ 1.81.6
ishaan-jaff Jan 31, 2026
37a45a3
litellm_fix_mapped_tests_core: clear client cache and fix isinstance …
shin-bot-litellm Jan 31, 2026
0c785b3
test_chat_completion_low_budget
ishaan-jaff Feb 1, 2026
ecb725f
fix: delete_file
ishaan-jaff Feb 1, 2026
01b96f1
fixes
ishaan-jaff Feb 1, 2026
3a3576d
fix: update test_prometheus to expect masked user_id in metrics
ishaan-jaff Feb 1, 2026
8a57ee5
docs fix
ishaan-jaff Feb 1, 2026
76407bc
feat(bedrock): add base cache costs for sonnet v1 (#20214)
cscguochang Feb 1, 2026
93a0631
docs: fix dead links in v1.81.6 release notes (#20218)
shin-bot-litellm Feb 1, 2026
bb3c2a9
fix(test): update test_prometheus with masked user_id and missing labels
ishaan-jaff Feb 1, 2026
0c00679
litellm_fix_mapped_tests_core: fix test isolation and mock injection …
shin-bot-litellm Feb 1, 2026
35e29c2
Revert "Merge pull request #18790 from BerriAI/litellm_key_team_routi…
ishaan-jaff Feb 1, 2026
faff9d1
test_proxy_failure_metrics
ishaan-jaff Feb 1, 2026
92c8e00
test_proxy_success_metrics
ishaan-jaff Feb 1, 2026
466e6bd
fix(test): make test_proxy_failure_metrics resilient to missing proxy…
ishaan-jaff Feb 1, 2026
b7e48f1
test fix
ishaan-jaff Feb 1, 2026
df387c3
docs: Update v1.81.6 release notes - focus on Logs v2 with Tool Call …
shin-bot-litellm Feb 1, 2026
f0853b2
feat: enhance Cohere embedding support with additional parameters and…
amirzaushnizer Feb 1, 2026
c13cb4c
Merge pull request #20235 from amirzaushnizer/litellm-support-cohere-…
Sameerlite Feb 2, 2026
1a7fcfb
Merge pull request #19881 from jayy-77/feat/user-agent-customization-…
Sameerlite Feb 2, 2026
6f2dc19
Merge pull request #20214 from cscguochang/feat/bedrock-1hr-tiered-ca…
Sameerlite Feb 2, 2026
c6f178e
Update Vertex AI Text to Speech doc to show use of audio
Sameerlite Feb 2, 2026
15cec5a
Merge pull request #20255 from BerriAI/litellm_tts_doc
Sameerlite Feb 2, 2026
c082f4c
sync: merge upstream/main for v1.81.0-stable
Feb 2, 2026
31e39ac
sync: merge v1.81.0-stable tag
Feb 3, 2026
a6681aa
fix: resolve upstream sync conflicts for PR #88
github-actions[bot] Feb 4, 2026
ee80963
fix(carto): restore dropped CARTO customizations
github-actions[bot] Feb 4, 2026
d7b00e5
fix(responses): restore CARTO Redis session patch for conversation co…
mateo-di Feb 5, 2026
c284cde
fix(responses): fix Redis session key mismatch for conversation context
mateo-di Feb 5, 2026
4b459a8
fix: Store Redis sessions for streaming Response API requests
jatorre Aug 7, 2025
9505d65
Handles missing tool call fields
josemaria-vilaplana Dec 12, 2025
29fe48b
fix(oci): restore OCI Gemini tool calling support from PR #68
mateo-di Feb 10, 2026
b7c3c2f
fix(snowflake): restore tool calling and streaming support from PRs #…
mateo-di Feb 10, 2026
c3a56fd
fix(snowflake): prevent URL duplication when api_base contains full C…
mateo-di Feb 11, 2026
682a3c8
chore: trigger CI rebuild for upstream-sync-v1.81.0-stable tag
mateo-di Feb 11, 2026
e5a9894
fix(docker): restore multi-arch builds (AMD64 + ARM64) from PR #90
github-actions[bot] Feb 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
1,330 changes: 1,084 additions & 246 deletions .circleci/config.yml

Large diffs are not rendered by default.

8 changes: 5 additions & 3 deletions .circleci/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,13 @@ redis==5.2.1
redisvl==0.4.1
anthropic
orjson==3.10.12 # fast /embedding responses
pydantic==2.10.2
pydantic==2.11.0
google-cloud-aiplatform==1.43.0
google-cloud-iam==2.19.1
fastapi-sso==0.16.0
uvloop==0.21.0
mcp==1.10.1 # for MCP server
mcp==1.25.0 # for MCP server
semantic_router==0.1.10 # for auto-routing with litellm
fastuuid==0.12.0
fastuuid==0.12.0
responses==0.25.7 # for proxy client tests
pytest-retry==1.6.3 # for automatic test retries
46 changes: 44 additions & 2 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,51 @@ cookbook
.github
tests
.git
.github
.circleci
.devcontainer
*.tgz
log.txt
docker/Dockerfile.*

# Claude Flow generated files (must be excluded from Docker build)
.claude/
.claude-flow/
.swarm/
.hive-mind/
memory/
coordination/
claude-flow
.mcp.json
hive-mind-prompt-*.txt

# Python virtual environments and version managers
.venv/
venv/
**/.venv/
**/venv/
.python-version
.pyenv/
__pycache__/
**/__pycache__/
*.pyc
.mypy_cache/
.pytest_cache/
.ruff_cache/
**/pyvenv.cfg

# Common project exclusions
.vscode
*.pyo
*.pyd
.Python
env/
.pytest_cache
.coverage
htmlcov/
dist/
build/
*.egg-info/
.DS_Store
node_modules/
*.log
.env
.env.local
111 changes: 111 additions & 0 deletions .gitguardian.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
version: 2

secret:
# Exclude files and paths by globbing
ignored_paths:
- "**/*.whl"
- "**/*.pyc"
- "**/__pycache__/**"
- "**/node_modules/**"
- "**/dist/**"
- "**/build/**"
- "**/.git/**"
- "**/venv/**"
- "**/.venv/**"

# Large data/metadata files that don't need scanning
- "**/model_prices_and_context_window*.json"
- "**/*_metadata/*.txt"
- "**/tokenizers/*.json"
- "**/tokenizers/*"
- "miniconda.sh"

# Build outputs and static assets
- "litellm/proxy/_experimental/out/**"
- "ui/litellm-dashboard/public/**"
- "**/swagger/*.js"
- "**/*.woff"
- "**/*.woff2"
- "**/*.avif"
- "**/*.webp"

# Test data files
- "**/tests/**/data_map.txt"
- "tests/**/*.txt"

# Documentation and other non-code files
- "docs/**"
- "**/*.md"
- "**/*.lock"
- "poetry.lock"
- "package-lock.json"

# Ignore security incidents with the SHA256 of the occurrence (false positives)
ignored_matches:
# === Current detected false positives (SHA-based) ===

# gcs_pub_sub_body - folder name, not a password
- name: GCS pub/sub test folder name
match: 75f377c456eede69e5f6e47399ccee6016a2a93cc5dd11db09cc5b1359ae569a

# os.environ/APORIA_API_KEY_1 - environment variable reference
- name: Environment variable reference APORIA_API_KEY_1
match: e2ddeb8b88eca97a402559a2be2117764e11c074d86159ef9ad2375dea188094

# os.environ/APORIA_API_KEY_2 - environment variable reference
- name: Environment variable reference APORIA_API_KEY_2
match: 09aa39a29e050b86603aa55138af1ff08fb86a4582aa965c1bd0672e1575e052

# oidc/circleci_v2/ - test authentication path, not a secret
- name: OIDC CircleCI test path
match: feb3475e1f89a65b7b7815ac4ec597e18a9ec1847742ad445c36ca617b536e15

# text-davinci-003 - OpenAI model identifier, not a secret
- name: OpenAI model identifier text-davinci-003
match: c489000cf6c7600cee0eefb80ad0965f82921cfb47ece880930eb7e7635cf1f1

# Base64 Basic Auth in test_pass_through_endpoints.py - test fixture, not a real secret
- name: Test Base64 Basic Auth header in pass_through_endpoints test
match: 61bac0491f395040617df7ef6d06029eac4d92a4457ac784978db80d97be1ae0

# PostgreSQL password "postgres" in CI configs - standard test database password
- name: Test PostgreSQL password in CI configurations
match: 6e0d657eb1f0fbc40cf0b8f3c3873ef627cc9cb7c4108d1c07d979c04bc8a4bb

# Bearer token in locustfile.py - test/example API key for load testing
- name: Test Bearer token in locustfile load test
match: 2a0abc2b0c3c1760a51ffcdf8d6b1d384cef69af740504b1cfa82dd70cdc7ff9

# Inkeep API key in docusaurus.config.js - public documentation site key
- name: Inkeep API key in documentation config
match: c366657791bfb5fc69045ec11d49452f09a0aebbc8648f94e2469b4025e29a75

# Langfuse credentials in test_completion.py - test credentials for integration test
- name: Langfuse test credentials in test_completion
match: c39310f68cc3d3e22f7b298bb6353c4f45759adcc37080d8b7f4e535d3cfd7f4

# Test password "sk-1234" in e2e test fixtures - test fixture, not a real secret
- name: Test password in e2e test fixtures
match: ce32b547202e209ec1dd50107b64be4cfcf2eb15c3b4f8e9dc611ef747af634f

# === Preventive patterns for test keys (pattern-based) ===

# Test API keys (124 instances across 45 files)
- name: Test API keys with sk-test prefix
match: sk-test-

# Mock API keys
- name: Mock API keys with sk-mock prefix
match: sk-mock-

# Fake API keys
- name: Fake API keys with sk-fake prefix
match: sk-fake-

# Generic test API key patterns
- name: Test API key patterns
match: test-api-key

- name: Short fake sk keys (1–9 digits only)
match: \bsk-\d{1,9}\b

38 changes: 33 additions & 5 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,16 @@ body:
attributes:
value: |
Thanks for taking the time to fill out this bug report!
**πŸ’‘ Tip:** See our [Troubleshooting Guide](https://docs.litellm.ai/docs/troubleshoot) for what information to include.
- type: checkboxes
id: duplicate-check
attributes:
label: Check for existing issues
description: Please search to see if an issue already exists for the bug you encountered.
options:
- label: I have searched the existing issues and checked that my issue is not a duplicate.
required: true
- type: textarea
id: what-happened
attributes:
Expand All @@ -16,20 +26,38 @@ body:
value: "A bug happened!"
validations:
required: true
- type: textarea
id: steps-to-reproduce
attributes:
label: Steps to Reproduce
description: Please provide detailed steps to reproduce this bug(A curl/python code to reproduce the bug)
placeholder: |
1. config.yaml file/ .env file/ etc.
2. Run the following code...
3. Observe the error...
value: |
1.
2.
3.
validations:
required: true
- type: textarea
id: logs
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: shell
- type: dropdown
id: ml-ops-team
id: component
attributes:
label: Are you a ML Ops Team?
description: This helps us prioritize your requests correctly
label: What part of LiteLLM is this about?
options:
- "No"
- "Yes"
- ''
- "SDK (litellm Python package)"
- "Proxy"
- "UI Dashboard"
- "Docs"
- "Other"
validations:
required: true
- type: input
Expand Down
21 changes: 21 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,14 @@ body:
attributes:
value: |
Thanks for making LiteLLM better!
- type: checkboxes
id: duplicate-check
attributes:
label: Check for existing issues
description: Please search to see if an issue already exists for the feature you are requesting.
options:
- label: I have searched the existing issues and checked that my issue is not a duplicate.
required: true
- type: textarea
id: the-feature
attributes:
Expand All @@ -22,6 +30,19 @@ body:
description: Please outline the motivation for the proposal. Is your feature request related to a specific problem? e.g., "I'm working on X and would like Y to be possible". If this is related to another GitHub issue, please link here too.
validations:
required: true
- type: dropdown
id: component
attributes:
label: What part of LiteLLM is this about?
options:
- ''
- "SDK (litellm Python package)"
- "Proxy"
- "UI Dashboard"
- "Docs"
- "Other"
validations:
required: true
- type: dropdown
id: hiring-interest
attributes:
Expand Down
69 changes: 69 additions & 0 deletions .github/carto-features.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# CARTO Features Manifest
#
# Static registry of critical CARTO customizations that must survive upstream syncs.
# The resolver should verify all patterns exist after every sync. If any are missing,
# re-prompt to restore them with the specific PR context.
#
# Usage: After sync resolution, run verification:
# for each feature.verification entry:
# grep -q "<pattern>" "<file>" || echo "MISSING: <feature.name>"

features:
- name: "OCI Gemini Tool Call UUIDs"
source_prs: [68]
files:
- litellm/llms/oci/chat/transformation.py
verification:
- pattern: "uuid.uuid4().hex"
file: litellm/llms/oci/chat/transformation.py
- pattern: "_handle_tool_call_delta"
file: litellm/responses/litellm_completion_transformation/streaming_iterator.py

- name: "Snowflake Streaming + Tool Calling"
source_prs: [38, 58]
files:
- litellm/llms/snowflake/chat/transformation.py
- litellm/responses/litellm_completion_transformation/transformation.py
verification:
- pattern: "SnowflakeStreamingHandler"
file: litellm/llms/snowflake/chat/transformation.py
- pattern: "_transform_messages"
file: litellm/llms/snowflake/chat/transformation.py
- pattern: "tool_choice_value is None and tools"
file: litellm/responses/litellm_completion_transformation/transformation.py

- name: "Snowflake Full URL Passthrough"
source_prs: []
description: "Prevents URL duplication when api_base already contains the full Cortex endpoint path"
files:
- litellm/llms/snowflake/chat/transformation.py
verification:
- pattern: "CARTO: skip path construction if api_base already contains"
file: litellm/llms/snowflake/chat/transformation.py

- name: "Azure URL Suffix Stripping"
source_prs: [70]
files:
- litellm/llms/azure/common_utils.py
verification:
- pattern: "re.sub.*chat/completions"
file: litellm/llms/azure/common_utils.py

- name: "JSON Repair for Streaming Tool Calls"
source_prs: [54]
files:
- litellm/litellm_core_utils/streaming_chunk_builder_utils.py
verification:
- pattern: "_validate_and_repair_tool_arguments"
file: litellm/litellm_core_utils/streaming_chunk_builder_utils.py

- name: "Redis Session Storage"
source_prs: [16]
files:
- litellm/responses/litellm_completion_transformation/streaming_iterator.py
- litellm/responses/litellm_completion_transformation/transformation.py
verification:
- pattern: "_store_session_in_redis"
file: litellm/responses/litellm_completion_transformation/streaming_iterator.py
- pattern: "_patch_store_session_in_redis"
file: litellm/responses/litellm_completion_transformation/transformation.py
23 changes: 16 additions & 7 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
## Title

<!-- e.g. "Implement user authentication feature" -->

## Relevant issues

<!-- e.g. "Fixes #000" -->
Expand All @@ -11,10 +7,25 @@
**Please complete all items before asking a LiteLLM maintainer to review your PR**

- [ ] I have Added testing in the [`tests/litellm/`](https://github.com/BerriAI/litellm/tree/main/tests/litellm) directory, **Adding at least 1 test is a hard requirement** - [see details](https://docs.litellm.ai/docs/extras/contributing_code)
- [ ] I have added a screenshot of my new test passing locally
- [ ] My PR passes all unit tests on [`make test-unit`](https://docs.litellm.ai/docs/extras/contributing_code)
- [ ] My PR's scope is as isolated as possible, it only solves 1 specific problem

## CI (LiteLLM team)

> **CI status guideline:**
>
> - 50-55 passing tests: main is stable with minor issues.
> - 45-49 passing tests: acceptable but needs attention
> - <= 40 passing tests: unstable; be careful with your merges and assess the risk.

- [ ] **Branch creation CI run**
Link:

- [ ] **CI run for the last commit**
Link:

- [ ] **Merge / cherry-pick CI run**
Links:

## Type

Expand All @@ -29,5 +40,3 @@
βœ… Test

## Changes


Loading
Loading