# LiteLLM v1.99.0-dev.2 - Product: LiteLLM (https://whatsnew.fyi/product/litellm) - Vendor: BerriAI - Date: 2026-08-21 - Version: v1.99.0-dev.2 - Original notes: https://github.com/BerriAI/litellm/releases/tag/v1.99.0-dev.2 - Permalink: https://whatsnew.fyi/product/litellm/releases/v1.99.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'. --- - **fixed** — Log spend for OpenAI passthrough embeddings with unmapped models - **fixed** — Keep acreate_file fallbacks inside the requested model group - **fixed** — Record estimated input tokens in spend logs for failed dispatched requests - **fixed** — Accept bool thinking param instead of crashing with AttributeError - **changed** — Migrate the teams form graph off antd Form onto react-hook-form - **fixed** — Restore the cache control Role and Index field hints - **added** — Add mounted-field projections for the MCP server form graph - **changed** — Extract the MCP server edit save payload into a pure builder - **changed** — Port the create key form off antd Form onto react-hook-form - **changed** — Port the add model form off antd Form onto react-hook-form - **changed** — Port the KeyLifecycleSettings tests onto react-hook-form - **fixed** — Rebuild nested and list paths in the mounted-field projection - **fixed** — Gate the pass-through guardrail field inputs when the section is disabled - **fixed** — Read through to the DB on registry misses so just-created models, guardrails, and agents resolve on sibling replicas - **fixed** — Forward the per-server auth header on OpenAPI tool calls - **added** — Add lifecycle timestamps to spend logs - **changed** — Migrate the antd Button call sites onto the shadcn Button - **changed** — Give the rollup a source-agnostic deployment record - **changed** — Scope shadow eval jobs to multiple keys ##### 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.99.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.99.0-dev.2/cosign.pub \ ghcr.io/berriai/litellm:v1.99.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 * fix(proxy): log spend for OpenAI passthrough embeddings with unmapped models by @mateo-berri in https://github.com/BerriAI/litellm/pull/37425 * fix(router): keep acreate_file fallbacks inside the requested model group by @mateo-berri in https://github.com/BerriAI/litellm/pull/37424 * fix(proxy): record estimated input tokens in spend logs for failed dispatched requests by @mateo-berri in https://github.com/BerriAI/litellm/pull/37365 * fix: accept bool thinking param instead of crashing with AttributeError by @mateo-berri in https://github.com/BerriAI/litellm/pull/37423 * refactor(ui): migrate the teams form graph off antd Form onto react-hook-form by @yuneng-berri in https://github.com/BerriAI/litellm/pull/37417 * fix(ui): restore the cache control Role and Index field hints by @yuneng-berri in https://github.com/BerriAI/litellm/pull/37437 * feat(ui): add mounted-field projections for the MCP server form graph by @yuneng-berri in https://github.com/BerriAI/litellm/pull/37440 * refactor(ui): extract the MCP server edit save payload into a pure builder by @yuneng-berri in https://github.com/BerriAI/litellm/pull/37436 * test: derive vertex batch cost expectation from the cost map by @mateo-berri in https://github.com/BerriAI/litellm/pull/37444 * refactor(ui): port the create key form off antd Form onto react-hook-form by @yuneng-berri in https://github.com/BerriAI/litellm/pull/37442 * refactor(ui): port the add model form off antd Form onto react-hook-form by @yuneng-berri in https://github.com/BerriAI/litellm/pull/37446 * refactor(ui): host KeyLifecycleSettings tests in react-hook-form instead of antd Form by @yuneng-berri in https://github.com/BerriAI/litellm/pull/37449 * fix(ui): rebuild nested and list paths in the mounted-field projection by @yuneng-berri in https://github.com/BerriAI/litellm/pull/37450 * fix(ui): gate the pass-through guardrail field inputs when the section is disabled by @yuneng-berri in https://github.com/BerriAI/litellm/pull/37435 * fix(tests): keep a host PROXY_BASE_URL out of request-derived URL tests by @mateo-berri in https://github.com/BerriAI/litellm/pull/37451 * refactor(ui): port the MCP server forms off antd Form onto react-hook-form by @yuneng-berri in https://github.com/BerriAI/litellm/pull/37483 * test(e2e): pin the tag-routing denial to its actual cause by @mateo-berri in https://github.com/BerriAI/litellm/pull/37432 * fix(proxy): read through to the DB on registry misses so just-created models, guardrails, and agents resolve on sibling replicas by @mateo-berri in https://github.com/BerriAI/litellm/pull/36263 * fix(mcp): forward the per-server auth header on OpenAPI tool calls by @tin-berri in https://github.com/BerriAI/litellm/pull/37410 * chore(typing): drop 1.3k basedpyright errors across 42 Any _[Truncated at 4000 characters — full notes: https://github.com/BerriAI/litellm/releases/tag/v1.99.0-dev.2]_