Verify Docker Image Signature
All LiteLLM Docker images are signed with cosign. Every release is signed with the same key introduced in commit 0112e53.
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:
cosign verify \
--key https://raw.githubusercontent.com/BerriAI/litellm/0112e53046018d726492c814b3644b7d376029d0/cosign.pub \
ghcr.io/berriai/litellm:v1.93.0-dev.2Verify 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:
cosign verify \
--key https://raw.githubusercontent.com/BerriAI/litellm/v1.93.0-dev.2/cosign.pub \
ghcr.io/berriai/litellm:v1.93.0-dev.2Expected 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(ui): scope key models dropdown options to the key's team by @mubashir1osmani in #32382
- fix(model_prices): add gpt-realtime-2.1 models with regional processing uplift by @mateo-berri in #32387
- ci(server-root-path): retry npm/playwright installs and disable matrix fail-fast by @mateo-berri in #32406
- fix(passthrough): stop request params from clobbering merged target query params by @mateo-berri in #32404
- test: add e2e coverage module metrics by @ishaan-berri in #32403
- fix(responses): make response-id encoding idempotent to prevent MCP g… by @thibault-linktree in #32034
- fix(utils): resolve bedrock regional inference profiles to regional pricing in get_model_info (LIT-4056) by @mateo-berri in #32389
- fix(passthrough): stream non-sse passthrough responses instead of buffering in memory by @mateo-berri in #32386
- fix(ui/mcp): do not reset in-flight OAuth resume when create modal mounts closed by @tin-berri in #32416
- fix(mcp): accept integer progressToken in host progress capture by @tin-berri in #32402
- fix(proxy): resolve os.environ/ refs universally in DB-sourced models by @yucheng-berri in #32405
- ci: ratchet LIT003 budget down to current count to remove suppression slack by @mateo-berri in #32423
- ci(llm_responses_api_testing): bound live re-record calls and rerun timeout-only failures to stop 15m no-output kills by @mateo-berri in #32420
- test(responses): bound azure shell tool live call at 90s and skip on provider timeout by @mateo-berri in #32424
- ci: skip unit test workflows when only ui or markdown files change by @mateo-berri in #32422
- feat(ui): expose MCP max_concurrent_requests in server create and edit forms by @tin-berri in #32397
- feat(rate_limit): support per-tag rpm limiting on a single key by @yassin-berriai in #31502
- fix(mcp): drop the cached per-user OAuth token when the credential row changes by @tin-berri in #32302
- perf(auth): negative-cache missing user/key lookups on the request hot path by @yassin-berriai in #32368
- test(vertex_ai): bump local_testing vertex tests from gemini-2.5-flash to gemini-3.5-flash by @mateo-berri in #32439
- test(realtime): record and replay websocket traffic in redis vcr cassettes by @mateo-berri in #32390
- fix(mcp): log MCP tool calls returning isError=true as failures by @yassin-berriai in #32238
- feat(ui): sort session sidebar calls by duration or start time by @thibault-linktree in #32432
- test(responses): replace perma-skip azure shell e2e with offline coverage by @mateo-berri in #32444
- fix(proxy): harden secret name validation for external secret manager integrations by @yucheng-berri in #32092
- test: emit e2e coverage metrics for loki by @ishaan-berri in #32513
- feat(proxy): make Microsoft Graph endpoint configurable for GCC High by @devin-ai-integration[bot] in #32517
- fix(mcp): pair token-endpoint client_secret with the same source as client_id by @tin-berri in #32507
- ci: run unit test workflows on ui-only changes (revert #32422) by @yuneng-berri in #32530
- fix(health): bridge litellm_metadata into logging object in _batch_health_check by @yucheng-berri in #32520
- feat(ui): sort session sidebar calls by duration or start time by @yuneng-berri in #32502
- fix(otel): restore error.* span attributes on v2 error spans (LIT-4179) by @yucheng-berri in #32524
- refactor(ui): reskin shared DataTable from tremor onto shadcn table primitives by @ryan-crabbe-berri in #32209
- fix(bedrock): preserve cache_control ttl on message-level cache points by @devin-ai-integration[bot] in #32538
- feat(ui): add eslint rules for nested ternaries, large inline object args, and long condition chains by @ryan-crabbe-berri in #32415
- fix(guardrails): forward grayswan scan id header by @yucheng-berri in #32544
- feat(ui): add enterprise license expiry banner to admin dashboard by @yuneng-berri in #32540
- refactor(ui): consolidate table cells onto a shared table_cells kit by @ryan-crabbe-berri in #32393
- feat(mcp): add true_passthrough and oauth_delegate auth modes by @tin-berri in #31989
- fix(vertex): forward realtime health check params by @mateo-berri in #32550
- feat(pricing): add xai/grok-4.5 model pricing and metadata by @devin-ai-integration[bot] in #32549
- fix(rerank): log optional_rerank_params at debug to stop leaking request content by @devin-ai-integration[bot] in #32533
- refactor(ui): point invitation links at the dedicated /onboarding route by @ryan-crabbe-berri in #30857
- fix(bedrock): honor cache_control ttl on message-level cachePoint blocks by @mateo-berri in #32551
- fix(guardrails): walk Responses-API text taxonomy in shared content helpers by @yucheng-berri in #32542
- refactor(otel): move litellm error detail keys under the litellm.* namespace by @yassin-berriai in #32591
- fix(proxy): surface OAuth error params in SSO callback by @yassin-berriai in #32433
- test(benchmarks): run shared logging executor inline to make CodSpeed measurements deterministic by @yassin-berriai in #32435
- fix(deps): constrain soupsieve>=2.8.4 to patch two high-severity CVEs by @devin-ai-integration[bot] in #32643
- feat(ui): add session id filter to request logs by @thibault-linktree in #32568
- feat(ui): add session id filter to request logs by @tin-berri in #32647
- chore: bump litellm-enterprise 0.1.48 -> 0.1.49 by @yuneng-berri in #32634
- fix(ui): prevent reasoning block from expanding chat playground layout by @devin-ai-integration[bot] in #32485
- docs(enterprise): fix enterprise doc link in Readme.md by @hasan4791 in #31815
- feat(models): add GPT-5.6 (sol/terra/luna) pricing and metadata by @devin-ai-integration[bot] in #32659
- chore(ci): promote internal staging to main by @yuneng-berri in #32663
Full Changelog: v1.93.0-dev.1...v1.93.0-dev.2