v0.15.0

vllm-project/vllmv0.15.0Jan 29, 2026by khluu

AI Summary

This release features 335 commits from 158 contributors, introducing new model architectures like Kimi-K2.5 and Molmo2, enhancing engine core capabilities with async scheduling and pipeline parallelism, and optimizing performance for NVIDIA Blackwell and AMD ROCm platforms.

Key Highlights

  • New architectures: Kimi-K2.5, Molmo2, Step3vl, GLM-Lite, Eagle2.5-8B VLM
  • Async scheduling now works with pipeline parallelism
  • Mamba prefix caching with block alignment for ~2x speedup
  • FlashInfer MLA is now the default MLA backend on Blackwell
  • FP4 kernel optimizations up to 65% faster

Breaking Changes

  • Removed deprecated `vllm:time_per_output_token_seconds` metric
  • Removed deprecated environment variables
  • Removed DeepSpeedFp8 and RTN quantization support
  • HQQ quantization deprecated

New Features

  • New embeddings: BGE-M3 sparse and ColBERT
  • Speculative decoding: EAGLE3 for Pixtral and Qwen3 VL MoE
  • Responses API: Partial message generation and prompt_cache_key support
  • Security: FIPS 140-3 compliant hash option
  • New architectures: Molmo2 vision backbone quantization

Full Release Notes

## Highlights

This release features 335 commits from 158 contributors (39 new)!

