# LiteLLM v1.96.0-dev.1 - Product: LiteLLM (https://whatsnew.fyi/product/litellm) - Vendor: BerriAI - Date: 2026-07-31 - Version: v1.96.0-dev.1 - Original notes: https://github.com/BerriAI/litellm/releases/tag/v1.96.0-dev.1 - Permalink: https://whatsnew.fyi/product/litellm/releases/v1.96.0-dev.1 - 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'. --- - **added** — Add service_tier label to latency and spend metrics in Prometheus - **fixed** — Keep keep-alive connector config when an aiohttp session is rebuilt - **fixed** — Pin bundled postgres and redis to bitnamilegacy images in Helm - **fixed** — Decide rawPredict passthrough streaming from the request body for Vertex - **fixed** — Translate stop_sequences and disabled thinking for non-Claude targets in anthropic-adapter - **added** — Publish a generated JSON schema for model_prices_and_context_window.json - **fixed** — Allow /v1/messages for JWT teams by default - **fixed** — Skip team model aliases that point at deleted deployments in proxy - **fixed** — Report when a model write does not survive the post-write reload in proxy - **fixed** — Reject model writes that corrupt an auto-router pseudo-model in proxy - **fixed** — Serialize latency for non-chat responses in lowest-latency routing - **fixed** — Preserve callback order in get_combined_callback_list logging - **fixed** — Honor explicit priority=0 in router acompletion - **fixed** — Open the first content block with the real upstream type so reasoning-first streams start with thinking in anthropic-adapter - **fixed** — Stop provisioning nested group ids as internal users in SCIM - **fixed** — Size Object Permissions card grid by container width in UI - **fixed** — Allow /key/update to identify the key by key_alias in proxy - **added** — Split failed requests into their own series on the cache dashboard in UI - **added** — Add shareable log links via log_id query param on the logs page in UI ##### 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.96.0-dev.1 ``` **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.96.0-dev.1/cosign.pub \ ghcr.io/berriai/litellm:v1.96.0-dev.1 ``` 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(prometheus): add service_tier label to latency and spend metrics by @yassin-berriai in https://github.com/BerriAI/litellm/pull/34966 * fix(aiohttp): keep keep-alive connector config when a session is rebuilt by @yassin-berriai in https://github.com/BerriAI/litellm/pull/34962 * fix(helm): pin bundled postgres and redis to the bitnamilegacy images by @yassin-berriai in https://github.com/BerriAI/litellm/pull/34963 * fix(vertex): decide rawPredict passthrough streaming from the request body by @tin-berri in https://github.com/BerriAI/litellm/pull/34672 * fix(anthropic-adapter): translate stop_sequences and disabled thinking for non-Claude targets by @tin-berri in https://github.com/BerriAI/litellm/pull/34589 * ci: publish a generated JSON schema for model_prices_and_context_window.json by @mateo-berri in https://github.com/BerriAI/litellm/pull/34816 * fix(jwt_auth): allow /v1/messages for JWT teams by default by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/34222 * fix(proxy): skip team model aliases that point at deleted deployments by @mateo-berri in https://github.com/BerriAI/litellm/pull/34993 * fix(proxy): report when a model write does not survive the post-write reload by @tin-berri in https://github.com/BerriAI/litellm/pull/34861 * fix(proxy): reject model writes that corrupt an auto-router pseudo-model by @tin-berri in https://github.com/BerriAI/litellm/pull/34151 * fix(router_strategy): serialize latency for non-chat responses in lowest-latency routing by @mihidumh in https://github.com/BerriAI/litellm/pull/33290 * fix(logging): preserve callback order in get_combined_callback_list by @Harsh23Kashyap in https://github.com/BerriAI/litellm/pull/33008 * fix(router): honor explicit priority=0 in acompletion by @Harsh23Kashyap in https://github.com/BerriAI/litellm/pull/33214 * fix(router_strategy): serialize latency for non-chat responses in lowest-latency routing by @tin-berri in https://github.com/BerriAI/litellm/pull/35048 * fix(anthropic-adapter): open the first content block with the real upstream type so reasoning-first streams start with thinking by @Napuh in https://github.com/BerriAI/litellm/pull/34433 * test(e2e): poll MCP tools across multi-worker lag by @mubashir1osmani in https://github.com/BerriAI/litellm/pull/35047 * fix(scim): stop provisioning nested group ids as internal users by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/34997 * chore(typing): clear basedpyright Any errors in proxy management endpoints by @mateo-berri in https://github.com/BerriAI/litellm/pull/35074 * fix(ui): size Object Permissions card grid by container width by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/35019 * fix(proxy): allow /key/update to identify the key by key_alias by @r _[Truncated at 4000 characters — full notes: https://github.com/BerriAI/litellm/releases/tag/v1.96.0-dev.1]_