v0.20.0
vllm-project/vllmv0.20.0Apr 27, 2026by khluu
AI Summary
Major release with 752 commits from 320 contributors featuring CUDA 13.0 default, PyTorch 2.11 upgrade, Transformers v5 support, DeepSeek V4 initial support, FlashAttention 4 as default MLA prefill, and TurboQuant 2-bit KV cache. Includes vLLM IR skeleton and significant Model Runner V2 advances.
Key Highlights
- CUDA 13.0 default (previously CUDA 12.9)
- PyTorch 2.11 upgrade (breaking change for environment dependency)
- Python 3.14 added to supported Python versions
- Transformers v5 support (transformers>=5)
- DeepSeek V4 initial support with DSML token-leakage fix
Breaking Changes
- PyTorch 2.11 upgrade - breaking change for environment dependency
- XPU now uses torch 2.11 (previously pinned to 2.10)
New Features
- FlashAttention 4 as default MLA prefill with head-dim 512 and paged-KV support
- TurboQuant 2-bit KV cache with 4× capacity
- Online quantization frontend (end-to-end)
- vLLM IR initial skeleton with rms_norm op
- Model Runner V2: full CUDA graph for eagle prefill, auto cudagraph mode, fused probabilistic rejection sample kernels
- MoE refactor series with Full Oracle Flow
- Hunyuan v3 (Hy3) preview support
- Granite 4.1 Vision as built-in multimodal model
Full Release Notes
# vLLM v0.20.0 ## Highlights This release features 752 commits from 320 contributors (123 new)! * **CUDA 13.0 default**: Default CUDA wheel on PyPI and `vllm/vllm-openai:v0.20.0` image switched to CUDA 13.0; architecture lists and build-args cleaned up (#39878), and CUDA bumped to 13.0.2 to match PyTorch 2.11.0 (#40669). As a general rule of thumb, our CUDA version policy follows PyTorch's. We highly recommend to install vLLM with `uv` and use `--torch-backend=cu129` if you are on CUDA 12.9. * **PyTorch 2.11 upgrade** (#34644): vLLM ships on torch 2.11 for CUDA, and XPU is now also on torch 2.11 (#37947) — XPU is no longer pinned to 2.10. This is a breaking change for environment dependency. * **Python 3.14**: Added to the supported Python version list (#34770). * **Transformers v5**: vLLM now runs on HuggingFace `transformers>=5` (#30566), with vision-encoder torch.compile bypass (#30518) and continued v4/v5 compat fixes including PaddleOCR-VL image processor `max_pixels` (#38629), Mistral YaRN warning (#37292), and Jina ColBERT rotary inv_freq recompute (#39176). * **DeepSeek V4**: Initial DeepSeek V4 support landed (#40860), with DSML token-leakage fix in DSV4/3.2 (#40806), DSA + MTP IMA fix (#40772), and a silu clamp limit on the shared expert (#40950). * **New large models**: Hunyuan v3 (Hy3) preview (#40681) with HYV3 reasoning parser (#40713); Granite 4.1 Vision as a built-in multimodal model (#40282). * **FlashAttention 4 as default MLA prefill**: FA4 re-enabled as the default MLA prefill backend (#38819) with head-dim 512 and paged-KV support on SM90+ (#38835), plus an upstream FA4 sync (#38690). * **TurboQuant 2-bit KV cache**: New attention backend delivering 2-bit KV cache compression with 4× capacity (#38479), now with FA3/FA4 prefill support (#40092). * **Online quantization frontend**: New end-to-end online quantization frontend (#38138), with docs (#39736); experts_int8 consolidated into the FP8 online path (#38463); MXFP8 online quant moved to the new frontend (#40152). * **vLLM IR**: Initial IR skeleton with rms_norm op (#33825), OOT-platform kernel imports (#38807), gemma_rms_norm reworked on IR (#39014), and IR op testing/benchmarking infra added (#40167) — foundation for future kernel work. * **Model Runner V2 advances**: Eagle prefill full-CUDA-graph (#37588), auto-resolve cudagraph mode/sizes from attention backend (#32936), fused probabilistic rejection sample kernels (#38496), config validation for unsupported features (#38758), piecewise-fallback disabled for eagle draft decodes (#39773), multiple prompt-logprobs support (#39937), prefill warmup coverage (#40746), and a fix for accuracy regression caused by stale sampled/draft tokens (#39833). * **MoE refactor series**: Unquantized migrated to Full Oracle Flow (#36286), CT W8A8 to Oracle (#39187), SharedExperts class (#35153), `SharedFusedMoE` removed (#35782), DefaultMoERunner split (#35326) and later combined back into `MoERunnerBase` (#40560), shared/fused expert output sum moved into `MoERunnerBase` (#35949), ZeroExpertFusedMoE in new framework (#35549), `compressed_tensors_moe.py` split (#38960), `GPTQMarlinMoEMethod` reworked with MK (#37990), XPU & CUTLASS MoE relocated to `fused_moe/experts/` (#40568, #40574), `make_expert_params_mapping` renamed (#40671), MoE LoRA refactor (#40338), and MoE DP chunking removed (#39107). * **Performance**: Optimize batch invariant with fused rms norm — 2.1% E2E latency improvement (#40413); avoid `seq_lens_cpu` GPU→CPU sync (#40654); cache `InductorPass.hash_source` (#39328); skip FX-graph deserialization on loading for faster warm compile (#40151); CUDAGraph memory profiling enabled by default for clearer startup memory accounting (#38284). ### Model Support * New architectures: DeepSeek V4 (#40860), Hunyuan v3 preview (#40681), Granite 4.1 Vision (#40282), EXAONE-4.5 (#39388), BharatGen Param2MoE (#38000), Phi-4-reasoning-vision-15B (#38306), Cheers multimodal (#38788), telechat3 (#38510), FireRedLID (#39290), jina-reranker-v3 (#38800), Jina Embeddings v5 (#39575), Nemotron-v3 VL Nano/Super (#39747). * Gemma4 series: fast prefill (#38879), quantized MoE (#39045), Eagle3 (#39450), block-local attention + YaRN for Gemma3 (#39823), bidirectional vision attention for sliding layers (#40534), token-repetition fix via dynamic BOS (#39842), multimodal embedder norm-order fix (#40411), plus a string of streaming/tool-call fixes (#38844, #38909, #38992, #39114, #39679, #39027). * Quantization formats: GGUF support for MiniMax-M2.1 (#36965), non-standard GGUF quant types with prefix such as UD-IQ1_S (#39471). * Speculative decoding: Eagle3 for MiniMax-M2 (#37512), Eagle3 for Gemma4 (#39450). * LoRA: Qwen3ASRForConditionalGeneration (#37247), Gemma4ForConditionalGeneration (#39291, #38844), DeepSeek V3.2 (#35077), Qwen3.5 / Step3.x expert base_layer extension (#37114), MoE LoRA refactor (#40338), dual-CUDA-streams linear layer (#35721). * Multimodal MRoPE refresh: mm_features-based MRoPE for Ernie-4.5 VL (#39753), Keye-VL / Keye-1.5-VL (#39869), PaddleOCR-VL (#39888). * Other: Nano-Nemotron-VL static image inputs fix (#40724); Qwen3 MoE no longer calls gate twice (#40664); DeepSeek V2-Lite accuracy drop fix (#40673); Parakeet UX / perf enhancements (#39423); ColModernVBERT updated for latest HF checkpoint (#39307); NemotronH default `mamba_ssm_cache_dtype=float32` with NemotronHNanoVLV2 auto-hook (#39032); new TP plan styles for the Transformers backend (#40467); GLM-5.1 fix on ROCm (#40763). ### Engine Core * **Model Runner V2**: Full CUDA graph for eagle prefill (#37588), auto cudagraph mode/sizes based on attention backend (#32936), fused probabilistic rejection-sample kernels (#38496), config validation (#38758), eagle-draft piecewise fallback disabled (#39773), multiple prompt logprobs (#39937), prefill warmup coverage (#40746), stale sampled/draft tokens accuracy fix (#39833). * **vLLM IR**: IR skeleton + rms_norm (#33825), OOT kernel import hooks (#38807), gemma_rms_norm on IR (#39014), IR op testing/benchmarking infra (#40167). * **torch.compile**: Opaque Objects on torch 2.11 (#39286), AOT compile with batch-invariance mode (#39201), Inductor cache nested under AOT dir (#39718), split FX graph via codegen (#38657), Inductor pre-grad passes re-enabled for torch≥2.12 (#38944), strings in custom ops without compile regressions (#38123), MLA + group FP8 fusion (#38877), SiluMul activation+quant fusion refactor (#39684), `donate_graph_module=True` for `standalone_compile` (#39733), skip FX graph deserialization on loading (#40151), include Inductor & functorch configs in compile-cache key (#40627), respect `TORCH_COMPILE_DISABLE` at vLLM config level (#40715), disable Sequence Parallelism for piecewise compilation (#38373). * **Attention**: FA4 as default MLA prefill (#38819), head-dim 512 + paged-KV on sm90+FA4 (#38835), FA4 upstream sync (#38690), full CUDA graph for FlexAttention (#36298), FlexAttention non-causal support (#40394), unified 2D/3D triton_unified_attention (#40631), TRTLLM minimax_allreduce_rms ported (#37045), `concat_mla_q` half-types only (#37892), batch-invariance-aware backend auto-selection (#40193), avoid `seq_lens_cpu` GPU→CPU sync (#40654). * **Helion kernels**: torch.compile support for Helion kernels (#38592). * **HMA / KV offload**: GPU-side KV events for HMA (#37688), group block hashes/IDs tracked (#37109), unified memory layout for offloading workers (#37206), `shutdown()` on OffloadingConnector (#39182), request context passed through KV offload (#39185), sliding-window lookup (#36645), multi-group worker transfer (#38453), multi-KV-group lookup/load/store (#39401, #39402, #39403). * **Features**: NUMA binding for GPU workers (#38635), opt-in `VLLM_MEDIA_CACHE` media URL caching (#37123), safe request abort when FSM fails to advance (#38663), KV connector prioritized over internal registry (#38301), CUDAGraph memory profiling on by default (#38284), shared-expert overlap restored (#39222), `CONFIG_REGISTRY` config-class lookup fix when on-disk model_type differs (#39554), workspace-resize GPU memory leak fix (#39226), SWA/chunked-local runtime admission capped to startup pool-sizing bound (#40946). * **Pluggable layers**: Applied to llm_head / vocab embedding (#33465) and MoE layers (#33556). * **Mamba**: Stochastic rounding (#35753), different Conv state layouts (#37416), FlashInfer `selective_state_update` (#36162). * **Metrics & scheduling**: Labeled waiting-breakdown (capacity/deferred) metric (#38435), API server handshake simplified (#39364), mm-scheduler `get_num_embed` overhead reduced (#40143), `request_id` on `FinishedRequestStats` (#39710). * **Executor**: RayExecutorV2 introduced (#36836); unified engine process monitoring with Ray backend (#35862). ### Hardware & Performance * **NVIDIA**: swapAB support for SM120 CUTLASS blockwise FP8 GEMM (#38325), MXFP4 W4A4 CUTLASS MoE for SM100 (#37463), TRTLLM GEN NVFP4 MoE with non-512-aligned hidden dims via weight padding (#39510), TRTLLM FP8 MoE with shuffled weights + BlockMajorK layout (#38993), fused qknorm+rope kernel on SM9.0 (#37376), tuned fused_moe config for RTX PRO 6000 Blackwell (#39183), ViT full CUDA graph for Qwen3-VL video (#38061), `--enable-vit-cuda-graph` for VLM examples (#40580), default `max_frames_per_batch` auto-infer for ViT CG video (#40445), fused FP8 output quantization into `merge_attn_states` (#36518), batched KV-cache swap via `cuMemcpyBatchAsync` (#38460), sm_110 (Jetson Thor) added to CUDA 13.0 build targets (#39233). * **AMD ROCm**: ZenCPU / AMD Zen CPU backend via zentorch (#39967), RDNA 3.5/4 device IDs (gfx1150/1151/1201) (#38455), gfx1102/gfx1103 added (#40037), MORI EP for unquantized MoE with AITER (#37529), MoRI build with AMD AINIC stack (#38371), MoRI-IO message format aligned with P2pNcclConnector and vllm-router (#39565), MORI prefill/decode API correction (#39835), AITER gemm w8a8 ptpc integration (#33773), TritonW4A16LinearKernel (#37352), asymmetric INT8 in `TritonInt8ScaledMMLinearKernel` (#38501), `fused_silu_mul_block_quant` enabled (#38817), KV-cache shuffle for `paged_attention_common` (#32914), MLA decode output zero-fill removed in AITER (#37539), MLA dual RMS norm fusion pass for DeepSeek/Kimi-K2 (#39242, with older-AITer guard #40386), AITER MLA + Eagle3 spec decode (#39616), DFlash on ROCm (#39703), wvSplitK FP8 path for RDNA (#37712), GPU↔NUMA-node detection (#40015), non-causal attention in `ROCM_ATTN` (#40176), engine-shutdown GPU memory leak fix (#38503), score-correction-bias dtype cast for DeepSeek/Kimi-K2 (#39999). * **Intel XPU**: torch 2.11 upgrade for XPU (#37947) — no longer pinned to 2.10, initial GDN attention for Qwen3-Next / Qwen3.5 (#33657), torch.compile for XPU GDN attention (#39466), XPU MXFP8 quant op (#38682), XPU MXFP4 quant op (#39857), per-channel FP8 linear (#38316), FP8 KV cache on XPU (#37731), `round_int8` for Intel Triton (#38825), MoE Triton in online FP8 quantization fix (#40109), `current_platform.supports_fp8()` updated for TritonExperts (#40132), NIXL import on XPU fix (#40430), fusion-pattern support disabled on XPU (#39789). * **CPU**: CPU draft-model speculative decoding (#32662), CPU int8 compute mode in AWQ (#35697), head_size 512 in `cpu_attn` (#38676), gelu in `cpu_fused_moe` (#38770), OMP replacement (#36487), BF16 GELU LUT on ARM (#37469), W4A16 Autoround on CPU (#38192), CPU affinity/memory mgmt refactor (#39781), IBM Z s390x torch 2.11 builds (#39910), faster exp routine for lower-precision dtypes (#38112), inter-node pipeline parallel fix (#40150), RISC-V multiple RVV VLEN targets (#39478), RISC-V platform detection fix (#40427), exp() input clamp to prevent NaN on CPU/RISC-V (#40428). * **TPU**: tpu-inference upgraded to 0.18.0 (#40395). * **DeepSeek / MLA / Indexer**: Persistent TopK scheduler for DSV3.2 DSA decode (#37421), DSV3.2 indexer fused weights projection (#38684), Triton MLA perf fixes (#33529), indexer WK upcast to BF16 for fusion (#38928), MLA indexer uniform-decode optimization for MTP>1 (#39458), DSA + MTP IMA fix (#40772). * **GDN / Mamba**: Kernel fusion in GDN (#37813), TMA aligned with upstream FLA (#38981), GPU↔CPU syncs eliminated in prefill and spec-decode paths (#38361, #38047). * **Other**: DeepGEMM integrated into the vLLM wheel via CMake (#37980), Lustre FS checkpoint prefetching enabled by default (#39422), Gemma4 fused routing Triton kernel (#39083), Gemma4 embed_input_ids GPU/CPU sync removed (#39234), Nemotron VL image/video preprocessing optimized (#40283), SiLU block-quant fusion v1 (#32996), bilinear_pos_embed Triton kernel for ViT (#37948), mean-pooling optimization (~5.9% throughput) (#38559), redundant-sync removal for pooling (~3.7% throughput) (#39113), H2D pageable-memory copy reduction (#38794), fused zero initializer for FP8 DeepGemm block-quant (#39547), batch-invariant fused-rms-norm 2.1% E2E latency improvement (#40413), `InductorPass.hash_source` cached (#39328), humming quantization kernel (#34556). ### Large Scale Serving * **EPLB**: Alternative communication for EPLB weight exchange (#33176), nixl-based EPLB communicator (#36276), mapping optimization with router record for prefill (#36261), `TransferMetadata` consolidation (#37341), Async EPLB synchronization refactor (#37601), asyncio infrastructure removed from Async EPLB (#40730), replica-selection bias fix in fused_moe router (#40810), Async EPLB integration test added (#40168). * **WideEP**: Naive all2all replaced by allgather + reducescatter (#33728). * **KV Offload / Connector**: 3FS KVConnector (#37636), unified memory layout for offloading workers (#37206), cache_salt propagated through MP connector for per-user isolation (#39837), multi-connector metrics of same type (#40010), LMCache block-allocation event (#38856), LMCache MP save optimization with MLA (#38810), `num_lmcache_extra_cached_token` in KVTransferParams (#39843), offload all KV blocks during prefill in P/D (#40346), DP control bundle pinned to first GPU's node on Ray (#39167), FlashInfer NVLink MNNVL workspace sized to EP group (#40893). * **Disaggregated / NIXL / Mamba**: Heterogeneous TP 3-read conv-state transfer for NIXL + Mamba (#37635), Nixl bumped to 0.10.1 (#39922), `TpKVTopology` + `HeteroTPTransferConfig` unified into `TransferTopology` (#39529), NIXL EP treated as batched experts in fused_moe (#40412). ### Quantization * **New formats & methods**: TurboQuant 2-bit KV cache compression (#38479) with FA3/FA4 prefill (#40092), per-token-head INT8/FP8 KV cache quantization (#38378), fused FP8/NVFP4 output quantization in MLA attention (#35792), NVFP4 dense models on MI300/MI355X and Hopper via emulation (#35733), NVFP4 MoE emulation fallback for H100/MI300/MI350 (#35737), humming quantization kernel (#34556). * **Kernels**: MXFP8 in Marlin GEMM/MoE with Mxfp8LinearOp refactor (#34664), MXFP4 W4A4 CUTLASS MoE for SM100 (#37463), NVFP4 in `reshape_and_cache_flash` (#37332), batch-invariant NVFP4 linear (#39322), FlashInfer CuteDSL batched-experts backend for NVFP4 MoE (#38251), special `GptOssMxfp4MoeMethod` (#39604), W4A8_FP8 MoE TP>1 correctness fix (#40310), NVFP4 CUTLASS MoE OOB-read fix for non-multiple-of-4/16 expert counts (#40351), RMS norm + quant fusion fix on DeepGEMM UE8M0 path for B200 (#40552), Gemma4 quantized MoE (#39045). * **Compressed tensors**: W8A8 MXFP8 linear/MoE (`CompressedTensorsW8A8Mxfp8`) (#38815), CT W8A8 in Oracle structure (#39187), layerwise reloading of attention/KV quantized models (#38995), experts_int8 consolidated with FP8 online quant (#38463), MXFP8 online quant on the new frontend (#40152). * **Online quant**: Quantized model init failure fix with prefetch offloading (#40432), `current_platform.supports_fp8()` updated for TritonExperts on XPU/ROCm (#40132). * **XPU / CPU / AMD**: XPU MXFP4 (#39857), XPU MXFP8 GEMM + compressed-tensor schema (#38707), XPU FP8 per-channel linear (#38316), FP8 KV cache on XPU (#37731), CPU W4A16 Autoround (#38192), XPU W4A16 Autoround (#37986), asymmetric INT8 `TritonInt8ScaledMMLinearKernel` on ROCm (#38501), Quark W8A8 INT8 MoE inference (#36320). * **Deprecations**: Petit NVFP4 removed (#32694). ### API & Frontend * **OpenAI / Anthropic API**: `presence_penalty` / `frequency_penalty` on Responses API (#38613), Responses API streaming migrated to unified parser (#38755), `tool_choice` / `tools` validation on Responses to match OpenAI (#40399), Mistral Grammar factory (#38150), multimodal support on `/inference/v1/generate` (#38405), `max_tokens_per_doc` in rerank (#38827), Generative Scoring (#34539), MaxSim re-enabled on GPU (#38620), `chat_template_kwargs` on Anthropic `/v1/messages` (#40125), auto-detection of `reasoning_config` when only `reasoning_parser` is set (#38214), reasoning parsers can access model config via `adjust_request` (#37848, #39027), effective chat-template kwargs passed to reasoning parsers (#40460), reasoning parsers expose `reasoning_start_str`/`reasoning_end_str` (#40566). * **Pooling ecosystem**: Pooling entrypoints overhauled across scoring (#28631), pooling (#39153), and cleanup (#39675); preprocessing/postprocessing offloaded to thread pool (#39763); async scheduling disabled by default for pooling (#39592); `logit_scale` added to PoolerConfig (#39435), then renamed `logit_bias`/`logit_scale` → `logit_mean`/`logit_sigma` for affine score calibration (#39530) — breaking. `LLM.reward` deprecated; use `LLM.encode` instead (#40688). * **gRPC / streaming**: Streaming on token-generation endpoint (#37171); gRPC periodic stats logging + servicer log forwarding (#38333); standard `grpc.health.v1` health check for Kubernetes-native probes (#38016). * **Tool / reasoning parsers**: Treat `<tool_call>` as implicit reasoning end in Qwen3 (#35687), `is_reasoning_end_streaming()` override for GptOssReasoningParser (#35745), Mistral tool parser HF-tokenizer fix (#39294), Mistral pre-v11 tool parser trailing-output fix (#40531), Gemma4 streaming HTML duplication / JSON corruption / null-as-string fixes (#38909, #38992, #39114, #39679), HF tokenizer concurrent-borrow fix in tool parsers (#40059), `HYV3ReasoningParser` no longer mutates `chat_template_kwargs` (#40713). * **Multimodal**: Externally processed `mm_kwargs` with cache injection (#39502), PyAV video backend for concurrent decoding (#39986), custom video metadata for pre-extracted frame sequences (#40133), image+video mixed inputs (per prompt) for VLM examples (#40335), deepstack buffer optimized for Qwen3 multimodal (#40145), readonly multimodal processor warmup during renderer startup (#40797), `mm_processor_kwargs` forwarded in offline `generate` APIs (#40251), normalize malformed dict prompts that carry token IDs in `prompt` (#40339), hotwords for FunASR (#39674), bundle `get_generation_prompt()` params into `SpeechToTextParams` (#36268). * **Frontend / vLLM Omni**: `--omni` delegates to vLLM Omni (#40744); avoid eager import of `mistral_common` (#40043). * **LLM / CLI**: Structured-output special tokens preserved in offline `LLM.chat` (#39352), `use_audio_in_video` passable at `vllm serve` for nemotron-nano-vl (#38538), deferred imports save ~2s CLI startup (#40056), improved MM-input-too-long error message (#39409), warning when FP8 KV cache misses prefill query quant (#39752), clearer DCP error message (#28443), `--model` deprecation warning updated (#39518), Mimo reasoning/tooling parsers mapped (#40089), human-readable `k/K/m/M…` suffix in JSON CLI args (#40473). ### Spec Decode * Eagle3 for MiniMax-M2 (#37512), Eagle3 for Gemma4 (#39450), AITER MLA + Eagle3 on ROCm (#39616). * TurboQuant FA3/FA4 for prefill paths (#40092). * Mamba: default to `'align'` cache mode for Mamba-based models when speculative decoding is enabled (#40454). * Unified Synthetic Acceptance Rate for V1 and V2 (#40662); `SpecDecodeBaseProposer` moved out of `eagle.py` (#40732); DSA + MTP IMA fix (#40772). ### Security * SSRF fix in batch runner `download_bytes_from_url` (#38482). ### Dependencies * **PyTorch 2.11** for CUDA (#34644) and XPU (#37947) — XPU no longer pinned to 2.10. * **CUDA 13.0** default with updated architecture lists and cleaned build-args (#39878); CUDA bumped to 13.0.2 to match PyTorch 2.11.0 (#40669); sm_110 (Jetson Thor) added (#39233). * **Python 3.14** added to supported versions (#34770). * **Transformers v5** (#30566), with vision-encoder torch.compile bypass (#30518) and continued v4/v5 compat fixes. * **FlashAttention 4** upstream sync (#38690) and symlink-on-install behavior (#38814). * **FlashInfer** bumped to 0.6.8 (#39959). * **AITER** triton BUFFER_OPS fix + version updates (#38580), AITER reverted to v0.1.10.post3 (#39509); **Nixl** bumped to 0.10.1 (#39922) and pinned per CUDA major in CI (#39851); **DeepGEMM** integrated into the wheel via CMake (#37980); **fastsafetensors** added to NVIDIA Dockerfile (#38950); Helion bumped 0.3.2 → 0.3.3 (#38062). * **Removed / moved**: `resampy` dependency dropped (#39524), `librosa` direct dependency dropped (#39079), `pyav` and `soundfile` moved to common requirements (#39997). ### Breaking Changes 1. **PyTorch 2.11 + CUDA 13.0(.2) default** — environment dependency change, now applied to XPU as well. 2. **Transformers v5** is the supported baseline (#30566). 3. **Metrics rework**: `vllm:prompt_tokens_recomputed` removed (#38709); `num_cached_tokens` / `num_external_computed_tokens` replaced with `PrefillStats` (#37460). 4. **Pooler config rename**: `logit_bias`/`logit_scale` → `logit_mean`/`logit_sigma` (#39530). 5. **Async scheduling default OFF for pooling models** (#39592). 6. **CUDAGraph memory profiling now ON by default** (#38284) — startup memory accounting changes. 7. **Petit NVFP4 quantization removed** (#32694); `LLM.reward` deprecated, use `LLM.encode` (#40688); `cprofile` / `cprofile_context` deprecated (#39100); V0 `accept output buffer` deprecated (#39125). ### V0 Deprecation * Petit NVFP4 (#32694), `accept output buffer` in attention (#39125), `cprofile` / `cprofile_context` (#39100), `LLM.reward` offline API (#40688). ## New Contributors * @1096125073 made their first contribution in https://github.com/vllm-project/vllm/pull/38510 * @2imi9 made their first contribution in https://github.com/vllm-project/vllm/pull/38970 * @AAISSJ made their first contribution in https://github.com/vllm-project/vllm/pull/37831 * @abatilo made their first contribution in https://github.com/vllm-project/vllm/pull/38987 * @aditi-amd made their first contribution in https://github.com/vllm-project/vllm/pull/39953 * @aeon-x made their first contribution in https://github.com/vllm-project/vllm/pull/39843 * @Alchuang22-dev made their first contribution in https://github.com/vllm-project/vllm/pull/40339 * @aleksandaryanakiev made their first contribution in https://github.com/vllm-project/vllm/pull/40125 * @aliialsaeedii made their first contribution in https://github.com/vllm-project/vllm/pull/38253 * @artem-spector made their first contribution in https://github.com/vllm-project/vllm/pull/40282 * @bai made their first contribution in https://github.com/vllm-project/vllm/pull/39959 * @bhargav-patel-29 made their first contribution in https://github.com/vllm-project/vllm/pull/38000 * @bingshuailiu made their first contribution in https://github.com/vllm-project/vllm/pull/38788 * @Bortlesboat made their first contribution in https://github.com/vllm-project/vllm/pull/39123 * @BugenZhao made their first contribution in https://github.com/vllm-project/vllm/pull/40460 * @carlyou made their first contribution in https://github.com/vllm-project/vllm/pull/36205 * @Chinmay-Kulkarni-AMD made their first contribution in https://github.com/vllm-project/vllm/pull/39967 * @crawfordxx made their first contribution in https://github.com/vllm-project/vllm/pull/38722 * @daiyu1111 made their first contribution in https://github.com/vllm-project/vllm/pull/40011 * @dalistarh made their first contribution in https://github.com/vllm-project/vllm/pull/40194 * @daniebrill made their first contribution in https://github.com/vllm-project/vllm/pull/36934 * @dhonnappa-amd made their first contribution in https://github.com/vllm-project/vllm/pull/38238 * @dondetir made their first contribution in https://github.com/vllm-project/vllm/pull/38455 * @efortin made their first contribution in https://github.com/vllm-project/vllm/pull/39183 * @elenalil-aws made their first contribution in https://github.com/vllm-project/vllm/pull/38927 * @elwhyjay made their first contribution in https://github.com/vllm-project/vllm/pull/39526 * @EricccYang made their first contribution in https://github.com/vllm-project/vllm/pull/37376 * @evezhier made their first contribution in https://github.com/vllm-project/vllm/pull/36540 * @ezylopx5 made their first contribution in https://github.com/vllm-project/vllm/pull/37051 * @fergusfinn made their first contribution in https://github.com/vllm-project/vllm/pull/35745 * @foreverlms made their first contribution in https://github.com/vllm-project/vllm/pull/31113 * @frgossen made their first contribution in https://github.com/vllm-project/vllm/pull/38944 * @Galigator made their first contribution in https://github.com/vllm-project/vllm/pull/40161 * @ganeshr10 made their first contribution in https://github.com/vllm-project/vllm/pull/32662 * @hangy-amd made their first contribution in https://github.com/vllm-project/vllm/pull/39703 * @heachary made their first contribution in https://github.com/vllm-project/vllm/pull/39999 * @hhk7734 made their first contribution in https://github.com/vllm-project/vllm/pull/37171 * @hnt2601 made their first contribution in https://github.com/vllm-project/vllm/pull/39892 * @hospedales made their first contribution in https://github.com/vllm-project/vllm/pull/38847 * @huangzhilin-hzl made their first contribution in https://github.com/vllm-project/vllm/pull/40092 * @ianliuy made their first contribution in https://github.com/vllm-project/vllm/pull/39473 * @ibifrost made their first contribution in https://github.com/vllm-project/vllm/pull/37636 * @ibrahim1023 made their first contribution in https://github.com/vllm-project/vllm/pull/39169 * @ichbinblau made their first contribution in https://github.com/vllm-project/vllm/pull/38371 * @jackcfwang made their first contribution in https://github.com/vllm-project/vllm/pull/38794 * @jaseelmohd2 made their first contribution in https://github.com/vllm-project/vllm/pull/39986 * @jatseng-ai made their first contribution in https://github.com/vllm-project/vllm/pull/37352 * @JeanPaulShapo made their first contribution in https://github.com/vllm-project/vllm/pull/35736 * @jefp made their first contribution in https://github.com/vllm-project/vllm/pull/39435 * @jesus-talavera-ibm made their first contribution in https://github.com/vllm-project/vllm/pull/38714 * @jigangz made their first contribution in https://github.com/vllm-project/vllm/pull/39780 * @JoursBleu made their first contribution in https://github.com/vllm-project/vllm/pull/36965 * @khairulkabir1661 made their first contribution in https://github.com/vllm-project/vllm/pull/38388 * @khushali9 made their first contribution in https://github.com/vllm-project/vllm/pull/40409 * @kibitzing made their first contribution in https://github.com/vllm-project/vllm/pull/37501 * @KimuGenie made their first contribution in https://github.com/vllm-project/vllm/pull/39679 * @kkyyxhll made their first contribution in https://github.com/vllm-project/vllm/pull/38517 * @kot-begemot-uk made their first contribution in https://github.com/vllm-project/vllm/pull/36487 * @krishung5 made their first contribution in https://github.com/vllm-project/vllm/pull/39502 * @KyleMylonakisProtopia made their first contribution in https://github.com/vllm-project/vllm/pull/38699 * @lalit10 made their first contribution in https://github.com/vllm-project/vllm/pull/38955 * @larryli2-amd made their first contribution in https://github.com/vllm-project/vllm/pull/39616 * @lesj0610 made their first contribution in https://github.com/vllm-project/vllm/pull/40359 * @liuchenbing2026 made their first contribution in https://github.com/vllm-project/vllm/pull/37512 * @lyd1992 made their first contribution in https://github.com/vllm-project/vllm/pull/40428 * @MekayelAnik made their first contribution in https://github.com/vllm-project/vllm/pull/39085 * @menogrey made their first contribution in https://github.com/vllm-project/vllm/pull/37989 * @mieshkiwrk made their first contribution in https://github.com/vllm-project/vllm/pull/38825 * @misaAle made their first contribution in https://github.com/vllm-project/vllm/pull/39554 * @Monishver11 made their first contribution in https://github.com/vllm-project/vllm/pull/32996 * @mukesh-hai made their first contribution in https://github.com/vllm-project/vllm/pull/38435 * @namgyu-youn made their first contribution in https://github.com/vllm-project/vllm/pull/38799 * @nemanjaudovic made their first contribution in https://github.com/vllm-project/vllm/pull/38114 * @nithinvc made their first contribution in https://github.com/vllm-project/vllm/pull/38405 * @noobHappylife made their first contribution in https://github.com/vllm-project/vllm/pull/38519 * @pedramr made their first contribution in https://github.com/vllm-project/vllm/pull/39650 * @petern48 made their first contribution in https://github.com/vllm-project/vllm/pull/37247 * @philip-essential made their first contribution in https://github.com/vllm-project/vllm/pull/39823 * @pinsiangamd made their first contribution in https://github.com/vllm-project/vllm/pull/37529 * @Prathmesh234 made their first contribution in https://github.com/vllm-project/vllm/pull/36466 * @puririshi98 made their first contribution in https://github.com/vllm-project/vllm/pull/39206 * @qiching made their first contribution in https://github.com/vllm-project/vllm/pull/39752 * @qmx made their first contribution in https://github.com/vllm-project/vllm/pull/35687 * @rbrugaro-amd made their first contribution in https://github.com/vllm-project/vllm/pull/39242 * @rishaps made their first contribution in https://github.com/vllm-project/vllm/pull/39092 * @Roy214 made their first contribution in https://github.com/vllm-project/vllm/pull/39575 * @San-Nguyen made their first contribution in https://github.com/vllm-project/vllm/pull/40324 * @SandishKumarHN made their first contribution in https://github.com/vllm-project/vllm/pull/35431 * @SeraphimSerapis made their first contribution in https://github.com/vllm-project/vllm/pull/39861 * @ShubyM made their first contribution in https://github.com/vllm-project/vllm/pull/38844 * @shunting314 made their first contribution in https://github.com/vllm-project/vllm/pull/36298 * @skavulya made their first contribution in https://github.com/vllm-project/vllm/pull/40430 * @starkwj made their first contribution in https://github.com/vllm-project/vllm/pull/38726 * @stevenkuang-tencent made their first contribution in https://github.com/vllm-project/vllm/pull/40681 * @storyicon made their first contribution in https://github.com/vllm-project/vllm/pull/40133 * @talorabr made their first contribution in https://github.com/vllm-project/vllm/pull/36029 * @thomasmaindron made their first contribution in https://github.com/vllm-project/vllm/pull/39293 * @TihoElek made their first contribution in https://github.com/vllm-project/vllm/pull/38849 * @triangleXIV made their first contribution in https://github.com/vllm-project/vllm/pull/39102 * @ultranationalism made their first contribution in https://github.com/vllm-project/vllm/pull/40191 * @USTCKAY made their first contribution in https://github.com/vllm-project/vllm/pull/39181 * @V2arK made their first contribution in https://github.com/vllm-project/vllm/pull/38016 * @vedantjh2 made their first contribution in https://github.com/vllm-project/vllm/pull/34539 * @velonica0 made their first contribution in https://github.com/vllm-project/vllm/pull/39478 * @vibhavagarwal5 made their first contribution in https://github.com/vllm-project/vllm/pull/39064 * @VinayakMishra95 made their first contribution in https://github.com/vllm-project/vllm/pull/40729 * @Wangxiaoxiaoa made their first contribution in https://github.com/vllm-project/vllm/pull/40455 * @wincent8 made their first contribution in https://github.com/vllm-project/vllm/pull/37841 * @wojciech-wais made their first contribution in https://github.com/vllm-project/vllm/pull/34844 * @wufann made their first contribution in https://github.com/vllm-project/vllm/pull/38615 * @wuyingjun-lucky made their first contribution in https://github.com/vllm-project/vllm/pull/40251 * @YifanLi3 made their first contribution in https://github.com/vllm-project/vllm/pull/40266 * @yintong-lu made their first contribution in https://github.com/vllm-project/vllm/pull/35697 * @YM2132 made their first contribution in https://github.com/vllm-project/vllm/pull/38427 * @yoke233 made their first contribution in https://github.com/vllm-project/vllm/pull/38909 * @yubofredwang made their first contribution in https://github.com/vllm-project/vllm/pull/39160 * @yurun00 made their first contribution in https://github.com/vllm-project/vllm/pull/37766 * @yuwenzho made their first contribution in https://github.com/vllm-project/vllm/pull/39466 * @Yuyi-Ao made their first contribution in https://github.com/vllm-project/vllm/pull/38052 * @z1ying made their first contribution in https://github.com/vllm-project/vllm/pull/39518 * @zhangj1an made their first contribution in https://github.com/vllm-project/vllm/pull/40629 * @Zhenzhong1 made their first contribution in https://github.com/vllm-project/vllm/pull/38192 * @zxd1997066 made their first contribution in https://github.com/vllm-project/vllm/pull/38899