# LiteLLM v1.97.0-rc.1 - Product: LiteLLM (https://whatsnew.fyi/product/litellm) - Vendor: BerriAI - Date: 2026-08-08 - Version: v1.97.0-rc.1 - Original notes: https://github.com/BerriAI/litellm/releases/tag/v1.97.0-rc.1 - Permalink: https://whatsnew.fyi/product/litellm/releases/v1.97.0-rc.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'. --- - **security** — Respect AZURE_AUTHORITY_HOST and derive the Azure Monitor audience per cloud in azure_sentinel - **fixed** — Pass SSE-KMS key through to the batch input-file S3 upload in bedrock - **fixed** — Stop indexing choices[0] on choiceless streaming chunks in anthropic adapter - **fixed** — Normalize /v1/completions and /v1/responses batch records in bedrock - **fixed** — Return the real status code when a credential update is rejected in proxy - **fixed** — Improve Headroom /v1/compress HTTP 404 diagnostics in proxy - **fixed** — Invalidate cached project object on project update and delete in proxy - **added** — Add apply_user_budget_to_team_keys opt-in in proxy - **fixed** — Stop alerting on health probes that lose the planned engine-restart race in proxy - **fixed** — Stop pooled clients persisting cookies on the aiohttp jar in http - **fixed** — Bound fallback-walk work and error-log volume in router - **fixed** — Add AZURE_SENTINEL_AUTHORITY_HOST as a Sentinel scoped override in azure_sentinel - **fixed** — Derive config agent ids from agent_name so grants survive secret rotation in proxy - **fixed** — Deny agent access when key and team grants resolve to nothing in proxy - **fixed** — Align agent list annotation and test with the tuple return type in a2a - **added** — Show user email or alias in usage data export in ui - **added** — Track turns per complexity tier in auto-router - **fixed** — Restore snippet text in native web_search_tool_result blocks in websearch - **fixed** — Resolve entity access groups in the model listing endpoints in proxy - **fixed** — Let access groups be a team's only model source with hover provenance 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.97.0-rc.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.97.0-rc.1/cosign.pub \ ghcr.io/berriai/litellm:v1.97.0-rc.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 * fix(azure_sentinel): respect AZURE_AUTHORITY_HOST and derive the Azure Monitor audience per cloud by @yucheng-berri in https://github.com/BerriAI/litellm/pull/36137 * fix(bedrock): pass SSE-KMS key through to the batch input-file S3 upload by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/35148 * fix(anthropic adapter): stop indexing choices[0] on choiceless streaming chunks by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/35314 * fix(bedrock): normalize /v1/completions and /v1/responses batch records by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/35675 * fix(proxy): return the real status code when a credential update is rejected by @yucheng-berri in https://github.com/BerriAI/litellm/pull/36166 * fix(proxy): improve Headroom /v1/compress HTTP 404 diagnostics by @aayush598 in https://github.com/BerriAI/litellm/pull/35952 * fix(proxy): invalidate cached project object on project update and delete by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/36028 * feat(proxy): add apply_user_budget_to_team_keys opt-in by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/36102 * fix(proxy): stop alerting on health probes that lose the planned engine-restart race by @yassin-berriai in https://github.com/BerriAI/litellm/pull/36141 * test(docker): gate the componentized gateway and backend images on an arbitrary-uid offline boot by @yassin-berriai in https://github.com/BerriAI/litellm/pull/36136 * fix(http): stop pooled clients persisting cookies on the aiohttp jar too by @yassin-berriai in https://github.com/BerriAI/litellm/pull/36149 * fix(router): bound fallback-walk work and error-log volume by @yassin-berriai in https://github.com/BerriAI/litellm/pull/36148 * ci: wire credential_endpoints tests into the proxy endpoints job by @cursor[bot] in https://github.com/BerriAI/litellm/pull/36187 * docs(keys): document /key/info fields and clarify budget_reset_at is the next reset by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/36127 * fix(azure_sentinel): add AZURE_SENTINEL_AUTHORITY_HOST as a Sentinel scoped override by @yucheng-berri in https://github.com/BerriAI/litellm/pull/36165 * docs(pr-template): add a User Flow section with authoring instructions by @mateo-berri in https://github.com/BerriAI/litellm/pull/36162 * fix(proxy): derive config agent ids from agent_name so grants survive secret rotation by @ryan-crabbe-berri in https://github.com/BerriAI/litellm/pull/36020 * chore(ui): regenerate schema.d.ts for the /key/info docstring update by @devin-ai-integration[bot] in https://github.com/BerriAI/litellm/pull/36210 * build(deps): bump gitpython to 3.1.58 to clear osv-scan on staging by @devin-ai-integration[bot] in https://github.com/ _[Truncated at 4000 characters — full notes: https://github.com/BerriAI/litellm/releases/tag/v1.97.0-rc.1]_