vLLM 0.28.0 is out with 584 commits from 270 contributors, 76 of them first-timers. The headline work is a broad optimization push for Kimi-K3: Decode Context Parallel support, fused FlashKDA decode and prefill kernels, GEMM-RS for sequence parallelism, combined all-gathers with a 1.5 to 3x kernel-level speedup, and an adaptive speculative token budget that improves DSpark TTFT by roughly 60 percent. Optional shared-expert sharding saves about 17 GiB of memory per GPU, and Kimi-K3 now runs on ROCm with the V2 model runner.

DeepSeek V4 gains end-to-end sparse MLA for plain decode, MTP and DSpark speculative decoding, plus AMD Quark NVFP4 support and ROCm enablement on gfx11 and gfx950. Speculative decoding advances include DFlash2 with local convolution and a candidate selector, DSpark confidence-scheduled verification, and async scheduling auto-enabled for draft models.

Model Runner V2 matures with E/P/D disaggregation, weight offloading, multi-layer MTP KV cache support and encoder CUDA graphs. Tiered KV cache offloading now supports disk offload, out-of-tree secondary tier managers and tiering metrics. The Rust frontend adds a standalone renderer, multimodal image inference over gRPC and RL lifecycle control, with protobuf schemas published to Buf.

Defaults change: max_num_batched_tokens rises from 8192 to 16384, prefix caching is on by default for Mamba models, and the Blackwell CUDA graph capture default goes to 1024. Breaking changes: bitsandbytes moves to an out-of-tree plugin, Transformers is bumped to 5.15.0, and calculate_kv_scales plus override_attention_dtype are removed.

New models include Muse Glimmer, Ling 3.0 Flash with BF16, MTP and an FP8 variant, Dots3 NOTE multimodal and Interns2mobius. Security fixes close a DoS via sample-rate forgery that bypassed the audio decode duration guard. Wheels target CUDA 13.0 via pip install vllm, with CUDA 12.9, ROCm, CPU and XPU images available; the runtime image moves to Ubuntu 24.04.