### Model Support
* **New architectures**: Kimi-K2.5 (#33131), Molmo2 (#30997), Step3vl 10B (#32329), Step1 (#32511), GLM-Lite (#31386), Eagle2.5-8B VLM (#32456).
* **LoRA expansion**: Nemotron-H (#30802), InternVL2 (#32397), MiniMax M2 (#32763).
* **Speculative decoding**: EAGLE3 for Pixtral/LlavaForConditionalGeneration (#32542), Qwen3 VL MoE (#32048), draft model support (#24322).
* **Embeddings**: BGE-M3 sparse embeddings and ColBERT embeddings (#14526).
* **Model enhancements**: Voxtral streaming architecture (#32861), SharedFusedMoE for Qwen3MoE (#32082), dynamic resolution for Nemotron Nano VL (#32121), Molmo2 vision backbone quantization (#32385).

### Engine Core
* **Async scheduling + Pipeline Parallelism**: `--async-scheduling` now works with pipeline parallelism (#32359).
* **Mamba prefix caching**: Block-aligned prefix caching for Mamba/hybrid models with `--enable-prefix-caching --mamba-cache-mode align`. Achieves ~2x speedup by caching Mamba states directly (#30877).
* **Session-based streaming input**: New incremental input support for interactive workloads like ASR. Accepts async generators producing `StreamingInput` objects while maintaining KV cache alignment (#28973).
* **Model Runner V2**: VLM support (#32546), architecture improvements.
* **LoRA**: Inplace loading for memory efficiency (#31326).
* **AOT compilation**: torch.compile inductor artifacts support (#25205).
* **Performance**: KV cache offloading redundant load prevention (#29087), FlashAttn attention/cache update separation (#25954).

### Hardware & Performance

#### NVIDIA
* **Blackwell defaults**: FlashInfer MLA is now the default MLA backend on Blackwell, with TRTLLM as default prefill (#32615).
* **MoE performance**: 1.2-2% E2E throughput improvement via grouped topk kernel fusion (#32058), NVFP4 small-batch decoding improvement (#30885), faster cold start for MoEs with torch.compile (#32805).
* **FP4 kernel optimization**: Up to 65% faster FP4 quantization on Blackwell (SM100F) using 256-bit loads, ~4% E2E throughput improvement (#32520).
* **Kernel improvements**: topk_sigmoid kernel for MoE routing (#31246), atomics reduce counting for SplitK skinny GEMMs (#29843), fused cat+quant for FP8 KV cache in MLA (#32950).
* **torch.compile**: SiluAndMul and QuantFP8 CustomOp compilation (#32806), Triton prefill attention performance (#32403).

#### AMD ROCm
* **MoRI EP**: High-performance all2all backend for Expert Parallel (#28664).
* **Attention improvements**: Shuffle KV cache layout and assembly paged attention kernel for AiterFlashAttentionBackend (#29887).
* **FP4 support**: MLA projection GEMMs with dynamic quantization (#32238).
* **Consumer GPU support**: Flash Attention Triton backend on RDNA3/RDNA4 (#32944).

#### Other Platforms
* **TPU**: Pipeline parallelism support (#28506), backend option (#32438).
* **Intel XPU**: AgRsAll2AllManager for distributed communication (#32654).
* **CPU**: NUMA-aware acceleration for TP/DP inference on ARM (#32792), PyTorch 2.10 (#32869).
* **Whisper**: torch.compile support (#30385).
* **WSL**: Platform compatibility fix for Windows Subsystem for Linux (#32749).

### Quantization
* **MXFP4**: W4A16 support for compressed-tensors MoE models (#32285).
* **Non-gated MoE**: Quantization support with Marlin, NVFP4 CUTLASS, FP8, INT8, and compressed-tensors (#32257).
* **Intel**: Quantization Toolkit integration (#31716).
* **FP8 KV cache**: Per-tensor and per-attention-head quantization via llmcompressor (#30141).

### API & Frontend
* **Responses API**: Partial message generation (#32100), `include_stop_str_in_output` tuning (#32383), `prompt_cache_key` support (#32824).
* **OpenAI API**: `skip_special_tokens` configuration (#32345).
* **Score endpoint**: Flexible input formats with `data_1`/`data_2` and `queries`/`documents` (#32577).
* **Render endpoints**: New endpoints for prompt preprocessing (#32473).
* **Whisper API**: `avg_logprob` and `compression_ratio` in verbose_json segments (#31059).
* **Security**: FIPS 140-3 compliant hash option for enterprise/government users (#32386), `--ssl-ciphers` CLI argument (#30937).
* **UX improvements**: Auto `api_server_count` based on `dp_size` (#32525), wheel variant auto-detection during install (#32948), custom profiler URI schemes (#32393).

### Dependencies
* FlashInfer v0.6.1 (#30993)
* Transformers 4.57.5 (#32287)
* PyTorch 2.10 for CPU backend (#32869)
* DeepGEMM newer version (#32479)

### Breaking Changes & Deprecations
* **Metrics**: Removed deprecated `vllm:time_per_output_token_seconds` metric - use `vllm:inter_token_latency_seconds` instead (#32661).
* **Environment variables**: Removed deprecated environment variables (#32812).
* **Quantization**: DeepSpeedFp8 removed (#32679), RTN removed (#32697), HQQ deprecated (#32681).

### Bug Fixes
* **Speculative decoding**: Eagle draft_model_config fix (#31753).
* **DeepSeek**: DeepSeek-V3.1 + DeepGEMM incompatible scale shapes fix (#32361).
* **Distributed**: DP+MoE inference fix via CpuCommunicator (#31867), P/D with non-MoE DP fix (#33037).
* **EPLB**: Possible deadlock fix (#32418).
* **NIXL**: UCX memory leak fix by exporting UCX_MEM_MMAP_HOOK_MODE=none (#32181).
* **Structured output**: Outlines byte fallback handling fix (#31391).

---

## New Contributors 🎉
* @YunzhuLu made their first contribution in https://github.com/vllm-project/vllm/pull/32126
* @emricksini-h made their first contribution in https://github.com/vllm-project/vllm/pull/30784
* @dsfaccini made their first contribution in https://github.com/vllm-project/vllm/pull/32289
* @ofirzaf made their first contribution in https://github.com/vllm-project/vllm/pull/32312
* @seekskyworld made their first contribution in https://github.com/vllm-project/vllm/pull/32321
* @brian033 made their first contribution in https://github.com/vllm-project/vllm/pull/31715
* @TomerBN-Nvidia made their first contribution in https://github.com/vllm-project/vllm/pull/32257
* @vanshilshah97 made their first contribution in https://github.com/vllm-project/vllm/pull/32448
* @George-Polya made their first contribution in https://github.com/vllm-project/vllm/pull/32385
* @T1mn made their first contribution in https://github.com/vllm-project/vllm/pull/32411
* @mritunjaysharma394 made their first contribution in https://github.com/vllm-project/vllm/pull/31492
* @randzero made their first contribution in https://github.com/vllm-project/vllm/pull/32511
* @DemingCheng made their first contribution in https://github.com/vllm-project/vllm/pull/32556
* @iboiko-habana made their first contribution in https://github.com/vllm-project/vllm/pull/32471
* @honglyua-il made their first contribution in https://github.com/vllm-project/vllm/pull/32462
* @hyeongyun0916 made their first contribution in https://github.com/vllm-project/vllm/pull/32473
* @DanielMe made their first contribution in https://github.com/vllm-project/vllm/pull/32560
* @netanel-haber made their first contribution in https://github.com/vllm-project/vllm/pull/32121
* @longregen made their first contribution in https://github.com/vllm-project/vllm/pull/28784
* @jasonyanwenl made their first contribution in https://github.com/vllm-project/vllm/pull/32749
* @Wauplin made their first contribution in https://github.com/vllm-project/vllm/pull/32788
* @ikaadil made their first contribution in https://github.com/vllm-project/vllm/pull/32775
* @alexsun07 made their first contribution in https://github.com/vllm-project/vllm/pull/28664
* @liranschour made their first contribution in https://github.com/vllm-project/vllm/pull/30207
* @AuYang261 made their first contribution in https://github.com/vllm-project/vllm/pull/32844
* @diviramon made their first contribution in https://github.com/vllm-project/vllm/pull/32393
* @RishabhSaini made their first contribution in https://github.com/vllm-project/vllm/pull/32884
* @MatteoFari made their first contribution in https://github.com/vllm-project/vllm/pull/32397
* @peakcrosser7 made their first contribution in https://github.com/vllm-project/vllm/pull/30877
* @orionr made their first contribution in https://github.com/vllm-project/vllm/pull/30443
* @marksverdhei made their first contribution in https://github.com/vllm-project/vllm/pull/32614
* @joninco made their first contribution in https://github.com/vllm-project/vllm/pull/32935
* @monajafi-amd made their first contribution in https://github.com/vllm-project/vllm/pull/32944
* @ruizcrp made their first contribution in https://github.com/vllm-project/vllm/pull/32988
* @sjhddh made their first contribution in https://github.com/vllm-project/vllm/pull/32983
* @HirokenOvo made their first contribution in https://github.com/vllm-project/vllm/pull/32646
* @Chenhao-Guan made their first contribution in https://github.com/vllm-project/vllm/pull/32763
* @joshuadeng made their first contribution in https://github.com/vllm-project/vllm/pull/28973
* @ZhanqiuHu made their first contribution in https://github.com/vllm-project/vllm/pull/33016

**Full Changelog**: https://github.com/vllm-project/vllm/compare/v0.14.1...v0.15.0