v1.105.0
BerriAI/litellmv1.105.0Oct 11, 2026by litellm-dispatcher[bot]
Upgrading?
AI Summary
A substantial update featuring significant Rust refactoring, new Model Context Protocol (MCP) capabilities, and native xAI batch support, alongside numerous fixes for caching, proxying, and error handling.
Key Highlights
- Significant Rust refactoring including credential inheritance and HTTP client pooling
- New MCP protocol version configuration and capability discovery
- Native xAI batches and files support
- Enhanced error handling and stream reliability for Anthropic and Responses
- Security improvements including PII/secret scrubbing and SSO debug route gating
New Features
- MCP protocol version configuration
- xAI native batches and files support
- Agent clients for Claude Code, Codex, and Opencode (Testkit)
- Rust registry validation for model catalog
- Databricks Zerobus trace logging callback
Full Release Notes
## Verify Docker Image Signature All LiteLLM Docker images are signed with [cosign](https://docs.sigstore.dev/cosign/overview/). Every release is signed with the same key introduced in [commit `0112e53`](https://github.com/BerriAI/litellm/commit/0112e53046018d726492c814b3644b7d376029d0). **Verify using the pinned commit hash (recommended):** A commit hash is cryptographically immutable, so this is the strongest way to ensure you are using the original signing key: ```bash cosign verify \ --key https://raw.githubusercontent.com/BerriAI/litellm/0112e53046018d726492c814b3644b7d376029d0/cosign.pub \ ghcr.io/berriai/litellm:v1.105.0 ``` **Verify using the release tag (convenience):** Tags are protected in this repository and resolve to the same key. This option is easier to read but relies on tag protection rules: ```bash cosign verify \ --key https://raw.githubusercontent.com/BerriAI/litellm/v1.105.0/cosign.pub \ ghcr.io/berriai/litellm:v1.105.0 ``` Expected output: ``` The following checks were performed on each of these signatures: - The cosign claims were validated - The signatures were verified against the specified public key ``` --- ## What's Changed * feat(mcp): share compatibility-aware result conversion across tool surfaces by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43089 * fix(caching): propagate auth cache invalidation over Redis Cluster via a node-level pub/sub client by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43110 * feat(model-catalog): add Rust registry validation by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43136 * test(rust): reorganize core crate tests and split cache and OCR suites by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43177 * fix(proxy): give SpendLogToolIndex its own share of the cleanup budget and log a per-run summary by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/41768 * feat(rust): hand upstream response headers to the native Messages stream by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43178 * feat(testkit): agent clients for Claude Code, Codex and opencode by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43181 * ci: run migrated unit selections on every event in legacy GHA shards by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43182 * test: move tests/test_litellm root and small trees into tests/unit by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43186 * fix(sso): gate /sso/debug routes behind ENABLE_SSO_DEBUG, off by default by @ojensen-berri in https://github.com/BerriAI/litellm/pull/43150 * refactor(framer): replace Framer trait with tokio-util codecs by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43193 * fix(anthropic): surface Responses bridge stream failures as Anthropic error events by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43126 * test: move tests/test_litellm/llms into tests/unit/llms by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43191 * test: move tests/test_litellm integrations and secret_managers into tests/unit by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43194 * feat(mcp): configure protocol versions and capability discovery by @joshua-berri in https://github.com/BerriAI/litellm/pull/43169 * fix(proxy): record streamed /v1/responses container ownership before the response.completed frame by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43140 * fix(tests): drop the repeated UNIT_FLAG key in test_unit_shard_missing_paths by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43212 * fix(router): count provider budget spend on every API surface by @daqiangganjun in https://github.com/BerriAI/litellm/pull/38172 * fix(responses): fall back on pre-output stream drops, fail truncated streams, honor request_timeout by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43133 * fix(sentry): scrub PII and secrets inside object reprs and nested locals, add SENTRY_SEND_DEFAULT_PII opt-in by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43123 * fix(bedrock): surface a converse-stream 200 that decodes to no events as a 502 instead of an empty turn by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43213 * fix(jwt): let x-litellm-team-id select DB membership teams when the token also carries a team claim by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43206 * feat(integrations): add Databricks Zerobus trace logging callback by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/42013 * fix(vertex_ai): keep legacy bucket_name in credential resolution and add GCS_BATCH_BUCKET_NAME env var by @mubashir1osmani in https://github.com/BerriAI/litellm/pull/42803 * feat(xai): add native xAI batches and files support by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/42812 * fix(proxy): send a real error event when a /v1/messages stream fails by @4refael in https://github.com/BerriAI/litellm/pull/41826 * fix(logging): redact raw_request when turn_off_message_logging is set in the proxy config by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43219 * fix(router): parse the classifier verdict out of surrounding prose instead of falling to the default tier by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43215 * test(zerobus): move tests into active CI selection by @tin-berri in https://github.com/BerriAI/litellm/pull/43235 * fix(proxy): keep the submitted body out of 422 validation errors by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43231 * test: move tests/test_litellm core utils, routing, responses, caching and rust_bridge into tests/unit by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43199 * chore(cost-map): add fireworks us-only deepseek v4.1 flash priority prices by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43247 * chore(cost-map): sync openrouter prices and add perceptron-mk1.5 by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43246 * fix(cost-map): correct fireworks_ai deepseek-v4p1-flash pricing by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43253 * feat(openrouter): add typesafe/jev-router to the cost map by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43248 * chore(cost-map): add fireworks priority prices for muse glimmer 30b and deepseek v4 flash vision exp by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43252 * refactor(rust): move credential inheritance and SDK limits into a driver preflight by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43259 * fix(router): hold Responses lifecycle events until output so a pre-output fallback announces one response by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43238 * refactor(http): hand out an owned Client and route all providers through the pool by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43245 * test: fix stale and state-leaking tests red on scheduled CircleCI by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43266 * fix(cost-map): retirement dates, chatgpt reasoning flags, bing pricing, bedrock mantle and mythos, azure gpt-5.6 alias, anthropic batch rates, new nebius, openrouter and xai rows by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/42951 * refactor(rust): promote anthropic messages out of experimental_pass_through by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43269 * test: stop CI tests from downloading tokenizer files and images by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43257 * fix(rust): preserve nested optional import failures by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43265 * ci: drop main and litellm_* branch filters from the CircleCI litellm-main workflows by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43272 * feat(proxy): email alerts at configured percentages of a team member budget by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/42665 * fix(callbacks-legacy-python): traverse and release the retained headers dict by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43274 * test(integration): port langfuse callbacks-in-db coverage to the local harness by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43282 * test(e2e): accept the otel cost write as a linked root trace by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/42931 * test: finish the non-proxy half of tests/test_litellm by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43281 * refactor(rust): prepare inference and auth foundations for the gateway by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43287 * feat(rust): add config, router and gateway crates by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43289 * fix(cost-map): remove duplicate openrouter/perceptron/perceptron-mk1.5 entry by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43273 * fix(e2e): resolve the blank-S3 gateway repo root from the litellm package location by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/42911 * test(integration): run the Langfuse DB-callback test on its own scratch database by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43288 * refactor(rust): expand logging and test coverage across gateway and Anthropic messages by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43295 * refactor: daily fresh tech debt cleanup, rolling PR (2026-09-25) by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43151 * test(proxy_behavior): scope the management proxy fixture to its package so its spend monitor cannot race the spend tests by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43302 * fix(cost-map): registry audit 2026-09-26, MAI-Image-2.5-Flash price, Databricks Claude Opus 5.5, Azure Foundry retirement dates by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43254 * fix(cost-map): price fireworks deepseek v4.1 flash at the prices api value by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43311 * fix(ci): stop stale CI reds, keep unit tests off the host env, retry CyberArk policy conflicts by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43294 * fix(otel): detach post-response service spans by request phase, name redis spans by operation by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43237 * test(e2e): assert only litellm-owned batch behavior and move the blank S3 env pin to an integration test by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43321 * test(integration): pin the team-admin status-code matrix across every management route by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/43249 * feat(proxy): add fail_closed_rate_limit_enforcement to reject requests with 503 while Redis rate limit counters are unreachable by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43251 * fix(responses): run stream failure and success hooks on the iterating loop instead of blocking it by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43270 * fix(guardrails): block private destinations in custom code http_request and bound guardrail execution time by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43280 * feat(sail): add Sail as a provider with service_tier mapped to its completion window by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/42840 * test(mcp): pin server resolution and authorization behavior by @joshua-berri in https://github.com/BerriAI/litellm/pull/43261 * refactor(anthropic): rename experimental_pass_through to pass_through by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43329 * refactor(mcp): add shared server resolver without changing callers by @joshua-berri in https://github.com/BerriAI/litellm/pull/43262 * ci: fail on new unbounded SQL IN lists and add a Prisma chunking helper by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/42629 * test(logging): drain the logging worker after each logging callback test so no later test inherits its events by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43344 * feat(guardrails): scan retrieved vector store chunks with the request's pre-call guardrails by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43271 * fix(mcp): adopt shared server resolution and caller authorization by @joshua-berri in https://github.com/BerriAI/litellm/pull/43263 * fix(s3_v2): upload fresh events first, drop terminal failures and hour-old retries by default, opt-in adaptive concurrency by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43022 * feat(proxy): add maximum_daily_tag_spend_retention_period cleanup setting by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/39221 * fix(cost-map): sync OpenRouter, Together, Cohere and Azure AI registry values with official sources by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43337 * docs(pr-template): add the backport-stable label only for a P0 regression by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43351 * fix(params): keep _litellm_* kwargs out of provider request bodies by construction by @shrey-berri in https://github.com/BerriAI/litellm/pull/43221 * test: remove substring guard test_default_api_base by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43355 * ci: cut CircleCI wall time without loosening test isolation by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43347 * fix(cost-map): correct azure gpt-4o-mini tts, transcribe, alias and MAI-Image-2.5 prices by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43357 * fix(tests): stop VCR recording and replaying a test's own localhost upstream by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43346 * test(integration): group /v1/messages contracts under tests/integration/messages_endpoint by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43352 * fix(params): validate stream_chunk_size once, before any provider call by @shrey-berri in https://github.com/BerriAI/litellm/pull/43222 * fix(openai): exclude fine-tuned and custom gpt-5-chat aliases from gpt-5 reasoning path by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43185 * fix(langtrace): deliver spans to app.langtrace.ai/api/trace with x-api-key by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43322 * fix(caching): stand default cache points down when extra_body hides a direct client mark by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43341 * fix(mcp): report reachability without stored credentials by @tin-berri in https://github.com/BerriAI/litellm/pull/43240 * fix(mcp): align hub publication status and controls by @tin-berri in https://github.com/BerriAI/litellm/pull/43241 * chore(cost-map): sync openrouter prices for deepseek, minimax, qwen and glm rows by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43384 * chore(cost-map): drop stale cache hit field from openrouter deepseek-v4-pro-0813 by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43389 * fix(responses): stream guardrail pre-call block as SSE with a typed output item by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/42507 * feat(e2e): read management routes back from the control plane replicas by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43373 * feat(rust): add the openai_like chat config foundation by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43379 * feat(router): opt in to prompt-cache cost routing by @tin-berri in https://github.com/BerriAI/litellm/pull/43232 * feat(otel): add SigNoz preset for OpenTelemetry v2 by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43296 * feat(cli): reuse saved agent setup and add reconfigure by @tin-berri in https://github.com/BerriAI/litellm/pull/43392 * fix(streaming): keep litellm Usage on text-completion usage chunks by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43047 * fix(vertex_ai): consider tools when validating context caching min tokens by @agustin18 in https://github.com/BerriAI/litellm/pull/43319 * fix(anthropic): drop thinking blocks with empty thinking text, not just missing signature by @shoemoney in https://github.com/BerriAI/litellm/pull/38049 * test(e2e): report batch cleanup leftovers as a plain UserWarning by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43405 * fix(tools): salvage concatenated JSON tool call arguments by @kumarpriyanshu09 in https://github.com/BerriAI/litellm/pull/43260 * fix(gemini): forward seed to the Gemini API instead of rejecting it by @YaseenBashaT in https://github.com/BerriAI/litellm/pull/43197 * fix(vertex_ai): make Gemma fake streams work with traced Responses by @stewartpark in https://github.com/BerriAI/litellm/pull/43147 * fix(responses): emit the reasoning item on streaming /v1/responses for signature-only thinking by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43414 * fix(anthropic): forward the per-turn-control beta to Azure AI Foundry by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43415 * test(vertex_ai): assert the usage the Gemma responses stream actually reports by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43422 * fix(bedrock): keep the provider status code on unprocessable image errors by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43416 * fix(vertex_ai): stop importing the vertexai SDK in partner-model completion by @anmolg1997 in https://github.com/BerriAI/litellm/pull/42274 * fix(token_counter): count Gemini function_declarations tools by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43417 * refactor(types): replace Any with proven types in 5 files by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43304 * chore(cost-map): update azure_ai/grok-4.6 input price from Azure pricing page by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43440 * chore(cost-map): add azure_ai/MAI-Cyber-1-Flash by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43446 * refactor(rust): share anthropic types, request helpers, and streaming contracts across crates by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43426 * feat(rust): expand gateway configuration parsing by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43460 * refactor(rust): share call lifecycle across route-owned inference by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43461 * feat(rust): add the HTTP host driver by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43462 * build(rust): package the gateway container by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43471 * refactor(rust): use shared execution in gateway inference by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43463 * fix(cost-map): add deprecation_date to together_ai Salesforce/Llama-Rank-V1 by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43507 * feat(rust): support the HTTP Responses API by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43464 * fix(cost-map): sync openrouter prices from the models API by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43506 * fix(cost-map): set together_ai gpt-oss-20b and gemma-4-31B-it deprecation_date to 2026-09-15 by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43509 * feat(rust): add litellm-db and litellm-db-testing workspace scaffolding by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43504 * feat(rust): connect Python inference bindings to shared routes by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43465 * feat(rust): add structured route lifecycle tracing by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43466 * feat(rust): separate gateway authentication and authorization by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43467 * feat(rust): add virtual key storage contracts by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43468 * feat(rust): add gateway UI login and sessions by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43469 * feat(rust): add the MCP gateway by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43470 * refactor(rust): remove delivery routing abstraction by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43514 * feat(azure): add mistral ocr pricing and azure max output limits by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43530 * refactor: clean up fresh tech debt from 2026-09-27 by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43538 * refactor(types): replace Any with proven types in 8 files by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43551 * test(rust): enforce shared upstream error contract in wheel checks by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43520 * fix(proxy): log key owner identity on expired key auth failures by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43105 * fix(cost-map): registry audit 2026-09-28, openai deep-research shutdown dates, azure deepseek v4.1 flash direct price, vertex gemini 3.8 live avatar price, drop azure_ai/muse-spark-1.3 by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43566 * security(proxy): keep team callback credentials out of the stored request body by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43217 * feat(model_prices): add claude-sonnet-5-5 model pricing by @krrish-berri-2 in https://github.com/BerriAI/litellm/pull/43586 * test(integration): pin org-admin status codes in the team-admin matrix by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/43592 * refactor(guardrails): fix agent 365 to the production endpoint and log the opt-in fail_open at error level by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43189 * fix(model_prices): correct Claude Sonnet 5.5 capabilities and provider keys by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43587 * test(unit): stop test modules from putting their own directory on sys.path by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43421 * refactor(rust): centralize host execution and compose callbacks by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43515 * fix(proxy): unregister logging callbacks removed from the stored config by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43428 * chore(cost-map): take azure limits for deepseek-v4-flash-0731 and v3.2-speciale by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43597 * revert: "feat(proxy): server-side Team Usage export beyond the top-N key cap (#42996)" by @yassin-berriai in https://github.com/BerriAI/litellm/pull/43376 * fix(cost-map): add web search flag and model page source to anthropic claude-sonnet-5-5 by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43584 * refactor(mcp): consolidate hub publication predicate by @tin-berri in https://github.com/BerriAI/litellm/pull/43394 * fix(provider): accept 2xx status codes in unified_access_group create by @Louis-Vauterin in https://github.com/BerriAI/litellm/pull/42461 * fix(panw_prisma_airs): honor experimental_use_latest_role_message_only on every request shape by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/42447 * fix(cost-map): add Vertex batch cache prices to vertex_ai/claude-sonnet-5-5 by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43602 * revert: "feat(usage): search team keys beyond the top-N in the Team usage view (#42857)" by @yassin-berriai in https://github.com/BerriAI/litellm/pull/43377 * feat(providers): add Prism provider (internal copy of #40914) by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/41961 * test(integration): credential canary suite harness by @yucheng-berri in https://github.com/BerriAI/litellm/pull/43300 * feat(bedrock): add xai grok-4.7 pricing and sync llama, mistral large 2407 and minimax m2.5 prices by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43623 * ci: sync the weekly release cycle with Linear releases by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43636 * feat(cache): select Rust caching through explicit cache objects by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43601 * test(integration): credential canary slots for MCP and pass-through credentials by @yucheng-berri in https://github.com/BerriAI/litellm/pull/43308 * test(integration): stored-config credential canary slots by @yucheng-berri in https://github.com/BerriAI/litellm/pull/43309 * fix(guardrails): preserve Presidio output selection and restoration by @joshua-berri in https://github.com/BerriAI/litellm/pull/43401 * fix(ui): rename All Models tab to Deployed Models and model filters to All Proxy Models by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43638 * feat(mcp): scan and pin upstream tool descriptions by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43283 * feat(cost-map): add bedrock_mantle rows for claude opus 5.5 and sonnet 5.5 by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43647 * chore(codeowners): drop UI, migration, and CODEOWNERS self owners by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43653 * feat(fireworks_ai): route and list the auto, auto-instant and firerouter routers by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43641 * feat: add model leaderboard page by @ishaan-berri in https://github.com/BerriAI/litellm/pull/43649 * fix(google_genai): preserve proxy_server_request in completion adapter by @hsm207 in https://github.com/BerriAI/litellm/pull/43536 * fix(otel): send cache and reasoning tokens in langfuse usage_details by @ankit373 in https://github.com/BerriAI/litellm/pull/43553 * fix(vertex_ai): forward the per-turn-control beta for per-message output_config by @DeviaVir in https://github.com/BerriAI/litellm/pull/43558 * fix(cost-map): add tool calling and reasoning flags, correct max output for nebius DeepSeek-V4.1-Flash by @Flexomatic81 in https://github.com/BerriAI/litellm/pull/43588 * fix(proxy): resolve model_group_alias in the zero-cost budget predicate by @fedaeho in https://github.com/BerriAI/litellm/pull/43512 * refactor: clean up fresh tech debt from 2026-09-28 by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43674 * refactor(types): replace Any with proven types in 7 files by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43704 * docs(security): point readers to the security announcements mailing list signup by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43713 * refactor(rust): add shared llms wire type derives by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43730 * fix(router): stream /v1/messages lifecycle frames live when no fallback can take over by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43600 * feat(cost-map): add baseten DeepSeek-V4.1-Flash-Fast by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43735 * feat(guardrails): send a configured gateway_name from noma_v2 to Noma by @itaimodi in https://github.com/BerriAI/litellm/pull/43678 * chore(cost-map): add openai gpt-6.1-sol from the pricing page by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43738 * test(integration): callback credential canary slots C1-C3 and D5 by @yucheng-berri in https://github.com/BerriAI/litellm/pull/43630 * test(integration): request-path credential canary slots D1-D4 by @yucheng-berri in https://github.com/BerriAI/litellm/pull/43307 * test(integration): sweep proxy logs, metrics, a Datadog intake and the Logs drawer for credential canaries by @yucheng-berri in https://github.com/BerriAI/litellm/pull/43306 * chore(cost-map): add azure and openrouter gpt-6.1-sol rows by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43744 * test(proxy): classify every credential-bearing param for the canary suite by @yucheng-berri in https://github.com/BerriAI/litellm/pull/43298 * fix(cost-map): lower fireworks up-to-4b size tier to the pricing page price by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43740 * fix(cost_calculator): bill chat per-second pricing once with a new cost_per_second field by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43614 * chore(cost-map): add openai gpt-6-astra ultrafast tier prices from the pricing page by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43745 * fix(autorouter): compare historical and new savings consistently by @tin-berri in https://github.com/BerriAI/litellm/pull/43348 * fix(model-prices): align Azure, Bedrock, Copilot, Gemini, Groq, OpenAI and OpenRouter entries with official docs by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43598 * fix(guardrails): enable explicit PANW MCP output scanning by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43109 * refactor(rust): orchestrate Messages route execution by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43719 * fix(streaming): keep the served service_tier on streamed chunks and spend rows by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/42870 * feat(bedrock): add openai gpt-6.1-sol global and base rows by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43758 * perf(router): fetch cooldown state and usage counters in one Redis round trip by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43320 * perf(proxy): hold one spend counter batch across admission and across post-call accounting by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43369 * perf(responses): run aresponses through the async wrapper so the cache is read once by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43769 * fix(router): bind Claude Code background sessions to their auto-router by @tin-berri in https://github.com/BerriAI/litellm/pull/43767 * feat(bedrock): add openai.gpt-6.1-sol us geo cris and Mantle rows by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43763 * fix(proxy): recover session key owners from daily spend for usage attribution by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43642 * chore(cost-map): take azure context limits from models-sold-directly by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43759 * perf(proxy): one request-scoped Redis pipeline for auth, spend, rate-limit and routing reads by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43407 * fix(mcp): scope OpenAPI listings to the exact server prefix and drop upstream OAuth metadata when a server is saved by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43608 * perf(proxy): one post-call Redis pipeline per backend for spend, rate-limit, routing and response-cache writes by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43779 * fix(bedrock): set gpt-6.1-sol max output tokens to 131072 by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43782 * perf(proxy): refresh auth management objects through the request Redis pipeline by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43776 * feat(agents): add identity storage and validation contracts by @joshua-berri in https://github.com/BerriAI/litellm/pull/43720 * chore: bump litellm-enterprise 0.1.71 -> 0.1.72, litellm-proxy-extras 0.4.102 -> 0.4.103, litellm 1.104.0 -> 1.105.0 by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43789 * fix(auth): give UI/CLI session tokens their own AES-GCM context and header-safe shape by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43790 * chore(deps): bump pyjwt, moment and brace-expansion to clear osv-scan by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43792 * fix(ui): surface x-litellm-call-id in Logs search, table and drawer by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/42436 * fix(proxy): look up hashed key names with two spend log rows per key by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43656 * fix(cost-map): add deprecation_date to two together_ai nvidia rows by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43809 * test(ci): refresh retired OpenAI tool-call models by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43676 * fix(ui): keep MCP permissions visible after key, team and MCP server saves by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43810 * test(ci): repair MCP Responses and budget fixtures by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43788 * test(bedrock): accept regional aliases that inherit Converse routing by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43785 * fix(params): categorize internal param appropriately to prevent leaking into request by @shrey-berri in https://github.com/BerriAI/litellm/pull/43783 * perf(router): honour the cooldown read interval in the routing prefetch by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43815 * fix(router): carry per-request routing reads on context variables instead of public method kwargs by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43814 * fix(bedrock): add beta header for output config in message by @shrey-berri in https://github.com/BerriAI/litellm/pull/43778 * refactor: clean up fresh tech debt from 2026-09-29 by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43830 * test(router): settle the shared logging worker before recording shadow callbacks by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43847 * chore(model_prices): add Gemini Veo, Mistral and Azure Claude 4.5 deprecation dates by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43857 * fix(cost_calculator): bill ultrafast prompts above 272k at the ultrafast long-context rates by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43764 * refactor(rust): centralize Python bridge execution wrappers by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43871 * chore(cost-map): add openai gpt-image-2.5 batch prices from the pricing page by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43869 * chore(cost-map): add fireworks priority prices for ember-1, nemotron and glm 5.3 us rows by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43811 * fix(proxy): attribute completed batch cost rows to /batches in daily activity by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43870 * fix(router): strip encrypted reasoning the pinned deployment cannot decrypt by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43781 * fix(cost_calculator): stop copying optional_params into response hidden params by @yucheng-berri in https://github.com/BerriAI/litellm/pull/43637 * feat(pricing): add vertex_ai gemini-3.8 flash tts rows by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43876 * fix(proxy): keep request-body credentials out of stored spend-log requests by @yucheng-berri in https://github.com/BerriAI/litellm/pull/43635 * fix(ui): right-align money and count columns across tables by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/37889 * feat(agents): enforce authoritative agent permissions by @joshua-berri in https://github.com/BerriAI/litellm/pull/43721 * fix(proxy): strip caller credentials from websocket passthrough by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43855 * fix(ui): render access group MCP and agent selections as wrapping chips by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/41228 * fix(responses): scan and mask top-level instructions with guardrails by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43629 * feat(traces): add Rust storage foundation by @yujonglee-berri in https://github.com/BerriAI/litellm/pull/43819 * feat(ui): agent traces tab on logs with timeline and otel setup guide by @ishaan-berri in https://github.com/BerriAI/litellm/pull/43891 * feat(otel v2): excluded_services opt-out for datastore spans on tenant destinations by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43278 * fix(traces): correct ClickHouse rollup partitioning, dedupe keys, and retention changes by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43901 * fix(bedrock): keep applicable beta headers by @shrey-berri in https://github.com/BerriAI/litellm/pull/43829 * feat(agents): authenticate Entra identities and delegated requests by @joshua-berri in https://github.com/BerriAI/litellm/pull/43722 * fix(hosted_vllm): keep reasoning_content on replayed assistant messages by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43599 * fix(proxy): delete large teams without per-member transaction fan-out by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/42998 * feat(tracing): port OTLP ingestion to current trace foundation by @yujonglee-berri in https://github.com/BerriAI/litellm/pull/43915 * feat(proxy): add native ROI calculator for gateway spend vs merged PRs by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43669 * test(e2e): repair completion, SAIL, and spend-log fixtures by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43902 * test(s3_v2): pin async 5xx retry through the production AsyncHTTPHandler by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43080 * feat(ui): adopt the new LiteLLM logo and monogram by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43913 * fix(proxy): relay Azure passthrough body model groups through the router by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43896 * fix(proxy): register a UI-configured arize callback next to otel under OTel v2 by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43906 * fix(transcription): honor base_url alias for Groq Whisper and report it as the api base by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43917 * feat(tracing): store spend in ClickHouse automatically by @yujonglee-berri in https://github.com/BerriAI/litellm/pull/43928 * fix(packaging): keep wheel paths under Windows MAX_PATH for Store Python by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/43903 * feat(agents): add identity registration and dashboard controls by @joshua-berri in https://github.com/BerriAI/litellm/pull/43723 * refactor(proxy): answer every team access check with TeamAccess.allows by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/43364 * test(bedrock): restore the AWS env after a failed live call in the auth tests by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43921 * feat(lens): analyze agent activity with a separate worker by @moe-berri in https://github.com/BerriAI/litellm/pull/43889 * fix(router): bill service tiers at catalog rates for custom-priced deployments by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43890 * test(ci): refresh qualified retired OpenAI fixtures by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43938 * fix(anthropic): forward the dangerous-tool-use beta to Azure AI Foundry by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43934 * test(proxy): scope user_api_key_auth overrides in proxy_server tests by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43952 * fix(wandb): set supports_vision true on GLM-5.3-Flash by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43951 * chore(cost-map): sync openrouter prices from the models API by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43950 * fix(grayswan): send request conversation and tool calls to post-call monitor by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43770 * fix(azure_storage): name Data Lake objects without base64 padding or slashes by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43914 * fix(guardrails): treat an unknown straiker api_version as unset instead of skipping the guardrail by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43956 * chore(deps): bump gitpython and tornado, extend diskcache osv ignore to Nov 1 by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43961 * fix(azure_storage): keep the DataLakeServiceClient alive until its TTL elapses by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43082 * feat(proxy): record in spend logs whether a request used a client-forwarded Anthropic OAuth token by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43063 * test(ci): repair stale tests and move retired OpenAI text-completion fixtures by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43958 * feat(e2e): record each e2e test's steps, starting with ProxyClient by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/42393 * feat(providers): add Cortecs as an OpenAI-compatible provider by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43872 * feat(ui): filter tags by name and description on the Tag Management page by @galovics in https://github.com/BerriAI/litellm/pull/42949 * fix(caching): write the response-cache SET to Redis at once instead of on the post-call batch by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43973 * test(e2e): typed per-test metadata for the e2e suite by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/42044 * feat(guardrails): honor litellm_params.timeout in every HTTP guardrail by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43134 * chore(cost-map): add fireworks inkling priority prices from the prices api by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43949 * chore(cost-map): add deprecation date for anthropic claude-sonnet-4-5 by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43898 * fix(cost-map): raise baseten DeepSeek-V4.1-Flash max output to 262144 by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/43916 * fix(proxy): restore pre-config-wins handling of pass-through endpoints by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43962 * feat(lens): investigate sampled traces and retain batch results by @moe-berri in https://github.com/BerriAI/litellm/pull/43942 * fix(guardrails): scan Responses API input in Azure Prompt Shield by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43786 * fix(guardrails): scan Responses API input in Azure Text Moderation by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43965 * refactor: clean up fresh tech debt from 2026-09-30 by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43993 * test: inject the HIBP client and the MCP loop clock so two backend tests stop flaking by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44007 * fix(cost-map): reprice fireworks deepseek v4.1 flash to the 2026-10-01 pricing update by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/44024 * test(anthropic): native /v1/messages reasoning integration tests built on a captured Claude Code request by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43361 * fix(bedrock): add beta header for thinking display updates by @shrey-berri in https://github.com/BerriAI/litellm/pull/43832 * fix(proxy): preserve decision request bodies under token limits by @shrey-berri in https://github.com/BerriAI/litellm/pull/43920 * test(proxy): migrate DB and Redis backed proxy tests into tests/integration by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43996 * feat(lens): track worker spend through virtual keys by @moe-berri in https://github.com/BerriAI/litellm/pull/43989 * test(proxy): move auth, hooks, policy_engine and client tests into tests/unit/proxy by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43998 * fix(ui): give model leaderboard a distinct trophy icon by @moe-berri in https://github.com/BerriAI/litellm/pull/44036 * test(ci): repair stale tests and flaky CI infrastructure by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43983 * test(proxy): move management_endpoints, management_helpers and guardrails tests into tests/unit/proxy by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44003 * feat(ui): agent traces open in a side drawer with a chat-style run view by @ishaan-berri in https://github.com/BerriAI/litellm/pull/43972 * feat(s3_v2): add s3_partition_granularity option for hourly S3 folders by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43748 * refactor(lens)!: rename internal engine code and API by @moe-berri in https://github.com/BerriAI/litellm/pull/44034 * test(proxy): move utils, agent_endpoints and endpoint tests into tests/unit/proxy by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44006 * test(proxy): move proxy_server, _experimental and db tests into tests/unit/proxy by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44012 * test(proxy): move middleware, spend_tracking, pass_through, common_utils and root proxy tests into tests/unit/proxy by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44015 * test(proxy): delete the legacy proxy test tree and shard tests/unit/proxy by glob by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44018 * chore(deps): bump pypdf from 6.16.2 to 6.19.0 by @dependabot[bot] in https://github.com/BerriAI/litellm/pull/44033 * chore(deps): drop unused pytest-postgresql dev dependency by @yuneng-berri in https://github.com/BerriAI/litellm/pull/44056 * docs(proxy): point mcp_server test references at tests/unit/proxy by @yuneng-berri in https://github.com/BerriAI/litellm/pull/44055 * feat(ui): show daily token totals on the model leaderboard by @ishaan-berri in https://github.com/BerriAI/litellm/pull/44044 * chore(lint): remove the LIT002 mutable-construction rule by @yuneng-berri in https://github.com/BerriAI/litellm/pull/43971 * feat(vertex-ai): add vertex_ai/xai/grok-4.7 pricing by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/44059 * feat(ui): drop the Beta badge from the Cost Optimization nav item by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43967 * test(e2e): bill Sail windows that synchronous calls can still use by @yuneng-berri in https://github.com/BerriAI/litellm/pull/44058 * ci(circleci): test Redis behavior against local Redis and print short tracebacks by @yuneng-berri in https://github.com/BerriAI/litellm/pull/44062 * fix(router): keep silent_model out of embedding provider requests by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44064 * fix(cost-map): add perplexity, openrouter, voyage and nebius models and fix registry metadata by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43907 * feat(tool-policies): show the user who owns the key that discovered a tool by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43892 * feat(proxy): gzip buffered responses for clients that accept it by @tin-berri in https://github.com/BerriAI/litellm/pull/44052 * fix(auto-router): show actual and baseline spend for historical savings by @tin-berri in https://github.com/BerriAI/litellm/pull/44057 * refactor(proxy): inject tracing receiver and access context by @yujonglee-berri in https://github.com/BerriAI/litellm/pull/44035 * feat: improve trace ingestion and trace details by @yujonglee-berri in https://github.com/BerriAI/litellm/pull/43975 * fix(proxy): enforce key/team vector_stores allowlist on /v1/rag/query by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43953 * feat(lens): move traces and setup into Lens by @moe-berri in https://github.com/BerriAI/litellm/pull/44068 * test(proxy-extras): run the db push timeout hint test without a database URL by @yuneng-berri in https://github.com/BerriAI/litellm/pull/44073 * fix(proxy-extras): build the SpendLogs indexes in the migration job instead of in migrations by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43948 * fix(mcp): resolve team-granted toolsets for non-admin keys and dashboard sessions by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43908 * fix(bedrock): accept Converse messages with no content key by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43936 * feat: add litellm.agent() to run claude code, codex, opencode and deep agents through the ai gateway by @ishaan-berri in https://github.com/BerriAI/litellm/pull/43885 * feat(ui): add test trace, tracing key and otel endpoints to tracing setup by @ishaan-berri in https://github.com/BerriAI/litellm/pull/44090 * feat(proxy): add LITELLM_DISABLE_LAZY_ROUTES to register optional routers at startup by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43911 * test(e2e): keep 1ms-timeout deployments off the provider cache by @yuneng-berri in https://github.com/BerriAI/litellm/pull/44082 * refactor(repositories): daily activity repository with centralized bounded usage queries by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43398 * fix(bedrock): add beta for mid-conversation tool changes by @shrey-berri in https://github.com/BerriAI/litellm/pull/43833 * feat(proxy): bounded daily activity routes (aggregated, search, model_top_keys, export, cache_leakage_keys) for all usage entities by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43408 * feat(ui): usage pages consume bounded daily activity routes instead of storing all keys client-side by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43409 * build(docker): drop the no-op PROXY_EXTRAS_SOURCE switch from the non-root image by @yuneng-berri in https://github.com/BerriAI/litellm/pull/44097 * fix(proxy): persist SSO display name as user_alias on login by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44065 * fix(cost-map): restore later azure Models API retirement dates and date gpt-6.1-sol by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/44072 * feat(lens): simplify setup and investigation workflow by @moe-berri in https://github.com/BerriAI/litellm/pull/44089 * chore(cost-map): sync openrouter prices from the models API by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/44105 * fix(providers): keep thinking display updates beta by @shrey-berri in https://github.com/BerriAI/litellm/pull/43969 * feat(rust): embed migration folders with a shared migrate! macro by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44104 * refactor(tracing): normalize agent spans in Rust by @yujonglee-berri in https://github.com/BerriAI/litellm/pull/44071 * perf(traces): recalculate ClickHouse TTL info only on retention changes by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44117 * fix(proxy-extras): bound the lock waits of the partitioned SpendLogs index build by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44109 * build(deps): bump oauthlib to 4.0.0 to clear osv-scan by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43899 * fix(ui): label lens trace services as agents by @ishaan-berri in https://github.com/BerriAI/litellm/pull/44116 * fix(ui): split the KeyActivityPanel condition chains to bring the lint budget back under its ceiling by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44114 * chore: bump litellm-enterprise 0.1.72 -> 0.1.73, litellm-proxy-extras 0.4.103 -> 0.4.104 by @yuneng-berri in https://github.com/BerriAI/litellm/pull/44126 * feat(mcp): add Microsoft 365 (Graph) server to the MCP catalog by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43099 * chore(cost-map): add azure_ai deprecation dates from the Azure retired models page by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/44142 * fix(daily_activity): keep NULL entity ids when excluding entity ids by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44139 * fix(proxy): reject non-canonical daily activity dates by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44143 * fix(proxy): always exit when database setup fails at boot by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44141 * feat(tracing): add scoped SQL queries and schema-aware help by @yujonglee-berri in https://github.com/BerriAI/litellm/pull/44085 * fix(guardrails): straiker v3 routes sk_agt_ keys to v3 and fails closed on a missing verdict by @PhimmStraiker in https://github.com/BerriAI/litellm/pull/44011 * test(integration): move legacy proxy, router and Redis tests into tests/integration by @yuneng-berri in https://github.com/BerriAI/litellm/pull/44128 * chore(cost-map): take azure_ai claude-sonnet-4-5 retirement date from the Azure schedule by @berriai-litellm-provider-info-sync[bot] in https://github.com/BerriAI/litellm/pull/44145 * fix(azure_storage): keep client call ids from sharing one Data Lake file by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44099 * fix(guardrails): restore Azure guardrail get_user_prompt dispatch and allow logging by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44067 * fix(proxy): keep tool payloads and logprobs unmasked in stored spend logs by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44075 * test(e2e): move live-provider legacy tests into tests/e2e by @yuneng-berri in https://github.com/BerriAI/litellm/pull/44120 * chore(harness): remove banner comments, restating comments and dead in_loop_thread by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44161 * test(straiker): assert a saved api_version v1 with an sk_agt_ key routes to v3 by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44153 * refactor(types): replace Any with proven types in 7 files by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/43844 * chore(release): backport #44066 to rc/1.105.0 by @yuneng-berri in https://github.com/BerriAI/litellm/pull/44215 * fix(proxy-extras): backport #44203 to rc/1.105.0 by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44220 * fix(ui): leave unset callback select params out of the save payload (backport #44213 to rc/1.105.0) by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44223 * chore: bump litellm-proxy-extras 0.4.104 -> 0.4.105 by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44235 * fix(ui): shrink the sidebar logo so it stops outweighing page titles (backport #44247 to rc/1.105.0) by @yuneng-berri in https://github.com/BerriAI/litellm/pull/44251 * test: repair stale and polluting tests red on scheduled main CI (#44229) [rc/1.105.0] by @yuneng-berri in https://github.com/BerriAI/litellm/pull/44254 * test(integration): opt the config pass-through spend-log case into auth (rc/1.105.0 backport of #44265) by @yuneng-berri in https://github.com/BerriAI/litellm/pull/44269 * test: fix three order-dependent and timing-flaky tests (rc/1.105.0 backport of #44271) by @yuneng-berri in https://github.com/BerriAI/litellm/pull/44281 * fix(proxy-extras): retry P3009 when a peer already recovered the named migration row (rc/1.105.0 backport of #44283) by @yuneng-berri in https://github.com/BerriAI/litellm/pull/44308 * fix(bedrock): backport #44307 to rc/1.105.0 by @mateo-berri in https://github.com/BerriAI/litellm/pull/44317 * fix(otel): tolerate non-dict callback_settings.otel and ignore bare EXCLUDED_SERVICES env (backport #44086 to rc/1.105.0) by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/44241 * chore(ui): rebuild the Admin UI bundle on rc/1.105.0 by @yuneng-berri in https://github.com/BerriAI/litellm/pull/44386 * chore(deps): refresh locked dependencies on rc/1.105.0 by @yuneng-berri in https://github.com/BerriAI/litellm/pull/44803 * chore(docker): bump pgbouncer to 1.26.0 by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/45013 * feat(decisions): backport /v1/systemone, OpenAI-format /v1/decisions and the openai Decisions provider to rc/1.105.0 (#44236, #45184, #45214) by @mateo-berri in https://github.com/BerriAI/litellm/pull/45189 * feat(guardrails): backport the decision model guardrail to rc/1.105.0 (#45663) by @yucheng-berri in https://github.com/BerriAI/litellm/pull/45894 * feat(decisions): backport the decisions and Jev follow-ups to rc/1.105.0 without the playground by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/45905 * feat(ui): backport decision auto-router setup to 1.105 by @joshua-berri in https://github.com/BerriAI/litellm/pull/45915 * chore: rebuild Admin UI bundle for rc/1.105.0 by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/45927 ## New Contributors * @daqiangganjun made their first contribution in https://github.com/BerriAI/litellm/pull/38172 * @4refael made their first contribution in https://github.com/BerriAI/litellm/pull/41826 * @shrey-berri made their first contribution in https://github.com/BerriAI/litellm/pull/43221 * @agustin18 made their first contribution in https://github.com/BerriAI/litellm/pull/43319 * @shoemoney made their first contribution in https://github.com/BerriAI/litellm/pull/38049 * @YaseenBashaT made their first contribution in https://github.com/BerriAI/litellm/pull/43197 * @stewartpark made their first contribution in https://github.com/BerriAI/litellm/pull/43147 * @hsm207 made their first contribution in https://github.com/BerriAI/litellm/pull/43536 * @DeviaVir made their first contribution in https://github.com/BerriAI/litellm/pull/43558 * @Flexomatic81 made their first contribution in https://github.com/BerriAI/litellm/pull/43588 * @fedaeho made their first contribution in https://github.com/BerriAI/litellm/pull/43512 * @galovics made their first contribution in https://github.com/BerriAI/litellm/pull/42949 **Full Changelog**: https://github.com/BerriAI/litellm/compare/v1.104.0...v1.105.0
Related Repositories
public-apis/public-apis★ 491,139
A collective list of free APIs
NousResearch/hermes-agent★ 255,979
The agent that grows with you
yt-dlp/yt-dlp★ 200,072
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,496
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,704
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.