# LiteLLM v1.101.0-dev.2 - Product: LiteLLM (https://whatsnew.fyi/product/litellm) - Vendor: BerriAI - Date: 2026-09-03 - Version: v1.101.0-dev.2 - Original notes: https://github.com/BerriAI/litellm/releases/tag/v1.101.0-dev.2 - Permalink: https://whatsnew.fyi/product/litellm/releases/v1.101.0-dev.2 - Labels: Pre-release What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **security** — All LiteLLM Docker images are now signed with cosign for signature verification - **fixed** — Render the logs Tools panel with theme tokens in UI - **fixed** — Default max_idle_connection_lifetime to 60s on DB URLs in proxy - **fixed** — Follow tools/list pagination from upstream servers in MCP - **fixed** — Resolve router model aliases in /utils/supported_openai_params - **fixed** — Flatten top-level tool schema combinators on Azure chat completions - **fixed** — Route streamed responses-API output through the unified guardrail in Bedrock - **fixed** — Hide model write affordances from view-only admin sessions in UI - **fixed** — Quote the Claude Code apiKeyHelper for cmd.exe on Windows in CLI - **fixed** — Guarantee max_parallel_requests slot release when streaming logging fails - **added** — Slack alerts for per-user daily/monthly spend thresholds and spend anomaly detection - **fixed** — Add public Wolfi apk repo to runtime image in Docker - **fixed** — Keep order fallback on the requested order level in router - **fixed** — Reject known estimates over remaining budget under fail_closed_budget_enforcement - **fixed** — Stop a cleared Team field from blocking personal key creation - **added** — Fall back on anthropic safeguard refusals on /v1/messages in router - **fixed** — Report requested model on Anthropic streaming message_start in proxy - **fixed** — Reuse the generated master key Secret on helm upgrade - **fixed** — Report per-server outcomes in aggregate REST tools/list in MCP - **fixed** — Retry transient boot fetch failures and recover config deployments dropped by a stale cost map ##### 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.101.0-dev.2 ``` **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.101.0-dev.2/cosign.pub \ ghcr.io/berriai/litellm:v1.101.0-dev.2 ``` 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 * test: exempt MockTransport request-shape embedding tests from VCR replay by @mateo-berri in https://github.com/BerriAI/litellm/pull/39185 * fix(ui): render the logs Tools panel with theme tokens by @yuneng-berri in https://github.com/BerriAI/litellm/pull/39129 * fix(proxy): default max_idle_connection_lifetime to 60s on DB URLs by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/39134 * fix(mcp): follow tools/list pagination from upstream servers by @yucheng-berri in https://github.com/BerriAI/litellm/pull/39172 * fix(proxy): resolve router model aliases in /utils/supported_openai_params by @mateo-berri in https://github.com/BerriAI/litellm/pull/39000 * fix(azure): flatten top-level tool schema combinators on Azure chat completions by @mateo-berri in https://github.com/BerriAI/litellm/pull/38870 * fix(bedrock): route streamed responses-API output through the unified guardrail by @mateo-berri in https://github.com/BerriAI/litellm/pull/38734 * fix(ui): hide model write affordances from view-only admin sessions by @mateo-berri in https://github.com/BerriAI/litellm/pull/38872 * fix(cli): quote the Claude Code apiKeyHelper for cmd.exe on Windows by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/39174 * fix(logging): guarantee max_parallel_requests slot release when streaming logging fails by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/39093 * feat(alerting): slack alerts for per-user daily/monthly spend thresholds and spend anomaly detection by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/38438 * fix(docker): add public Wolfi apk repo to runtime image by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/39033 * fix(router): keep order fallback on the requested order level by @emerzon in https://github.com/BerriAI/litellm/pull/38969 * test(e2e): cover retry-on-timeout and the context-window fallback by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/39197 * fix(budget): reject known estimates over remaining budget under fail_closed_budget_enforcement by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/39214 * fix: stop a cleared Team field from blocking personal key creation by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/39206 * test: record each e2e test's source location in the JUnit report by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/39209 * feat(router): fall back on anthropic safeguard refusals on /v1/messages by @tin-berri in https://github.com/BerriAI/litellm/pull/39157 * fix(proxy): report requested model on Anthropic streaming message_start by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/35816 * fix(helm): reuse the gen _[Truncated at 4000 characters — full notes: https://github.com/BerriAI/litellm/releases/tag/v1.101.0-dev.2]_