litellm/litellm
mateo-berri 6b45fad58c fix(token_counter): count an Anthropic fallback block as zero on every count route
A client replays the fallback block from a server-side fallback in its history. The API does not render it, so it costs zero tokens, but /utils/token_counter answered 500 and /v1/messages/count_tokens answered 400 on it. The local counter now skips the block, the conversion guard accepts it, and provider counts send the fallback beta those APIs need to accept it.
2026-10-30 16:04:17 -07:00
..
_v2 feat(cache): select Rust caching through explicit cache objects (#43601) 2026-09-29 00:01:44 +00:00
a2a_protocol fix(streaming): keep merged think tags balanced and split SSE lines only on CR/LF (#48755) 2026-10-28 17:00:29 -07:00
accounting feat(accounting): add accounting contracts, PricingSnapshot and ledger schema (LIT-10193) (#48862) 2026-10-28 14:39:25 -07:00
anthropic_interface fix(anthropic): make opening usage estimates opt-in (#48633) 2026-10-27 12:57:21 -07:00
assistants refactor(typing): clear 1181 basedpyright Any errors across 431 files (#47789) 2026-10-24 11:31:09 -07:00
batch_completion
batches fix(batches): apply the Vertex regional endpoint uplift to batch cost (#47466) 2026-10-20 01:51:51 +00:00
caching refactor(types): replace Any with proven types in 21 files (#48921) 2026-10-29 18:43:24 -07:00
chat_completions refactor(rust-bridge): detect Python-only features in the catalog instead of Rust declines (#46714) 2026-10-20 15:06:25 -07:00
completion_extras fix(streaming): rebuild each choice of an n>1 chat stream on its own (#49002) 2026-10-29 18:29:14 -07:00
compression refactor(llms): expose public names for private provider helpers (#45037) 2026-10-07 08:49:25 -07:00
containers feat(openai)!: honor per-deployment workload identity on non-chat routes (#39966) 2026-10-16 22:25:15 +00:00
decisions fix(router): budget classifier input by provider limits (#49306) 2026-10-30 14:38:14 -07:00
embeddings refactor(rust-bridge): decide native routing in the catalog, drop the bypass predicates (#46750) 2026-10-20 15:06:24 -07:00
endpoints/speech/speech_to_completion_bridge feat(vertex-ai)!: support gemini 3.1 flash tts (#31915) 2026-10-21 04:18:42 +00:00
evals
experimental_mcp_client refactor(mcp): drop the experimental label from the MCP server and client paths (#48513) 2026-10-27 17:47:50 +00:00
extraction feat(extraction): add /v1/extraction with Cloudflare Clairic support (#47473) 2026-10-20 15:51:45 -07:00
files refactor(typing): clear 1181 basedpyright Any errors across 431 files (#47789) 2026-10-24 11:31:09 -07:00
fine_tuning fix(managed_files): send provider file ids when creating a fine-tuning job from managed files (#46552) 2026-10-19 14:40:15 -07:00
google_genai fix(google_genai): read one-object and null spellings of repeated fields in countTokens and generateContent (#48771) 2026-10-28 21:46:06 -07:00
harness refactor(typing): clear 1181 basedpyright Any errors across 431 files (#47789) 2026-10-24 11:31:09 -07:00
images refactor(types): replace Any with proven types in 21 files (#48921) 2026-10-29 18:43:24 -07:00
integrations fix(router): budget classifier input by provider limits (#49306) 2026-10-30 14:38:14 -07:00
interactions feat(providers): add Kyma API as an OpenAI-compatible provider (#48756) 2026-10-29 05:19:21 -07:00
litellm_core_utils fix(token_counter): count an Anthropic fallback block as zero on every count route 2026-10-30 16:04:17 -07:00
llms fix(token_counter): count an Anthropic fallback block as zero on every count route 2026-10-30 16:04:17 -07:00
mcp_client refactor(mcp): drop the experimental label from the MCP server and client paths (#48513) 2026-10-27 17:47:50 +00:00
messages fix(anthropic): retry /v1/messages without strict when Claude rejects strict tools under drop_params (#49102) 2026-10-29 17:18:59 -07:00
models feat(usage): show subscription-covered providers and account fees separately (#44772) 2026-10-30 03:58:36 -07:00
ocr refactor(rust-bridge): decide native routing in the catalog, drop the bypass predicates (#46750) 2026-10-20 15:06:24 -07:00
passthrough fix(bedrock)!: apply the deployment guardrailConfig on /bedrock pass-through routes (#47429) 2026-10-20 14:48:19 -07:00
proxy feat(sso): create the team_id_jwt_field team on UI SSO login when team_id_upsert is set (#49256) 2026-10-30 14:39:25 -07:00
proxy_auth
rag refactor(typing): clear 1181 basedpyright Any errors across 431 files (#47789) 2026-10-24 11:31:09 -07:00
realtime_api feat(secret_managers): resolve oidc/google api_key references per request (#47703) 2026-10-29 08:44:46 -07:00
repositories feat(usage): show subscription-covered providers and account fees separately (#44772) 2026-10-30 03:58:36 -07:00
rerank_api feat(dashscope)!: derive protocol bases from one domain (#47812) 2026-10-29 09:08:18 -07:00
responses fix(responses): run the guardrails a Responses WebSocket frame selects (#48725) 2026-10-30 14:12:51 -07:00
router_strategy fix(router): budget classifier input by provider limits (#49306) 2026-10-30 14:38:14 -07:00
router_utils fix(openrouter)!: list OpenRouter's live catalog for openrouter/* when check_provider_endpoint is on (#48820) 2026-10-30 12:19:51 -07:00
rust_bridge fix(anthropic): retry /v1/messages without strict when Claude rejects strict tools under drop_params (#49102) 2026-10-29 17:18:59 -07:00
sandbox refactor(typing): clear 1181 basedpyright Any errors across 431 files (#47789) 2026-10-24 11:31:09 -07:00
search fix(search): price Tavily advanced and Linkup deep searches at their own cost map entries (#47411) 2026-10-19 23:32:31 -07:00
secret_managers feat(secret_managers): resolve oidc/google api_key references per request (#47703) 2026-10-29 08:44:46 -07:00
skills refactor(typing): clear 1143 basedpyright Any errors across 273 files (#46574) 2026-10-15 21:08:47 +00:00
systemone fix(decisions): log every request field the caller sent on /v1/systemone and /v1/decisions (#47183) 2026-10-19 14:19:14 -07:00
telemetry refactor: clean up fresh tech debt in per-user Copilot auth, Ternary FOCUS export and telemetry (#45769) 2026-10-15 04:29:27 +00:00
text_completions fix(proxy)!: bill streamed /v1/completions without stream_options like chat (#45366) 2026-10-29 17:18:51 -07:00
tracing refactor(rust-bridge): require the native extension (#48852) 2026-10-28 13:16:56 -07:00
types fix(token_counter): count an Anthropic fallback block as zero on every count route 2026-10-30 16:04:17 -07:00
vector_store_files fix(secret_managers)!: resolve oidc/file and oidc/env refs in admin-configured api_key per request (#47341) 2026-10-20 01:43:59 +00:00
vector_stores fix(proxy): enforce team and key Allowed Vector Stores when no vector store registry is loaded (#48915) 2026-10-28 23:25:14 -07:00
videos feat(dashscope): add Wan 3.0, Wan 2.7 and HappyHorse video generation via /v1/videos (#43706) 2026-10-14 10:10:07 -07:00
__init__.py fix(aiand)!: show ai&'s name and logo, and sync ai&'s model list (#49158) 2026-10-30 10:55:26 -07:00
_internal_context.py fix(logging): mark mirrored silent_model calls with is_silent_experiment in spend logs (#48888) 2026-10-29 05:12:50 -07:00
_lazy_imports.py refactor(typing): clear 1181 basedpyright Any errors across 431 files (#47789) 2026-10-24 11:31:09 -07:00
_lazy_imports_registry.py feat(providers): add CLF AI Gateway as an OpenAI-compatible provider with ten models (#39324) 2026-10-29 19:05:19 -07:00
_logging.py fix(responses)!: keep the proxy's error body on litellm.responses errors from litellm_proxy models (#49073) 2026-10-29 17:39:56 -07:00
_process_defaults.py perf(cli): start lite without initializing the litellm SDK (#46803) 2026-10-17 04:53:32 +00:00
_redis.py refactor(typing): clear 1143 basedpyright Any errors across 273 files (#46574) 2026-10-15 21:08:47 +00:00
_redis_credential_provider.py refactor: expose core private helpers under public names (#44871) 2026-10-07 00:05:27 +00:00
_service_logger.py fix(caching): report Redis circuit-breaker metrics through the Prometheus services logger (#46484) 2026-10-14 14:29:54 -07:00
_uuid.py fix: support Python 3.15 (#48359) 2026-10-26 16:00:11 +00:00
_version.py feat(sdk): build core from an independent packaging manifest (#44340) 2026-10-08 18:40:14 -07:00
anthropic_beta_gated_fields.py fix(anthropic)!: drop beta-gated body fields under drop_params (#48793) 2026-10-29 06:25:31 -07:00
anthropic_beta_headers_config.json fix(vertex_ai,azure_ai)!: auto-add the compaction, thinking display, and tool change betas on Claude routes (#44747) 2026-10-30 09:28:19 -07:00
anthropic_beta_headers_manager.py fix(vertex_ai,azure_ai)!: auto-add the compaction, thinking display, and tool change betas on Claude routes (#44747) 2026-10-30 09:28:19 -07:00
blog_posts.json
budget_manager.py refactor(typing): clear 1143 basedpyright Any errors across 273 files (#46574) 2026-10-15 21:08:47 +00:00
constants.py fix(router)!: apply content_policy_fallbacks when router settings update at runtime (#45428) 2026-10-30 04:27:11 -07:00
cost.json
cost_calculator.py fix(cost): preserve zero prices across batch, speech and search (#49294) 2026-10-30 15:05:32 -07:00
exceptions.py fix(openai): keep the upstream error body on e.response for OpenAI and Azure errors (#49079) 2026-10-29 23:30:02 -07:00
main.py fix(cache_control): pick the chat-path dialect from the deployment's provider prefix (#45295) 2026-10-30 05:11:42 -07:00
model_prices_and_context_window_backup.json chore(cost-map): add Deepgram Aura-1 and Aura-2 text-to-speech rates (#49280) 2026-10-30 15:03:49 -07:00
policy_templates_backup.json fix(packaging): keep wheel paths under Windows MAX_PATH for Store Python (#43903) 2026-09-30 22:20:36 +00:00
provider_endpoints_support_backup.json feat(providers): add CLF AI Gateway as an OpenAI-compatible provider with ten models (#39324) 2026-10-29 19:05:19 -07:00
py.typed
router.py fix(router): recover streamed context window errors before output (#49293) 2026-10-30 13:19:58 -07:00
router_api.py fix(router): budget classifier input by provider limits (#49306) 2026-10-30 14:38:14 -07:00
router_deprecated.py refactor(router): add router entry points and keep the old members as a deprecated mixin (#48840) 2026-10-29 17:02:41 +00:00
router_host.py refactor(router): move router callers onto the entry points and invert the proxy imports (#48847) 2026-10-29 17:26:33 +00:00
scheduler.py fix(scheduler): remove a request's queue entry once it stops waiting (#43061) 2026-10-07 17:34:38 -07:00
setup_wizard.py fix(model_prices): correct Claude Sonnet 5.5 capabilities and provider keys (#43587) 2026-09-28 19:12:31 +00:00
timeout.py
tool_loop.py fix(responses): replay the original Responses item order, phase, and boundaries on the next chat turn (#48912) 2026-10-29 00:56:02 -07:00
utils.py fix(cost): preserve zero prices across batch, speech and search (#49294) 2026-10-30 15:05:32 -07:00