What changed
Model Runner V2 (MRv2) is now the default for Llama and Mistral dense models (was only default for Qwen3 in v0.22.x). Transformers v4 support is fully removed — vLLM now requires Transformers v5. Multi-tier KV cache offloading with object-store secondary tier now GA with HMA enabled by default. New model support: Gemma 4 Unified (encoder-free), DeepSeek-V4 with TRTLLM attention kernel, Step-3.7-Flash, Cosmos3 Reasoner, MiMo-V2.5, Cohere Mini Code, Granite Speech Plus. Rust frontend expanded with streaming, dynamic LoRA, and tool parsers for InternLM2, Phi-4-mini, Gemma4. AMD ROCm upgraded to v7.2.3 with native W4A16 kernels. NVIDIA CUTLASS FP8 padding bypass delivers +20% throughput improvement. Anthropic Messages API structured output now supported.
TL;DR
vLLM v0.23.0 (June 13, 408 commits from 200 contributors) makes Model Runner V2 the default for Llama+Mistral, removes Transformers v4 (breaking), and brings multi-tier KV cache offloading to GA — the biggest release since v0.21.0.
Developer signal
Three immediate actions: (1) Check your Transformers version — pip install transformers>=5 is now required. If your environment pins transformers<5 (common in older Dockerfile setups), vLLM v0.23.0 will fail to import. Run pip show transformers and upgrade before deploying. (2) Test Model Runner V2 for your Llama/Mistral workloads — MRv2 is the default now but can be disabled with --no-enable-mrv2 if you hit regressions. MRv2 delivers breakable CUDA graphs, pipeline-parallel bubble elimination, and FlashInfer sampling. (3) Evaluate multi-tier KV cache offloading — if you're memory-constrained on long-context workloads, --kv-cache-offloading-policy now supports object-store (S3-compatible) as a secondary tier with HMA enabled by default. The JAISLMHeadModel class is also removed — if you serve JAIS models, you need a workaround. The Anthropic Messages API structured output support means vLLM servers can now speak the Anthropic wire format directly for structured generation, without an adapter.