v0.14.0
vllm-project/vllmv0.14.0Jan 20, 2026by khluu
AI Summary
A major update enabling async scheduling by default, requiring PyTorch 2.9.1, and adding features like gRPC server, `--max-model-len auto`, and Model Runner V2.
Key Highlights
- Async scheduling enabled by default (disable with `--no-async-scheduling`)
- gRPC server entrypoint
- `--max-model-len auto` flag for automatic context fitting
- Model Runner V2 enhancements (UVA block tables, M-RoPE)
Breaking Changes
- Async scheduling enabled by default
- PyTorch 2.9.1 required
- Deprecated quantization schemes removed
- Unsupported sampling parameters fail in speculative decoding
New Features
- New model architectures: Grok-2, LFM2-VL, MiMo-V2-Flash
- gRPC server support
- Model inspection view for VLLM
- Offline FastAPI docs
- LoRA expansion for multimodal towers
Full Release Notes
## Highlights This release features approximately 660 commits from 251 contributors (86 new contributors). **Breaking Changes:** - **Async scheduling is now enabled by default** - Users who experience issues can disable with `--no-async-scheduling`. - Excludes some not-yet-supported configurations: pipeline parallel, CPU backend, non-MTP/Eagle spec decoding. - **PyTorch 2.9.1** is now required and the default wheel is compiled against cu129. - Deprecated quantization schemes have been removed (#31688, #31285). - When using speculative decoding, unsupported sampling parameters will fail rather than being silently ignored (#31982). **Key Improvements:** - **Async scheduling enabled by default** (#27614): Overlaps engine core scheduling with GPU execution, improving throughput without user configuration. Now also works with speculative decoding (#31998) and structured outputs (#29821). - **gRPC server entrypoint** (#30190): Alternative to REST API with binary protocol, HTTP/2 multiplexing. - **`--max-model-len auto`** (#29431): Automatically fits context length to available GPU memory, eliminating OOM startup failures. - **Model inspection view** (#29450): View the modules, attention backends, and quantization of your model in vLLM by specifying `VLLM_LOG_MODEL_INSPECTION=1` or by simply printing the `LLM` object. - **Model Runner V2 enhancements**: UVA block tables (#31965), M-RoPE (#32143), `logit_bias`/`allowed_token_ids`/`min_tokens` support (#32163). - Please note that Model Runner V2 is still experimental and disabled by default. ### Model Support **New Model Architectures:** - Grok-2 with tiktoken tokenizer (#31847) - LFM2-VL vision-language model (#31758) - MiMo-V2-Flash (#30836) - openPangu MoE (#28775) - IQuestCoder (#31575) - Nemotron Parse 1.1 (#30864) - GLM-ASR audio (#31436) - Isaac vision model v0.1/v0.2 (#28367, #31550) - Kanana-1.5-v-3b-instruct (#29384) - K-EXAONE-236B-A23B MoE (#31621) **LoRA Support Expansion:** - Multimodal tower/connector LoRA (#26674): LLaVA (#31513), BLIP2 (#31620), PaliGemma (#31656), Pixtral (#31724), DotsOCR (#31825), GLM4-V (#31652) - DeepSeek-OCR (#31569), Qwen3-Next (#31719), NemotronH (#31539), PLaMo 2/3 (#31322) - Vision LoRA mm_processor_cache support (#31927) - MoE expert base_layer loading (#31104) **Model Enhancements:** - Qwen3-VL as reranker (#31890) - DeepSeek v3.2 chat prefix completion (#31147) - GLM-4.5/GLM-4.7 `enable_thinking: false` (#31788) - Ernie4.5-VL video timestamps (#31274) - Score template expansion (#31335) - LLaMa4 vision encoder compilation (#30709) - NemotronH quantized attention (#31898) ### Engine Core - **Async scheduling default** with spec decode (#27614, #31998) and structured outputs (#29821) - **Hybrid allocator + KV connector** (#30166) with multiple KV cache groups (#31707) - Triton attention: encoder-only/cross attention (#31406), cross-layer blocks (#30687) - Mamba2 prefix cache optimization (#28047) - Batch invariant LoRA (#30097) - LoRA name in BlockStored for KV-cache reconstruction (#27577) - Request ID collision prevention (#27987) - Dense model DP without overhead (#30739) - Async + spec decode penalties/bad_words (#30495) ### Hardware & Performance **CUTLASS MoE Optimizations:** - 2.9% throughput + 10.8% TTFT via fill(0) optimization (#31754) - 5.3% throughput + 2.2% TTFT via problem size calculation (#31830) - Fused SiLU+Mul+Quant for NVFP4 (#31832) - NVFP4 stride fusion (#31837) **Other Performance:** - GDN attention decode speedup (Qwen3-Next) (#31722) - Fused RoPE + MLA KV-cache write (#25774) - Sliding window attention optimization (#31984) - FlashInfer DeepGEMM swapAB SM90 (#29213) - Unpermute-aware fused MoE + small-batch fallback (#29354) - GDN Attention blocking copy removal (#31167) - FusedMoE LoRA small rank performance (#32019) - EPLB numpy optimization (#29499) - FlashInfer rotary for DeepSeek (#30729) - Vectorized activations (#29512) - NUMA interleaved memory (#30800) - Async spec decode logprobs (#31336) **Hardware Configs:** - SM103 support (#30705, #31150) - B300 Blackwell MoE configs (#30629) - Qwen3-Next FP8 CUTLASS configs (#29553) - Qwen3Moe B200 Triton configs (#31448) - GLM-4.5/4.6 RTX Pro 6000 kernels (#31407) - MiniMax-M2/M2.1 QKNorm (#31493) - NVFP4 small batch tuning (#30897) **Platform:** - ROCm: AITER RMSNorm fusion (#26575), MTP for AITER MLA (#28624), moriio connector (#29304), xgrammar upstream (#31327) - XPU: FP8 streaming quant (#30944), custom workers (#30935) - CPU: Head sizes 80/112 (#31968), async disabled by default (#31525), LoRA MoE CPU pinning (#31317) - TPU: tpu-inference path (#30808), Sophgo docs (#30949) ### Large Scale Serving - **XBO** (Extended Dual-Batch Overlap) (#30120) - **NIXL asymmetric TP** (P > D tensor-parallel-size) (#27274) - NIXL heterogeneous BlockSize/kv_layout (#30275) - Cross-layers KV layout for MultiConnector (#30761) - Mooncake protocol expansion (#30133) - LMCache KV cache registration (#31397) - EPLB default all2all backend (#30559) ### Quantization - **Marlin for Turing (sm75)** (#29901, #31000) - **Quark int4-fp8 w4a8 MoE** (#30071) - **MXFP4 W4A16 dense models** (#31926) - **ModelOpt FP8 variants** (FP8_PER_CHANNEL_PER_TOKEN, FP8_PB_WO) (#30957) - ModelOpt KV cache quantization update (#31895) - NVFP4 Marlin for NVFP4A16 MoEs (#30881) - Static quant all group shapes (#30833) - Default MXFP4 LoRA backend: Marlin (#30598) - compressed-tensors 0.13.0 (#30799) ### API & Frontend **New Features:** - gRPC server (#30190) - `--max-model-len auto` (#29431) - Model inspection view (#29450) - Offline FastAPI docs (#30184) - `attention_config` in LLM() (#30710) - MFU metrics (#30738) - Iteration logging + NVTX (#31193) - `reasoning_effort` parameter (#31956) **Tool Calling:** - FunctionGemma parser (#31218) - GLM-4.7 parser (#30876) - Kimi K2 update (#31207) **CLI:** - `-ep` for `--enable-expert-parallel` (#30890) - Complete help messages (#31226) - Bench serve auto-discovery + `--input-len` (#30816) - Spec decode acceptance stats (#31739) - `--enable-log-deltas` (renamed) (#32020) - `--default-chat-template-kwargs` (#31343) **API:** - `/server_info` env info (#31899) - MCP streaming in Responses API (#31761) - `/embeddings` `continue_final_message` (#31497) - Reranking score templates (#30550) - Chat template warmup (#30700) - Configurable handshake timeout (#27444) - Better 500 errors (#20610) - Worker init logging (#29493) - Bench error reporting (#31808) - Corrupted video recovery (#29197) - Spec-decode param validation (#31982) - Validation error metadata (#30134) ### Security - Prevent token leaks in crash logs (#30751) - `weights_only=True` in torch.load (#32045) ### Dependencies - **PyTorch 2.9.1** (#28495) - compressed-tensors 0.13.0 (#30799) - CUDA 13 LMCache/NIXL in Docker (#30913) - Configurable NVSHMEM version (#30732) ### Bug Fixes (User-Facing) - Invalid UTF-8 tokens (#28874) - CPU RoPE gibberish with `--enforce-eager` (#31643) - Tool call streaming finish chunk (#31438) - Encoder cache leak CPU scheduling stuck (#31857) - Engine crash: tools + response_format (#32127) - Voxtral transcription API (#31388) - Safetensors download optimization (#30537) ### Deprecations - Deprecated quantization schemes removed (#31688, #31285) - `seed_everything` deprecated (#31659) ### Documentation - vllm-metal plugin docs (#31174) - Claude Code example (#31188) - CustomOp developer guide (#30886) ## New Contributors 🎉 * @penfree made their first contribution in https://github.com/vllm-project/vllm/pull/30237 * @jiangkuaixue123 made their first contribution in https://github.com/vllm-project/vllm/pull/30120 * @jr-shen made their first contribution in https://github.com/vllm-project/vllm/pull/29663 * @grzegorz-k-karch made their first contribution in https://github.com/vllm-project/vllm/pull/30795 * @shanjiaz made their first contribution in https://github.com/vllm-project/vllm/pull/30799 * @Somoku made their first contribution in https://github.com/vllm-project/vllm/pull/29569 * @baoqian426 made their first contribution in https://github.com/vllm-project/vllm/pull/30841 * @SongDI911 made their first contribution in https://github.com/vllm-project/vllm/pull/30852 * @www-spam made their first contribution in https://github.com/vllm-project/vllm/pull/30827 * @Xunzhuo made their first contribution in https://github.com/vllm-project/vllm/pull/30844 * @TheCodeWrangler made their first contribution in https://github.com/vllm-project/vllm/pull/30700 * @SungMinCho made their first contribution in https://github.com/vllm-project/vllm/pull/30738 * @sarathc-cerebras made their first contribution in https://github.com/vllm-project/vllm/pull/30188 * @wzyrrr made their first contribution in https://github.com/vllm-project/vllm/pull/30949 * @navmarri14 made their first contribution in https://github.com/vllm-project/vllm/pull/30629 * @HaloWorld made their first contribution in https://github.com/vllm-project/vllm/pull/30867 * @jeffreywang-anyscale made their first contribution in https://github.com/vllm-project/vllm/pull/31013 * @AmeenP made their first contribution in https://github.com/vllm-project/vllm/pull/31093 * @westers made their first contribution in https://github.com/vllm-project/vllm/pull/31071 * @CedricHwong made their first contribution in https://github.com/vllm-project/vllm/pull/30957 * @c0de128 made their first contribution in https://github.com/vllm-project/vllm/pull/31114 * @Bounty-hunter made their first contribution in https://github.com/vllm-project/vllm/pull/30242 * @jzakrzew made their first contribution in https://github.com/vllm-project/vllm/pull/30550 * @1643661061leo made their first contribution in https://github.com/vllm-project/vllm/pull/30760 * @NickCao made their first contribution in https://github.com/vllm-project/vllm/pull/30070 * @amithkk made their first contribution in https://github.com/vllm-project/vllm/pull/31212 * @gateremark made their first contribution in https://github.com/vllm-project/vllm/pull/31218 * @Tiiiktak made their first contribution in https://github.com/vllm-project/vllm/pull/31274 * @oscardev256 made their first contribution in https://github.com/vllm-project/vllm/pull/28367 * @Jzz1943 made their first contribution in https://github.com/vllm-project/vllm/pull/31448 * @mratsim made their first contribution in https://github.com/vllm-project/vllm/pull/31407 * @twjww made their first contribution in https://github.com/vllm-project/vllm/pull/31445 * @amittell made their first contribution in https://github.com/vllm-project/vllm/pull/31438 * @ricky-chaoju made their first contribution in https://github.com/vllm-project/vllm/pull/30184 * @effortprogrammer made their first contribution in https://github.com/vllm-project/vllm/pull/31343 * @ZT-AIA made their first contribution in https://github.com/vllm-project/vllm/pull/31408 * @rogerxfeng8 made their first contribution in https://github.com/vllm-project/vllm/pull/31522 * @kevin-pw made their first contribution in https://github.com/vllm-project/vllm/pull/31497 * @vintipandey made their first contribution in https://github.com/vllm-project/vllm/pull/31505 * @SameerAsal made their first contribution in https://github.com/vllm-project/vllm/pull/31520 * @Dylan1229 made their first contribution in https://github.com/vllm-project/vllm/pull/31546 * @reaganjlee made their first contribution in https://github.com/vllm-project/vllm/pull/29105 * @zhima771 made their first contribution in https://github.com/vllm-project/vllm/pull/31569 * @jayhemnani9910 made their first contribution in https://github.com/vllm-project/vllm/pull/31513 * @Tmn07 made their first contribution in https://github.com/vllm-project/vllm/pull/31572 * @vsourirajan made their first contribution in https://github.com/vllm-project/vllm/pull/31549 * @labAxiaoming made their first contribution in https://github.com/vllm-project/vllm/pull/31601 * @massif-01 made their first contribution in https://github.com/vllm-project/vllm/pull/31604 * @PHOEBEMOON0802 made their first contribution in https://github.com/vllm-project/vllm/pull/31147 * @tpopp made their first contribution in https://github.com/vllm-project/vllm/pull/29993 * @ppppqp made their first contribution in https://github.com/vllm-project/vllm/pull/31620 * @zzzzwwjj made their first contribution in https://github.com/vllm-project/vllm/pull/31674 * @Catacomba made their first contribution in https://github.com/vllm-project/vllm/pull/30322 * @kunpengW-code made their first contribution in https://github.com/vllm-project/vllm/pull/31669 * @johncalesp made their first contribution in https://github.com/vllm-project/vllm/pull/28874 * @BlankRH made their first contribution in https://github.com/vllm-project/vllm/pull/31800 * @guicho271828 made their first contribution in https://github.com/vllm-project/vllm/pull/20610 * @ReinforcedKnowledge made their first contribution in https://github.com/vllm-project/vllm/pull/31055 * @vSeamar made their first contribution in https://github.com/vllm-project/vllm/pull/29197 * @A1c0r-Z made their first contribution in https://github.com/vllm-project/vllm/pull/31656 * @MrIceCreamMan made their first contribution in https://github.com/vllm-project/vllm/pull/31465 * @tianshu-Michael-yu made their first contribution in https://github.com/vllm-project/vllm/pull/31841 * @weiyu0824 made their first contribution in https://github.com/vllm-project/vllm/pull/30808 * @andyl98 made their first contribution in https://github.com/vllm-project/vllm/pull/31757 * @JaredforReal made their first contribution in https://github.com/vllm-project/vllm/pull/31779 * @katec846 made their first contribution in https://github.com/vllm-project/vllm/pull/29213 * @kfirtoledo made their first contribution in https://github.com/vllm-project/vllm/pull/30761 * @Ayobami-00 made their first contribution in https://github.com/vllm-project/vllm/pull/31868 * @ShaanveerS made their first contribution in https://github.com/vllm-project/vllm/pull/31825 * @Zyyeric made their first contribution in https://github.com/vllm-project/vllm/pull/31652 * @wangshangsam made their first contribution in https://github.com/vllm-project/vllm/pull/31775 * @devbyteai made their first contribution in https://github.com/vllm-project/vllm/pull/31536 * @BJWang-ant made their first contribution in https://github.com/vllm-project/vllm/pull/31719 * @dangoldbj made their first contribution in https://github.com/vllm-project/vllm/pull/31847 * @maylikenoother made their first contribution in https://github.com/vllm-project/vllm/pull/31610 * @yxing-bj made their first contribution in https://github.com/vllm-project/vllm/pull/31575 * @xbfs made their first contribution in https://github.com/vllm-project/vllm/pull/31948 * @RunkaiTao made their first contribution in https://github.com/vllm-project/vllm/pull/29354 * @AkshatSh made their first contribution in https://github.com/vllm-project/vllm/pull/31550 * @frelam made their first contribution in https://github.com/vllm-project/vllm/pull/31857 * @shyeh25 made their first contribution in https://github.com/vllm-project/vllm/pull/31617 * @andikarachman made their first contribution in https://github.com/vllm-project/vllm/pull/32092 * @minimAluminiumalism made their first contribution in https://github.com/vllm-project/vllm/pull/32158 * @andyzhangx made their first contribution in https://github.com/vllm-project/vllm/pull/32185 * @sanghoon-yn made their first contribution in https://github.com/vllm-project/vllm/pull/31956 * @potatosalad made their first contribution in https://github.com/vllm-project/vllm/pull/32212 **Full Changelog**: https://github.com/vllm-project/vllm/compare/v0.13.0...v0.14.0