Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
453 commits
Select commit Hold shift + click to select a range
7d63b86
fix(ui): forward refs through ui primitives and fail tests on swallow…
ryan-crabbe-berri Jul 9, 2026
1d9a86e
refactor(ui): consolidate invitation flow into the dashboard layout (…
ryan-crabbe-berri Jul 9, 2026
6eed38b
fix(guardrails/bedrock): honor disable_exception_on_block by raising …
yucheng-berri Jul 9, 2026
bff2c95
fix(ui): key the edit form's browser-held token handling off the effe…
tin-berri Jul 9, 2026
97d0951
test(e2e): make dynamic model provisioning robust on split deployment…
mubashir1osmani Jul 9, 2026
d1a79f7
fix(ui): rename Virtual Keys 'Key Hash' filter label to 'Key ID' (#32…
ryan-crabbe-berri Jul 9, 2026
5cf2690
fix(proxy): capture logging_obj before post_call_failure_hook pops it…
yucheng-berri Jul 9, 2026
43726f2
refactor(ui): useTestMCPConnection uses the shared isClientForwardedT…
tin-berri Jul 9, 2026
56ab5e0
Merge pull request #32514 from BerriAI/litellm_oss_daily_branch_workflow
yuneng-berri Jul 9, 2026
8519d7f
test: litellm fix failing tests (#32577)
mubashir1osmani Jul 9, 2026
41e9cc4
fix(bedrock-invoke): retain clear_tool_uses_20250919 context_manageme…
mateo-berri Jul 9, 2026
1fa2001
fix(tests): stop DATABASE_URL env pollution from read-replica tests b…
mateo-berri Jul 9, 2026
65d0dcf
fix(mcp): never forward an Authorization header that satisfied admiss…
tin-berri Jul 9, 2026
f4e1e8e
feat(ui): add shared composable DataTable component
yuneng-berri Jul 9, 2026
a987704
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
yuneng-berri Jul 9, 2026
b0ff698
refactor(ui): migrate Workflow Runs table onto shared DataTable
yuneng-berri Jul 9, 2026
d0f1c38
fix(mcp): log only the origin of the upstream MCP url in tool-call me…
tin-berri Jul 9, 2026
d4e02ac
refactor(mcp): share _UPSTREAM_OAUTH_DISCOVERY_AUTH_TYPES in the rela…
tin-berri Jul 9, 2026
1aa4cb0
refactor(ui): migrate Team Info virtual keys table onto shared DataTable
yuneng-berri Jul 9, 2026
68a4ca7
Merge pull request #32414 from BerriAI/litellm_mcp_passthrough_ui_enum
tin-berri Jul 9, 2026
05f39bf
fix(mcp): invalidate a browser-authorized upstream token when a mint-…
tin-berri Jul 9, 2026
4812473
fix(mcp): compare the token identity decrypted and invalidate every p…
tin-berri Jul 9, 2026
42388c3
refactor(mcp): align the invalidation code with the v2 DI and typing …
tin-berri Jul 9, 2026
c75184b
fix(mcp): make the pre-update identity snapshot advisory so a read fa…
tin-berri Jul 9, 2026
e720b5e
test(ui): drop the vacuous access_token assertion from the preview in…
tin-berri Jul 9, 2026
aa35131
fix(mcp): spare BYOK rows when purging stale OAuth tokens and invalid…
tin-berri Jul 9, 2026
b304620
fix(ui): compare url and spec_path independently in the OAuth authori…
tin-berri Jul 9, 2026
71e0491
fix(ui): preview tools with a staged interactive OAuth token in the e…
tin-berri Jul 9, 2026
4786e59
test(ui): pin the client-forwarded token contract on create and edit
tin-berri Jul 9, 2026
c46c9d4
docs(mcp): mcp_server_resource docstring matches the origin-only reda…
tin-berri Jul 9, 2026
9dcc21c
refactor(mcp): batch the purge row deletion into one query
tin-berri Jul 9, 2026
db8c872
fix(ui): staged edit preview sends explicit oauth2_flow and spec_path…
tin-berri Jul 9, 2026
1b96bfa
refactor(ui): widen Key ID and Created By columns, drop Last Active i…
yuneng-berri Jul 9, 2026
5d8c853
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
yuneng-berri Jul 10, 2026
1612df1
refactor(ui): reuse exported DEFAULT_PAGE_SIZE_OPTIONS in DataTable
yuneng-berri Jul 10, 2026
65d90fd
refactor(ui): colocate 11 route segments' components into _components…
ryan-crabbe-berri Jul 10, 2026
3e1383f
fix(ui): reset page and sort correctly in Team virtual keys table
yuneng-berri Jul 10, 2026
eec948d
Merge pull request #32652 from BerriAI/litellm_mcp_stale_token_invali…
tin-berri Jul 10, 2026
592510e
feat(ui): shadcn charts foundation with tremor-compatible wrappers (#…
ryan-crabbe-berri Jul 10, 2026
54df4f5
Merge pull request #32560 from BerriAI/litellm_/org-admins-team-budge…
yuneng-berri Jul 10, 2026
560253b
test(e2e): replace deprecated batch/realtime models (#32698)
mubashir1osmani Jul 10, 2026
3d63eda
Merge pull request #32709 from BerriAI/litellm_internal_staging
yuneng-berri Jul 10, 2026
913314a
test(e2e): lower realtime server-VAD threshold to 0.5 (#32710)
mubashir1osmani Jul 10, 2026
74623b1
fix(guardrails): mask credentials embedded in guardrail_response befo…
yucheng-berri Jul 10, 2026
d82645d
feat: add Meta Model API provider and muse-spark-1.1 (day-0) (#32701)
devin-ai-integration[bot] Jul 10, 2026
f90b3ef
feat(models): add Azure GPT-5.6 (sol/terra/luna) pricing and metadata…
devin-ai-integration[bot] Jul 10, 2026
45f9bee
ci: skip backend unit tests on ui-only PRs without stranding required…
devin-ai-integration[bot] Jul 10, 2026
27cf064
refactor(ui): colocate cost-tracking and prompts components into _com…
ryan-crabbe-berri Jul 10, 2026
3d5d5e1
refactor(ui): colocate tag-management and vector-stores views, keepin…
ryan-crabbe-berri Jul 10, 2026
2a12707
refactor(ui): colocate the policies view, keeping PolicySelector shar…
ryan-crabbe-berri Jul 10, 2026
41a43d5
feat(mcp): add dcr_bridge column and plumbing for client-forwarded au…
tin-berri Jul 10, 2026
bf02a4a
test: add /v1/messages to supported_endpoints schema enum (#32739)
tin-berri Jul 10, 2026
7e0af8f
fix(mcp): stop persisting the DCR client onto true_passthrough and oa…
tin-berri Jul 10, 2026
a786ba9
test(mcp): pin credential isolation across server entries sharing an …
tin-berri Jul 10, 2026
5ec4c16
fix(mcp): let a missing server 404 on a dcr_bridge enablement instead…
tin-berri Jul 10, 2026
1e8c2f7
fix(mcp): fail closed and surface semantic filter context window errors
tin-berri Jul 10, 2026
898182b
fix(mcp): redact provider error from client-facing semantic filter me…
tin-berri Jul 10, 2026
38efe98
refactor(mcp): make context window detection iterative for the recurs…
tin-berri Jul 10, 2026
931b617
feat(mcp): persist admin-entered OAuth app credentials for the client…
tin-berri Jul 10, 2026
d2b7996
test(ui): pin deriveErrorMessage against the ProxyException wire shape
tin-berri Jul 10, 2026
5a654c5
refactor(ui): full-height sidebar shell with content-scoped top bar
yuneng-berri Jul 10, 2026
914b234
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
yuneng-berri Jul 10, 2026
57051d3
fix(mcp): keep admin-declared app credentials through OAuth invalidat…
tin-berri Jul 10, 2026
cf1b407
fix(mcp): state the keep-existing convention for blank client fields …
tin-berri Jul 10, 2026
9bff278
test(mcp): extract inline server fixtures so the eslint inline-object…
tin-berri Jul 10, 2026
e33654b
feat(mcp): relay upstream 401 on client-forwarded pass-through tool c…
tin-berri Jul 10, 2026
7d63e45
refactor(ui): move sidebar chrome onto shadcn primitives and whiten t…
yuneng-berri Jul 10, 2026
b8bb95b
fix(spend-logs): honor store_prompts_in_spend_logs for guardrail_info…
yucheng-berri Jul 10, 2026
190ea08
fix(spend): sum multi-round session cost in logs UI (#32796)
devin-ai-integration[bot] Jul 10, 2026
77a30a1
refactor(ui): colocate agents and guardrails views, keeping shared se…
ryan-crabbe-berri Jul 10, 2026
11aeeea
Merge pull request #32735 from BerriAI/litellm_mcp_no_dcr_persist_for…
tin-berri Jul 10, 2026
54d404e
fix(e2e): batch credentials wiring and compose harness for live proxy…
mubashir1osmani Jul 10, 2026
bca3e88
Merge pull request #32745 from BerriAI/litellm_lit4337_dcr_bridge_plu…
tin-berri Jul 10, 2026
aa4f585
feat(mcp): dcr_bridge authorize and token relay redirect handling wit…
tin-berri Jul 10, 2026
c79dcef
refactor(mcp): hoist repeated bridge relay check and align raise deta…
tin-berri Jul 10, 2026
e2eee36
chore(ui): make knip trustworthy and enforce dead-code in CI (#32727)
ryan-crabbe-berri Jul 10, 2026
87d979d
fix(ui): keep the account menu in agent-plane mode and update e2e for…
yuneng-berri Jul 10, 2026
270406b
build(pre-commit): regenerate eslint-metrics.json instead of failing …
ryan-crabbe-berri Jul 10, 2026
94f2781
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
yuneng-berri Jul 10, 2026
b9008cc
Merge pull request #32556 from BerriAI/litellm_mcp_passthrough_call_r…
tin-berri Jul 10, 2026
195f145
docs(mcp): note S256 enforcement fires on both dcr_bridge authorize arms
tin-berri Jul 10, 2026
50f0020
fix(ui): scope the remaining e2e nav lookups to the new sidebar
yuneng-berri Jul 10, 2026
edb889b
Merge pull request #32680 from BerriAI/litellm_/elegant-edison-bf44a2
yuneng-berri Jul 10, 2026
220aad0
Merge pull request #32715 from BerriAI/litellm_lit4284_semantic_filte…
tin-berri Jul 10, 2026
81cd071
refactor(ui): colocate the skills view, keeping the AIHub-shared skil…
ryan-crabbe-berri Jul 10, 2026
69f0a6d
Merge pull request #32747 from BerriAI/litellm_lit4337_dcr_bridge_aut…
tin-berri Jul 10, 2026
04a11a4
feat(mcp): dcr_bridge discovery facade and register relay
tin-berri Jul 10, 2026
b8d1b39
refactor(mcp): align register redirect_uris raise shape and forward c…
tin-berri Jul 10, 2026
849ceb0
feat(mcp): relay upstream registration errors to the client on the dc…
tin-berri Jul 10, 2026
a2f8e80
fix(mcp): rework the credential-field lifecycle so the OAuth app is u…
tin-berri Jul 10, 2026
3afd4a2
ci(ui): move frontend lint into its own "UI Lint" workflow (#32810)
ryan-crabbe-berri Jul 10, 2026
34602ff
Merge pull request #32753 from BerriAI/litellm_lit4337_dcr_bridge_facade
tin-berri Jul 10, 2026
65c8091
feat(mcp): add sealed envelope module for dcr_bridge client-held cred…
tin-berri Jul 10, 2026
dd38e9f
fix(mcp): return malformed_payload for signed envelopes with empty id…
tin-berri Jul 10, 2026
d6503d1
fix(mcp): make open_envelope total over hostile jwt claim types and c…
tin-berri Jul 10, 2026
47f33bd
feat(ui): dcr_bridge toggle for client-forwarded MCP auth modes
tin-berri Jul 10, 2026
2883e36
fix(mcp): measure envelope open-side size cap in utf-8 bytes to match…
tin-berri Jul 10, 2026
ececa9e
test(mcp): speed up the auth-type-switch preserve tests so they do no…
tin-berri Jul 10, 2026
9176744
perf(mcp): O(1) character precheck before the exact byte size guard i…
tin-berri Jul 10, 2026
7d64f9d
fix(mcp): merge credentials within the client-forwarded class on an a…
tin-berri Jul 10, 2026
ab53d06
Merge pull request #32748 from BerriAI/litellm_lit4338_envelope_module
tin-berri Jul 10, 2026
cc36d54
fix(bedrock): keep mid-conversation system messages in place for Clau…
mateo-berri Jul 10, 2026
6d17f9e
fix(proxy): add coordination_redis routes to component allowlist (#32…
yucheng-berri Jul 10, 2026
424532e
feat(mcp): add dcr_bridge envelope consumer helpers (key derivation, …
tin-berri Jul 10, 2026
08963b7
feat(mcp): bind bridge envelope to its server, key derivation via HMA…
tin-berri Jul 10, 2026
1e78e96
fix(mcp): clear the DCR client ref and upstream warning on modal clos…
tin-berri Jul 10, 2026
f72c7cc
docs: point OSS contributors at the daily OSS branch
yuneng-berri Jul 10, 2026
ef96370
fix(mcp): derive bridge envelope keys with memory-hard scrypt, cached…
tin-berri Jul 10, 2026
1c6d9fa
refactor(ui): move usage-card meter and sidebar button onto shared pr…
yuneng-berri Jul 10, 2026
94e8e69
Merge pull request #32830 from BerriAI/litellm_/litellm-daily-oss-doc…
yuneng-berri Jul 10, 2026
9d87527
fix(mcp): include scrypt p factor in the maxmem ceiling so it scales …
tin-berri Jul 10, 2026
d1ae957
fix(proxy): build redis usage cache from REDIS_* env when cache backe…
yassin-berriai Jul 10, 2026
0053527
fix(mcp): keep bridge server-id match total on non-ascii and strip be…
tin-berri Jul 10, 2026
eb7e4a5
Merge pull request #32793 from BerriAI/litellm_/design-to-litellm-int…
yuneng-berri Jul 10, 2026
2b4c054
feat(ui): move the dcr_bridge toggle next to the OAuth app fields
tin-berri Jul 10, 2026
3913a4a
fix(ui): keep the original one-sentence DCR hint under the OAuth clie…
tin-berri Jul 10, 2026
99b4c5e
feat(otel): emit the gen_ai.client.operation.exception event on faile…
yassin-berriai Jul 10, 2026
8b8a288
fix(ui): drop the saved qualifier from the OAuth client field labels
tin-berri Jul 10, 2026
3ea7f98
feat(proxy): configure the coordination redis independently of the re…
yassin-berriai Jul 10, 2026
4e3c437
feat(deploy): make coordination redis a first-class chart and terrafo…
yassin-berriai Jul 10, 2026
e12f28e
ci: authorize the expression package (MIT) in liccheck.ini
tin-berri Jul 10, 2026
8f24f2f
Merge pull request #32794 from BerriAI/litellm_lit4338_envelope_edge_…
tin-berri Jul 10, 2026
51f6e1b
fix(proxy): match multi-mode guardrail_mode without false-COMPLIANT …
yucheng-berri Jul 10, 2026
5205af9
Merge pull request #32815 from BerriAI/litellm_mcp_credential_class_m…
tin-berri Jul 11, 2026
ad224e7
Merge pull request #32847 from BerriAI/litellm_liccheck_authorize_exp…
tin-berri Jul 11, 2026
14338a2
fix(redis): only use SSLConnection when ssl is truthy in connection p…
yucheng-berri Jul 11, 2026
1be8466
fix(mcp): show the upstream-mismatch warning on edit and return undef…
tin-berri Jul 11, 2026
a88a9bf
feat(ui): add filter drawer and column visibility to shared DataTable
yuneng-berri Jul 10, 2026
fdfb122
refactor(ui): convert caching page charts to shadcn/recharts (#32721)
ryan-crabbe-berri Jul 11, 2026
dacf1cf
fix: strip trailing slash from --base-url in lite CLI (#32845)
krrish-berri-2 Jul 11, 2026
ae55170
fix(ui): show filter-select label and shape loading skeletons per column
yuneng-berri Jul 11, 2026
8650677
fix(mcp): preserve a stored client on OAuth-resume restore, add the e…
tin-berri Jul 11, 2026
4c4dd1f
refactor(ui): use shadcn Label for the DataTable filter field
yuneng-berri Jul 11, 2026
72cbd8a
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
yuneng-berri Jul 11, 2026
5dbd608
fix(mcp): reset the remove-app checkbox on a server switch so it neve…
tin-berri Jul 11, 2026
e9246e9
feat(team): add PATCH /team/{team_id} with JSON merge patch semantics
yuneng-berri Jul 11, 2026
109193f
feat(router): add LLM-based classifier option to complexity router (#…
krrish-berri-2 Jul 11, 2026
4737e75
fix(bedrock): add jp.anthropic.claude-opus-4-8 to model cost map (#32…
mateo-berri Jul 11, 2026
ee6e807
fix(responses): preserve reasoning_tokens through chat->responses usa…
mateo-berri Jul 11, 2026
5e23a5a
fix(bedrock): gate in-place system role messages on model support for…
mateo-berri Jul 11, 2026
249a999
fix(responses-api): raise APIError on in-stream error events; widen E…
mateo-berri Jul 11, 2026
1ab1515
fix(prometheus): skip budget metric DB lookups when gauges are NoOpMe…
mateo-berri Jul 11, 2026
4baf326
fix(anthropic): strip @version suffix in _model_map_lookup_candidates…
mateo-berri Jul 11, 2026
60d557c
fix(datadog): split log batches proactively under intake payload limi…
yucheng-berri Jul 11, 2026
3a62e54
fix(anthropic): translate adaptive thinking/effort to pre-4.6 model s…
mateo-berri Jul 11, 2026
735a5bf
test(models): assert capability fields on regional Azure gpt-5.6 entr…
mateo-berri Jul 11, 2026
3c714ed
feat(auto_router): keyword tier overrides and semantic keyword matchi…
akapur99 Jul 10, 2026
c15891f
fix(bedrock): flag mapped Claude 4.8+ entries with supports_mid_conve…
mateo-berri Jul 11, 2026
8f0dcb2
feat(team): let org admins reach PATCH /team/{team_id} like POST /tea…
yuneng-berri Jul 11, 2026
472b64c
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
yuneng-berri Jul 11, 2026
922ed1a
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
yuneng-berri Jul 11, 2026
ba17c45
feat(ui): root the gateway breadcrumb in the AI Gateway selector
yuneng-berri Jul 11, 2026
186d083
fix(complexity_router): build semantic route index once under concurr…
akapur99 Jul 11, 2026
665c0dc
feat(ui): always show the gateway selector with a discoverable Chat e…
yuneng-berri Jul 11, 2026
02137b2
fix(proxy): guard delete_model router eviction on auto_router/ prefix
akapur99 Jul 11, 2026
0c23c40
Merge pull request #32752 from BerriAI/litellm_mcp_configured_client_…
tin-berri Jul 11, 2026
7788577
refactor(fallback-generalizations): split rules into routing and prov…
mateo-berri Jul 11, 2026
1ccc338
feat(fallback-generalizations): widen adaptive-thinking gate to any c…
mateo-berri Jul 11, 2026
1329036
fix(fallback-generalizations): tolerate legacy remote rule schema and…
mateo-berri Jul 11, 2026
a4199d3
Merge pull request #32886 from BerriAI/litellm_/topnav-breadcrumbs-ga…
yuneng-berri Jul 11, 2026
81e6393
fix(fallback-generalizations): let exact cost-map entries beat capabi…
mateo-berri Jul 11, 2026
f3bfafe
Merge branch 'litellm_internal_staging' into litellm_lit4337_dcr_brid…
tin-berri Jul 11, 2026
6875ca0
fix(team): bound json merge patch recursion depth
yuneng-berri Jul 11, 2026
c9259e4
fix(auth): tolerate request objects without path_params in common_checks
yuneng-berri Jul 11, 2026
f308bd9
fix(mcp): re-register DCR client when proxy origin no longer matches …
tin-berri Jul 8, 2026
2254ffb
fix(mcp): emit one operator warning per DCR re-registration event
tin-berri Jul 8, 2026
7b9ce81
Merge pull request #32804 from BerriAI/litellm_lit4337_dcr_bridge_ui
tin-berri Jul 11, 2026
55c8ca4
ci: gate tests/e2e on zero basedpyright errors in pre-commit and lint CI
mateo-berri Jul 11, 2026
80c5217
Merge pull request #32856 from BerriAI/litellm_/data-table-design-exp…
yuneng-berri Jul 11, 2026
18c9259
refactor(ui): use TanStack Pacer debounce for the team keys search
yuneng-berri Jul 11, 2026
6fa0882
fix(fallback-generalizations): cover bare Claude majors in baseline a…
mateo-berri Jul 11, 2026
168bc38
fix(mcp): strip scheme default port from get_request_base_url netloc
tin-berri Jul 11, 2026
0bf81e2
feat(ui): typed openapi-fetch foundation (fetchClient) + first typed …
ryan-crabbe-berri Jul 11, 2026
1bf98c0
test(e2e): cover Langfuse logging.yaml P0 logs_spend cells (#32857)
mubashir1osmani Jul 11, 2026
5d7b704
Merge pull request #32919 from BerriAI/litellm_pacer_debounce_team_keys
yuneng-berri Jul 11, 2026
eb0c966
fix(complexity_router): use max aggregation for semantic keyword rout…
akapur99 Jul 11, 2026
9659ae2
Merge pull request #32921 from BerriAI/litellm_lit4126_default_port_s…
tin-berri Jul 11, 2026
4486d9f
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
mateo-berri Jul 11, 2026
368342c
refactor(auth): resolve PATCH team org-context from the route template
yuneng-berri Jul 11, 2026
2631ce7
Merge pull request #32527 from BerriAI/litellm_gh32473_dcr_redirect_uri
tin-berri Jul 11, 2026
7cdf42d
chore(ui): remove eslint-metrics.json lint-count snapshot
yuneng-berri Jul 11, 2026
45d3644
Merge pull request #32873 from BerriAI/litellm_fallback_rules_routing…
mateo-berri Jul 11, 2026
34a8d41
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
yuneng-berri Jul 11, 2026
4a4262a
fix(complexity_router): preserve user_api_key_auth in sub-call metadata
akapur99 Jul 11, 2026
b0c8701
test(e2e): drop vertex from pipecat tool smoke (#32925)
mubashir1osmani Jul 11, 2026
f604034
Merge pull request #32918 from BerriAI/litellm_e2e_basedpyright_gate
mateo-berri Jul 11, 2026
9388d03
fix(complexity_router): sanitize budget reservation inside forwarded …
mateo-berri Jul 11, 2026
569e3c3
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
mateo-berri Jul 11, 2026
9521276
fix(complexity_router): review hardening - blank keywords, router reg…
akapur99 Jul 11, 2026
41b599b
fix(anthropic): thread real provider through capability probes instea…
mateo-berri Jul 11, 2026
ae08bcc
docs(anthropic): note the two provider params' roles in _map_reasonin…
mateo-berri Jul 11, 2026
abc3893
fix(anthropic): override custom_llm_provider in provider config subcl…
mateo-berri Jul 11, 2026
46977d6
feat(mcp): admit dcr_bridge oauth_delegate clients via a single envel…
tin-berri Jul 10, 2026
50cc2c0
fix(mcp): admit dcr_bridge envelopes under the live key, not a frozen…
tin-berri Jul 11, 2026
c59f16f
fix(mcp): enforce team block and alias-priority token injection on br…
tin-berri Jul 11, 2026
9e6d6e5
fix(mcp): route bridge admission through the centralized policy gate …
tin-berri Jul 11, 2026
0e6ed18
fix(mcp): import assert_never from typing_extensions for Python 3.10
tin-berri Jul 11, 2026
ea64ef7
fix(mcp): surface real status from bridge admission policy gate inste…
tin-berri Jul 11, 2026
2c1d62c
fix(rate-limit-v3): populate x-ratelimit-* remaining/limit values in …
yucheng-berri Jul 11, 2026
8982e1c
fix(proxy): skip None model_name in clear_cache router eviction set
mateo-berri Jul 11, 2026
f5f03cb
fix(mcp): map a DB outage during bridge key reload to a retryable 503
tin-berri Jul 11, 2026
345d353
test: remove live OpenAI fine-tuning job-creation test blocked by pla…
mateo-berri Jul 11, 2026
2e45fc5
Merge pull request #32883 from BerriAI/litellm_/patch-endpoint-1d2646
yuneng-berri Jul 11, 2026
fdaee89
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
mateo-berri Jul 11, 2026
80294a9
refactor(anthropic): consolidate the provider fallback into a _resolv…
mateo-berri Jul 11, 2026
b21c4ce
Merge pull request #32930 from BerriAI/litellm_/remove-eslint-metrics…
yuneng-berri Jul 11, 2026
36aec56
feat: add lite auth print-token for Claude Code apiKeyHelper support …
krrish-berri-2 Jul 11, 2026
688f535
fix(mcp): run the route gate on bridge admission so allowed_routes ar…
tin-berri Jul 11, 2026
c52d23e
fix(proxy): reserve budget for tiered pricing
Jul 11, 2026
65e2432
fix(proxy): bill tier-only deployments instead of $0
Jul 11, 2026
973a86a
Merge remote-tracking branch 'origin/litellm_internal_staging' into l…
akapur99 Jul 11, 2026
f6b411b
refactor(ui): convert activity metrics charts to shadcn/recharts (#32…
ryan-crabbe-berri Jul 11, 2026
eaea85c
feat(ui): extend topnav border across the sidebar header (#32920)
yuneng-berri Jul 11, 2026
ead7ad3
Merge pull request #32874 from BerriAI/litellm_thread_provider_capabi…
mateo-berri Jul 11, 2026
8548816
fix(cost): coerce string tiered-pricing costs and share tier helper
Jul 11, 2026
a34f098
docs(anthropic): clarify the Opus 4.5 branch in adaptive-effort trans…
akapur99 Jul 11, 2026
92dfbdb
Merge pull request #32859 from BerriAI/litellm_complexity_router_keyw…
akapur99 Jul 11, 2026
c132a03
fix(proxy): reserve tiered budget all-or-nothing across all deployments
Jul 11, 2026
3385a32
feat(complexity_router): log the cause of each routing decision
akapur99 Jul 11, 2026
f9ed4f8
feat(ui): add redesigned sidebar account menu (#32931)
yuneng-berri Jul 11, 2026
1c3c1af
fix(mcp): run proxy-wide pre-DB gates on bridge envelope admission
tin-berri Jul 11, 2026
69c5839
fix(guardrails): filter Add-Guardrail mode dropdown per provider (#32…
yucheng-berri Jul 11, 2026
0bd831d
fix(proxy): reserve tiered output at the higher reasoning rate
Jul 11, 2026
7d1e48d
Merge pull request #32943 from BerriAI/litellm_complexity_router_logging
akapur99 Jul 11, 2026
0772668
Merge pull request #32824 from BerriAI/litellm_lit4338_delegate_admis…
tin-berri Jul 11, 2026
0ebcda3
refactor(ui): convert user agent and per-user usage charts to shadcn/…
ryan-crabbe-berri Jul 11, 2026
922e248
Merge pull request #32876 from BerriAI/litellm_opus_4_5_effort_comment
akapur99 Jul 11, 2026
173193d
Merge pull request #32942 from BerriAI/litellm_dashscope_price_issues
shivamrawat1 Jul 11, 2026
f2fb6b8
refactor(ui): extract a shared CopyButton and fix the sidebar copy co…
yuneng-berri Jul 11, 2026
0710cf2
refactor(ui): convert entity usage and usage page charts to shadcn/re…
ryan-crabbe-berri Jul 11, 2026
320a55f
refactor(e2e): bucket rate limits, budgets, and spend tracking under …
mateo-berri Jul 11, 2026
8225ddf
fix(e2e): name the route the spend_calculate registry cell actually e…
mateo-berri Jul 11, 2026
d37daf0
refactor(e2e): move budgets and spend_tracking suites under quota_man…
mateo-berri Jul 11, 2026
e7f4144
feat(guardrails): add pre_mcp_call support to Content Filter (#32936)
yucheng-berri Jul 11, 2026
5e1928c
Merge pull request #32928 from BerriAI/litellm_quota_management_registry
mateo-berri Jul 11, 2026
03970d7
bump: litellm-proxy-extras 0.4.75 -> 0.4.76 (#32957)
yuneng-berri Jul 11, 2026
cb24864
feat(proxy): add expires filter to GET /key/list (#32953)
ryan-crabbe-berri Jul 11, 2026
ca877c7
refactor(ui): colocate the usage view, keeping the shared usage compo…
ryan-crabbe-berri Jul 11, 2026
4baeb28
chore: update Next.js build artifacts (2026-07-11 23:35 UTC, node v20…
yuneng-berri Jul 12, 2026
d37ba79
refactor(ui): convert projects page chart to shadcn/recharts (#32722)
ryan-crabbe-berri Jul 12, 2026
10d5804
Merge pull request #32884 from BerriAI/litellm_internal_staging
yuneng-berri Jul 12, 2026
fba058b
Merge pull request #32956 from BerriAI/litellm_fix_lit3859_wif_bridge
mateo-berri Jul 13, 2026
b5cd431
Merge pull request #33499 from BerriAI/litellm_backport_1930rc2
yuneng-berri Jul 16, 2026
2530e32
chore(release): backport 11 staging PRs onto patch-1.93.0rc2 for the …
yuneng-berri Jul 18, 2026
3510494
chore(release): backport #33853 and #33864 onto patch-1.93.0rc2 to co…
yuneng-berri Jul 18, 2026
db190ba
fix(proxy): treat malformed cost-map token limits as absent on /v1/mo…
yuneng-berri Jul 19, 2026
052b5a2
Merge pull request #33904 from BerriAI/litellm_models_listing_malform…
yuneng-berri Jul 19, 2026
2a917fa
chore: keep Bitovi GitHub Actions workflows on sync branch
github-actions[bot] Jul 20, 2026
512fe41
chore: merge litellm_internal_staging into sync/upstream-v1.93.0
Mattchewone Jul 20, 2026
b55e3af
fix(tests): align model_info and team member unit tests with v1.93.0
Mattchewone Jul 20, 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
  •  
  •  
  •  
71 changes: 68 additions & 3 deletions .circleci/config.yml

Large diffs are not rendered by default.

27 changes: 27 additions & 0 deletions .circleci/scripts/classify_changes.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
set -uo pipefail

category="${1:?usage: classify_changes.sh <backend|client>}"

has_client=false
has_backend=false
while IFS= read -r file || [ -n "$file" ]; do
[ -n "$file" ] || continue
case "$file" in
ui/*) has_client=true ;;
docs/* | *.md | *.mdx) : ;;
*) has_backend=true ;;
esac
done

case "$category" in
backend)
[ "$has_backend" = true ] && echo run || echo skip
;;
client)
{ [ "$has_client" = true ] || [ "$has_backend" = true ]; } && echo run || echo skip
;;
*)
echo run
;;
esac
40 changes: 40 additions & 0 deletions .circleci/scripts/path_filter.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#!/usr/bin/env bash
set -uo pipefail

category="${1:?usage: path_filter.sh <backend|client>}"
here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

run_full() {
echo "path-filter[$category]: running job ($1)"
exit 0
}

[ -n "${CIRCLE_PULL_REQUEST:-}" ] || run_full "not a pull request"

candidate_bases="main litellm_internal_staging litellm_oss_staging"
merge_base=""
for base in $candidate_bases; do
git fetch --quiet origin "$base" 2>/dev/null || continue
candidate="$(git merge-base HEAD FETCH_HEAD 2>/dev/null)" || continue
[ -n "$candidate" ] || continue
if [ -z "$merge_base" ] || git merge-base --is-ancestor "$merge_base" "$candidate" 2>/dev/null; then
merge_base="$candidate"
fi
done

[ -n "$merge_base" ] || run_full "could not resolve a merge base against $candidate_bases"

changed="$(git diff --name-only "$merge_base" HEAD 2>/dev/null)" || run_full "git diff failed"
[ -n "$changed" ] || run_full "no files changed vs $merge_base"

echo "path-filter[$category]: changed files vs ${merge_base}:"
printf '%s\n' "$changed" | sed 's/^/ /' || true

decision="$(printf '%s\n' "$changed" | bash "$here/classify_changes.sh" "$category")" || run_full "classify_changes.sh failed"

if [ "$decision" = run ]; then
run_full "$category-relevant changes detected"
fi

echo "path-filter[$category]: only unrelated (docs/client) changes detected; halting job as successful"
circleci-agent step halt
48 changes: 48 additions & 0 deletions .github/actions/detect-backend-changes/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: "Detect backend-relevant changes"
description: >-
Classify the pull request's changed files with .circleci/scripts/classify_changes.sh
and expose decision=run|skip. decision=skip means only ui/**, **.md or **.mdx files
changed, so callers can short-circuit expensive steps while the job still completes
successfully and satisfies its required status check. The decision defaults to run for
any non pull_request event or whenever the changed set cannot be resolved, so tests are
never skipped when the classification is uncertain.

outputs:
decision:
description: "run when backend-relevant files changed, otherwise skip"
value: ${{ steps.classify.outputs.decision }}

runs:
using: composite
steps:
- id: classify
shell: bash
env:
BASE_SHA: ${{ github.event.pull_request.base.sha }}
run: |
set -uo pipefail
if [ -z "${BASE_SHA:-}" ]; then
echo "detect-backend-changes: not a pull_request event; running job"
echo "decision=run" >> "${GITHUB_OUTPUT}"
exit 0
fi
if ! git fetch --no-tags --depth=1 origin "${BASE_SHA}" >/dev/null 2>&1; then
echo "detect-backend-changes: could not fetch base ${BASE_SHA}; running job"
echo "decision=run" >> "${GITHUB_OUTPUT}"
exit 0
fi
changed="$(git diff --name-only "${BASE_SHA}" HEAD 2>/dev/null)" || {
echo "detect-backend-changes: git diff failed; running job"
echo "decision=run" >> "${GITHUB_OUTPUT}"
exit 0
}
if [ -z "${changed}" ]; then
echo "detect-backend-changes: no changed files vs ${BASE_SHA}; skipping job"
echo "decision=skip" >> "${GITHUB_OUTPUT}"
exit 0
fi
echo "detect-backend-changes: changed files vs ${BASE_SHA}:"
printf '%s\n' "${changed}" | sed 's/^/ /'
decision="$(printf '%s\n' "${changed}" | bash .circleci/scripts/classify_changes.sh backend)" || decision="run"
echo "detect-backend-changes: decision=${decision}"
echo "decision=${decision}" >> "${GITHUB_OUTPUT}"
3 changes: 2 additions & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
- [ ] I have added meaningful tests
- [ ] My PR passes all CI/CD checks (e.g., lint, format, unit tests)
- [ ] My PR's scope is as isolated as possible; it only solves 1 specific problem
- [ ] I have requested a Greptile review by commenting `@greptileai` and received a **Confidence Score of at least 4/5** before requesting a maintainer review
- [ ] I have received a Greptile **Confidence Score of at least 4/5** before requesting a maintainer review (Greptile reviews automatically once the PR is opened; only comment `@greptileai` to re-request a review after pushing changes)

## Delays in PR merge?

Expand All @@ -24,6 +24,7 @@ If you're seeing a delay in your PR being merged, ping the LiteLLM Team on [Slac
<!-- Include screenshots, screen recordings, or command (e.g., curl) + output demonstrating that your changes work as expected
The proof must be completely e2e with no mocks, using, for example, actual LLM calls costing real $. `pytest` commands are not enough
For bug fixes: show reproduction before the fix and passing behavior after
Include the commit hash each proof was captured at, for both the before and the after runs
For new features: show the feature working end-to-end
For UI changes: include before/after screenshots -->

Expand Down
154 changes: 0 additions & 154 deletions .github/workflows-backup/_test-unit-base.yml

This file was deleted.

36 changes: 0 additions & 36 deletions .github/workflows-backup/auto_update_price_and_context_window.yml

This file was deleted.

Loading
Loading