v0.11.1

vllm-project/vllmv0.11.1Nov 18, 2025by khluu

AI Summary

A large release updating to PyTorch 2.9.0, enabling batch-invariant torch.compile, and stabilizing async scheduling.

Key Highlights

  • PyTorch 2.9.0 + CUDA 12.9.1
  • Batch-invariant torch.compile
  • Robust async scheduling fixes
  • Anthropic API Support

New Features

  • New model architectures: DeepSeek-V3.2, Qwen3-VL, Qwen3-Next
  • Engine Core: KV cache offloading with LRU management
  • Hardware: NVIDIA Blackwell Ultra (SM103) support
  • Quantization: MXFP4 W4A16 dense models
  • API: Responses API MCP tools

Full Release Notes

## Highlights
This release includes 1456 commits from 449 contributors (184 new contributors)!

Key changes include:
* **PyTorch 2.9.0 + CUDA 12.9.1**: Updated the default CUDA build to `torch==2.9.0+cu129`, enabling Inductor partitioning and landing multiple fixes in graph-partition rules and compile-cache integration.
* **Batch-invariant `torch.compile`**: Generalized batch-invariant support across attention and MoE backends, with explicit support for DeepGEMM and FlashInfer on Hopper and Blackwell GPUs.
* **Robust async scheduling**: Fixed several correctness and stability issues in async scheduling, especially when combined with chunked prefill, structured outputs, priority scheduling, MTP, and DeepEP / DCP. We expect `--async-scheduling` to be enabled by default in the next release.
* **Stronger scheduler + KV ecosystem**: Improved test coverage in CI and made scheduler behavior more robust with KV connectors, prefix caching, and multi-node deployments.
* **Anthropic API Support**: Added support for the `/v1/messages` endpoint, allowing users to interact with `vllm serve` using Anthropic-compatible clients.

Detailed release notes will be updated in the next few days.

## What's Changed
* [Bugfix] Improve GLM4 MoE Reasoning Parser's is_reasoning_end Condition (@frankwang28 #25355)
* [Docs] Add Toronto Meetup (@mgoin #25773)
* [CI] Add E2E Blackwell Quantized MoE Test (@mgoin #25723)
* [V1] address post issues related to #20059 (part 1); cascade attention reenable by default (@fhl2000 #23046)
* [CI] Fix FlashInfer AOT in release docker image (@mgoin #25730)
* [spec decode] Consolidate speculative decode method name for MTP (@zixi-qi #25232)
* Reduce the Cuda Graph memory footprint when running with DBO (@SageMoore #25779)
* Kernel-override Determinism [1/n] (@bwasti #25603)
* [Bugfix] Optimize CpuGpuBuffer initialization (@namanlalitnyu #25447)
* [Spec decode] automatically disable mm for text-only draft models (@jmkuebler #25667)
* [Core] Don't count preempted tokens in prefix cache hit rate (@zhuohan123 #25787)
* Add option to restrict media domains (@russellb #25783)
* Add flashinfer-build.sh and register precompiled cu128 wheel in Dockerfile (@mgoin #25782)
* [Multimodal][Speculative Decoding]Eagle Eagle3 mm support, enablement on qwen2.5vl (@david6666666 #22872)
* [Bugfix] Allow Only SDPA Backend for ViT on B200 for Qwen3-VL (@yewentao256 #25788)
* [CI/Build] Consolidate model loader tests and requirements (@DarkLight1337 #25765)
* [CI/Build] Add timing to Model Executor Test (@22quinn #25799)
* [CI/Build] Reorganize root-level V1 tests (@DarkLight1337 #25767)
* [Misc] Fix codeowners override for v1 sample and attention (@22quinn #25037)
* [Misc] Update openai client example file for multimodal (@ywang96 #25795)
* [Bugfix] Add missing `image_size` for phi4_multimodal (@Renovamen #25796)
* [Bugfix] Merge MM embeddings by index instead of token IDs (@DarkLight1337 #16229)
* Validate API tokens in constant time (@russellb #25781)
* Add filtering for chat template kwargs (@russellb #25794)
* Fix GPTQ model loading in Transformers backend (@hmellor #25770)
* [Bugfix] Fix triton import precommit failure (@tlrmchlsmth #25803)
* [Bugfix][WideEP] Apply TP Attn + EP MoE fix to other models (@tlrmchlsmth #24982)
* [docs] Resolve transcriptions API TODO (@yyzxw #25446)
* [env] default nixl side port conflicts  with kv-event zmq port (@panpan0000 #25056)
* [Core] Refactor self.model() to call a helper for subclassing. (@patrick-toulme #25084)
* [torch.compile]: Add VLLM_DEBUG_DUMP_PATH environment variable (@ZJY0516 #25651)
* [Bug]: Set LD_LIBRARY_PATH to include the 'standard' CUDA location (@smarterclayton #25766)
* [Core] GC Debug callback (@Jialin #24829)
* [Bugfix][NIXL] Fix Async Scheduler timeout issue (@NickLucche #25808)
* [MM] Optimize memory profiling for scattered multimodal embeddings (@ywang96 #25810)
* [Bugfix] Fix Qwen3-VL regression from #24982 (@ywang96 #25814)
* [VLM] Update Qwen3-VL max_num_video_tokens calculation for configurable video profiling (@Isotr0py #25557)
* Fix random dataset mismatched token length with config. (@weireweire #24937)
* Update GLM-4.5 Doc transformers version (@zRzRzRzRzRzRzR #25830)
* [Bugfix] fix Qwen3VLMoe load when pp > 1 (@JJJYmmm #25838)
* Remove redundant cudagraph dispatcher warning (@mgoin #25841)
* [Misc] fix tests failure by using current_platform (@kingsmad #25825)
* [P/D] NIXL Updates (@robertgshaw2-redhat #25844)
* Add Phi4FlashForCausalLM to _PREVIOUSLY_SUPPORTED_MODELS (@tdoublep #25832)
* [XPU]Fix xpu spec decoding UTs, avoid using cuda graph (@jikunshang #25847)
* [Bugfix] Fallback ViT attn backend to SDPA for blackwell (@ywang96 #25851)
* [V0 Deprecation][Models] Remove all V0 condition for mm embeddings merge (@Isotr0py #25331)
* [Misc] Remove more `get_input_embeddings_v0` (@DarkLight1337 #25857)
* update to latest deepgemm for dsv3.2 (@youkaichao #25871)
* [Bugfix] Fix requirements paths in install instructions (@yingjun-mou #25827)
* [Model][Bugfix] Fix issues in MiDashengLM implementation for quantized models (@zhoukezi #25854)
* [torch.compile] serialize cudagraph_mode as its enum name instead of value (@ZJY0516 #25868)
* [Cuda2CPU][P/D] Add cuda2cpu support in NixlConnector (@chenxi-yang #24690)
* [Bugfix][Speculative Decoding] Fix Eagle3 quantization config issue (@rahul-tuli #25883)
* [CI/Build] Include Transformers backend test in nightly transformers test (@Isotr0py #25885)
* [Model] Remove MotifForCausalLM (@jeejeelee #25866)
* [Bugfix] Use correct key "ignore" for config.json non-quantized layers (@leejnau #25706)
* [BugFix][torch.compile] KV scale calculation issues with FP8 quantization (#21640) (@adabeyta #25513)
* [Doc] Add documentation for vLLM continuous benchmarking and profiling (@namanlalitnyu #25819)
* [Bugfix][ROCm] Fixing trying to import non-existent symbols from libnccl.so (@gshtras #25605)
* [Kernel] Chunk-aligned mamba2 (@tdoublep #24683)
* [Doc] Polish example for torchrun dp (@zhuohan123 #25899)
* [NIXL] Increase default KV block eviction timeout on P (@NickLucche #25897)
* [V0 Deprecation] Remove `vllm.worker` and update according imports (@aarnphm #25901)
* Test Prompt Embeds/LoRA compatibility and Enable LoRA Support for OPT Models  (@qthequartermasterman #25717)
* [Bug] Fix Weight Loading for Block FP8 Cutlass SM90 (@yewentao256 #25909)
* [Benchmark] Support benchmark throughput for external launcher DP (@zhuohan123 #25913)
* Move`VllmConfig` from `config/__init__.py` to `config/vllm.py` (@hmellor #25271)
* [BugFix] Fix DP/EP hang  (@LucasWilkinson #25906)
* [BugFix] Pass config_format via try_get_generation_config (@acisseJZhong #25912)
* [Model][Bugfix] Fix MiDashengLM audio encoder mask by removing incorrect `logical_not` (@zhoukezi #25925)
* [Bugfix]: Clean up chunked prefill logging when using whisper (@simondanielsson #25075)
* [New Model] DeepSeek-V3.2 (Rebased to Main) (@zyongye #25896)
* [Doc] Add Cambricon MLU support (@a120092009 #25942)
* Updated TRL integration docs (@sergiopaniego #25684)
* [Bugfix][Model]fix ernie45 moe gate&bias dtype to float32 (@CSWYF3634076 #25936)
* [Model] Move `vision_feature_select_strategy` into `resolve_visual_encoder_outputs` (@DarkLight1337 #25938)
* [perf] Use CPU tensor to reduce GPU->CPU sync (@lhtin #25884)
* [NIXL] Add support for MLA caches with different latent dim (@NickLucche #25902)
* [CI] Move applicable tests to CPU (@rzabarazesh #24080)
* [Fix] Improve CPU backend compatibility for RISC-V (@ihb2032 #25816)
* [Kernel][Moe Configs] Add more tuned triton configs for ExpertsInt8 and FP8 (@Josephasafg #25858)
* Add Hugging Face Inference Endpoints guide to Deployment docs (@sergiopaniego #25886)
* [Bugfix][Model] Fix inference for Hunyuan dense models (@Anionex #25354)
* [Bugfix] Fix accuracy issue of TRTLLM FP8 MOE and improve logging (@pavanimajety #25895)
* [Bugfix] Token type and position embeddings fail to be applied to `inputs_embeds` (@DarkLight1337 #25922)
* [bugfix][deepseek] fix flashmla kernel selection (@youkaichao #25956)
* [Bug] Fix AttributeError: 'QKVParallelLinear' object has no attribute 'orig_dtype' (@yewentao256 #25958)
* [Doc] Improve MM Pooling model documentation (@DarkLight1337 #25966)
* [Docs] Add moe kernel features doc  (@bnellnm #25297)
* OffloadingConnector: Fix GPU block tracking bug (@orozery #25856)
* [Llama4] [multimodal] Fix misplaced dtype cast of `cos_sin_cache` in `Llama4VisionRotaryEmbedding` (@cjackal #25889)
* [Bench] Add DeepSeekV32 to MoE benchmark (@jeejeelee #25962)
* [V1] [P/D] Add Support for KV Load Failure Recovery (@sdavidbd #19330)
* Add explicit pooling classes for the Transformers backend (@hmellor #25322)
* [Docs] Remove API Reference from search index (@hmellor #25949)
* [gpt-oss] use vLLM instead of openai types for streaming (@qandrew #25186)
* [Misc] Make EP kernels install script support uv (@LucasWilkinson #25785)
* [Model] MTP fallback to eager for DeepSeek v32 (@luccafong #25982)
* Update launch_bounds_utils.h for correct compile on Multiple Cuda Arch - PTXAS out of range Warning (@DrStone1971 #25843)
* [Log] Optimize Log for FP8MOE (@yewentao256 #25709)
* Fix INT8 quantization error on Blackwell GPUs (SM100+) (@certainly-param #25935)
* [MM] Add text-only mode for Qwen3-VL (@ywang96 #26000)
* [Bugfix] Fix `__syncwarp` on ROCM (@zhewenl #25996)
* [BugFix] Fix default kv-cache-dtype default for DeepseekV3.2 (@LucasWilkinson #25988)
* Update to Transformers `v4.56.2` (@hmellor #24638)
* [Misc]allow disable pynccl (@luccafong #25421)
* [Doc] updating torch.compile doc link #25989)
* [BugFix][MM] Fix Nonetype error when video is cache in qwen2.5-omni-thinker (@wwl2755 #26004)
* [Misc] Factor out common `_apply_feature_select_strategy` (@DarkLight1337 #26003)
* [CI] Only capture a single CUDA graph size in CI by default (@hmellor #25951)
* [MISC] Fix misleading batch_size_capture_list when cuda_graph_sizes < 4 (@billishyahao #25829)
* [Benchmark] Finish documented v0.11.0 deprecation of --endpoint-type (@natoscott #26007)
* [Bugfix] Apply same sampling parameters for both `n=1` and `n>1` (@kmaehashi #26005)
* [NVIDIA] Blackwell Family (@johnnynunez #24673)
* Fix test_mamba_ssm_ssd.py due to missing _query_start_loc_to_chunk_indices_offsets (@hl475 #25995)
* [CI] Tweaks to GPT-OSS Eval (Blackwell) for stability (@mgoin #26030)
* [BugFix][DP/EP] Fix CUTLASS MLA hang under load (@LucasWilkinson #26026)
* [ROCm][Build] Add support for AMD Ryzen AI MAX / AI 300 Series (@hyoon1 #25908)
* [Bug] Fix Negative Cuda Memory Usage (@yewentao256 #25683)
* [BugFix] ChunkedLocalAttention is currently not CG compatible (@LucasWilkinson #26034)
* Support RL online quantization with torchao (@jerryzh168 #23014)
* [ROCm][Bugfix] Add missing parameter to ROCm backend (@gshtras #26029)
* [Misc] Make handling of SamplingParams clearer in n>1 case (@njhill #26032)
* Run:ai model streamer add GCS package support (@pwschuurman #24909)
* Update base image to 22.04 (jammy) (@huydhn #26065)
* Change size of single CUDA graph for CI to 4 (@tdoublep #26089)
* [FA/Chore] Bump vllm-flash-attention (@LucasWilkinson #25537)
* [Model] Use `merge_by_field_config` for MM models (A-C) (@DarkLight1337 #26073)
* [Model] Use `merge_by_field_config` for MM models (D-F) (@DarkLight1337 #26076)
* [Platform][CI] Added OOT platform interface e2e test that running on Ascend NPU (@leo-pony #25470)
* [Qwen][ROCm] Flash Attention Rotary Embeddings (@vllmellm #24642)
* [CI] Add Blackwell DeepSeek FP8 FlashInfer MoE tests (@mgoin #26040)
* [CI/Build] Replace `vllm.entrypoints.openai.api_server` entrypoint with `vllm serve` command (@DarkLight1337 #25967)
* [BugFix] Fix FI accuracy issue when used for MLA prefill (@LucasWilkinson #26063)
* [Small] Prevent bypassing media domain restriction via HTTP redirects (@huachenheli #26035)
* [Deepseek v3.2] Support indexer prefill chunking (@heheda12345 #25999)
* EAGLE 3: Fix preamble so that measured speedup over Eagle 1 becomes 32% instead of 5% on MTBench (@ekagra-ranjan #25916)
* [Mamba][KVCacheManager] Simplify kv cache manage logic for mamba + MTP (@heheda12345 #25119)
* [Perf] Fix and reapply move apply w8a8 block fp8 linear to class (@ElizaWszola #25696)
* Fix MTP with deepep_low_latency (@MatthewBonanni #25904)
* [Bugfix] Disable cascade attention with FlashInfer (@mgoin #26130)
* [Log] Optimize DeepGEMM Missing Log (@yewentao256 #26106)
* [Bug][Benchmark] Fix duplicate req in oversampling (@ekagra-ranjan #26140)
* [Attention] Move Backend enum into registry (@MatthewBonanni #25893)
* [CI/Build] Conditionally register cutlass_fp4_group_mm to fix building on Hopper (@mgoin #26138)
* [DeepSeek] Improve performance of DS MLA cache kernel (@MatthewBonanni #26132)
* [Bug]: Limit num_reqs in dummy_run when max_num_seqs is small (@benchislett #26144)
* [gpt-oss] disable tool server initialization if no tool in request (@qandrew #25790)
* [Build/CI] Revert back to Ubuntu 20.04, install python 3.12 with uv (@tlrmchlsmth #26103)
* [ROCm] [VL] [Bugfix] Fix vit flash attn dispatcher logic for ROCm (@tjtanaa #26104)
* [Bugfix] Fix import `gemm_afp4wfp4` failure on AMD (@zhewenl #26068)
* [Model] Use `merge_by_field_config` for MM models (G) (@DarkLight1337 #26117)
* `FusedMoE` support for the Transformers backend (@hmellor #22650)
* [BUG] Reorder model config creation (@ahao-anyscale #26124)
* [Misc] Remove typing.List (@varun-sundar-rabindranath #26150)
* [Input] Remove unused `prompt` field (@DarkLight1337 #26097)
* [Perf] Optimize `reshape_and_cache` CUDA Kernel (@ZJY0516 #25955)
* add(v1): RequestStatesStats to RequestOutput (@huijjj #24947)
* [Model] Use `merge_by_field_config` for MM models (InternVL family) (@DarkLight1337 #26153)
* [test utils] correct wrong typing (@yannicks1 #26159)
* [CI] Fix distributed hybrid tests in CI (@tdoublep #26155)
* [NIXL][Misc] Expose metrics from NIXL for logging to CLI (@NickLucche #25388)
* [openai] Fix missing tool usage check (system message) (@levunet #24768)
* [Multi Modal] Configurable MM Profiling (@wwl2755 #25631)
* [Doc] Fixed shape description for fused_batched_moe.py (@Egor-Krivov #25668)
* Quick fix for IMA with the Prefix Prefill kernel during graph capture (@SageMoore #25983)
* [Renderer] Move Processor out of AsyncLLM  (@KKSK-DON #24138)
* Re-enable prefill of max model length (@yannicks1 #24446)
* [backends][short_conv] CUDA graph piecewise edits (@paulpak58 #24215)
* [Model] Supplement to PR 24862: Pass param prefix to LLMHead (@whx-sjtu #25805)
* [CI/Build] do not enforce precompilation on tpu ci tests (@sixiang-google #25992)
* [Model] Fixed stream generator for gpt-oss + spec-decoding (@astralord #26027)
* [Renderer] Move Processor out of LLMEngine (@DarkLight1337 #26165)
* Fix undefined symbol: cutlass_moe_mm_sm100 (@jasl #26098)
* [BugFix][QWEN-VL]fix wrong apply_rotary_emb_torch selection introduced by #24642 (@xuechendi #26123)
* Stop mergify from keeping stale PRs alive (@hmellor #26169)
* Avoid division by zero in cache DS MLA kernel (@MatthewBonanni #26174)
* Fix V1 engine serialization error with Ray distributed executor (@nrghosh #26148)
* [Quantization/NVFP4] Speed up TRTLLM NVFP4 MOE weight loading and fix K/V scale loading for MLA Attn (@pavanimajety #25968)
* [Perf] Remove hardcoded num_warps=1 (@chelsea0x3b #26183)
* [Refactor] Optimize FP8 MOE Backend Choice and Log (@yewentao256 #26044)
* [responsesAPI] add better error messaging for long prompts (@qandrew #25724)
* [Bugfix] Relax tokenizer regex for mixtral to include 'tokenizer.model' (@BowenBao #25964)
* [CI] Push multiarch manifests as nightly builds (@csahithi #25764)
* [Misc] Add penalties sampling parameters to serve tool (@southfreebird #25974)
* [BugFix] Fix de-functionalization pass for rotary_embedding (@angelayi #23953)
* [CI] Fix Pre-commit Mypy Error (@yewentao256 #26181)
* [GPTOSS][DP/EP][Marlin] Enable GPTOSS DP/EP using Marlin kernels (@varun-sundar-rabindranath #25488)
* Fix issue of using only the part of video frame [Nemotron Nano] (@BloodAxe #26186)
* [Bugfix] Fix qwen3 vl dummy data generation with overrides (@ywang96 #26193)
* [BugFix] Use async Mistral Tokenizer in Chat Completions (@bbrowning #26134)
* Add batch invariant kernel override for FlashInfer backend [2/n] (@bwasti #25769)
* [cpu][perf] Accelerate unquantized-linear for AArch64 through oneDNN/ACL and weight prepack (@fadara01 #25948)
* [V1] [Hybrid] Mamba2 Automatic Prefix Caching (@s3woz #25752)
* Support expert parallel in Transformers backend (@hmellor #26162)
* [Model] Support nested structures for TensorSchema (@DarkLight1337 #26212)
* [Misc] Require `merge_by_field_config` argument (@DarkLight1337 #26214)
* [Misc] Remove unused `executor.apply_model` (@DarkLight1337 #26215)
* [CI Failure] fix_test_auto_prefix_cache_support (@hl475 #26053)
* Revert "Add batch invariant kernel override for FlashInfer backend [2/n]" (@DarkLight1337 #26220)
* Add Olmo 3 reasoning parser (@soldni #26054)
* [Core] Enable decode of context length equal to max model length (@yannicks1 #26168)
* [Bugfix] Fix `_reqs_to_process` leak on abort (@NickLucche #26012)
* [Model] CLIP Embedding Support (@DarkLight1337 #26010)
* Fix tensor device and dtype placement in Qwen2VL model (@yuafng #26219)
* [V1] [Hybrid] Remove code to override default CUDA graph configuration (@tdoublep #26226)
* [CPU] Refine batch reorder of CPU attention backend (@bigPYJ1151 #26096)
* [Frontend] Cache chat template kwargs resolution (@Isotr0py #26227)
* [Renderer] Clean up renderer code (@DarkLight1337 #26216)
* [Model] Use `merge_by_field_config` for MM models (H-L) (@DarkLight1337 #26230)
* [Easy] Add str repr for IterationStats (@22quinn #26232)
* [Bugfix] Allow `--skip-tokenizer-init` with `echo and return_token_ids` (@DarkLight1337 #26238)
* Add documentation for granite 4 tool calling (@maxdebayser #26175)
* [Perf][Easy] Early stop in request_block_hasher (@Jialin #26112)
* [Bugfix]: Assertion error when using FlashInfer backend (@simondanielsson #25933)
* [Bugfix] Always apply MM processor even when no MM items are passed (@DarkLight1337 #26240)
* [Bugfix][Hardware][RISC-V] Limit supported dtypes to float32 to avoid scheduler segfault (@ihb2032 #26228)
* [Refactor][Kernel] support loading kernel from other place (@ILikeIneine #25823)
* Convert formatting to use `ruff` instead of `yapf` + `isort` (@hmellor #26247)
* Remove all references to `yapf` as it's no longer used (@hmellor #26251)
* Remove all cases of `fmt: on/off` (@hmellor #26253)
* fix(tests): Resolve late binding of loop variable in assert message lambda (@ihb2032 #26249)
* Fix per file ruff ignores related to typing (@hmellor #26254)
* Update `ruff` pre-commit hooks version (@hmellor #26255)
* [CI] fix mamba kernel test (@ZJY0516 #26250)
* [NVIDIA] flashinfer TRTLLM attention prefill token limit (@jasonlizhengjian #25998)
* Fix per file ruff ignores related to simplification (@hmellor #26259)
* [CI] Add Blackwell LM Eval Small Models test to nightly (@mgoin #26052)
* [DOC] Update production-stack.md (@elieserr #26177)
* [CI] Add comment about the single cudagraph capture size that is used (@tdoublep #26252)
* [V1] [Hybrid] Some additional clean-up in Mamba2 prefix caching (@tdoublep #26222)
* [Doc] Edited minor typo (@orangeng #26266)
* [MISC] Add heheda12345 to CODEOWNERS of vllm/config/cache.py (@heheda12345 #26270)
* [CI][gpt-oss] Enable python tool tests in CI (@wuhang2014 #24315)
* Fix per file ruff ignores related to line length (@hmellor #26262)
* Bump actions/stale from 10.0.0 to 10.1.0 (@dependabot[bot] #26272)
* [Benchmarking] Add disable_shuffle option for dataset loading (@ymoslem #26258)
* [Misc] Clean up unnecessary E501 ignore (@ywang96 #26274)
* [Docs] Edit HF Inference Endpoints documentation (@ariG23498 #26275)
* [Doc] add KAITO to integrations (@abhisheksheth28 #25521)
* [Frontend] Consolidate tokenizer init code (@DarkLight1337 #26276)
* [Model] Use `merge_by_field_config` for MM models (Llava family) (@DarkLight1337 #26280)
* Support expert parallel load balancing in Transformers backend (@hmellor #26287)
* [Bugfix] Fix mrope in Transformers Backend (@zucchini-nlp #26087)
* Fix `DotsOCR` tensor type (@what-in-the-nim #26281)
* [Model] EVS support for nano_nemotron_vl (@tomeras91 #26269)
* [Attention] Remove unused reorder_batch method (@MatthewBonanni #24463)
* [Tests] conftest: Extending VllmRunner and HfRunner to accept token_ids as input (@yannicks1 #26295)
* [CI Bugfix] Make sure TRTLLM attention is available in test_blackwell_moe (@mgoin #26188)
* Support llama3 eagle3 head with llama4 verifier (@rahul-tuli #25961)
* [Misc] auto_tune: kill specific vllm process (@karan #26304)
* [Bugfix][Spec Decode] Fix wrong valid_mask for padded speculation when chunked prefill occurs (@seven-mile #26231)
* Add bias handling to CPUFusedMOE kernel (@cfRod #26289)
* [Bugfix] Fix gemma3 with transformers backend (@zucchini-nlp #23178)
* [Benchmark] Enable MM Embedding benchmarks (@DarkLight1337 #26310)
* [Docs] Fix broken table in moe_kernel_features doc (@varun-sundar-rabindranath #26314)
* [BugFix] Pad input buffers in _dummy_run (@varun-sundar-rabindranath #26209)
* [Bugfix] Allow skipping MoE in NVFP4 (fix for MTP) (@benchislett #25987)
* [ROCm] Split AITER unified attention into its own backend (@gshtras #25507)
* [Perf] Add decode full-graph support to FlashInfer-MLA backend (@benchislett #26313)
* [Misc] Define EP kernel arch list in Dockerfile (@simon-mo #25635)
* [Docs][DBO] Add initial doc that describes the DBO implementation (@SageMoore #26024)
* [Core] Simplify the Dp padding/should ubatch coordination logic (@SageMoore #25768)
* [UX] Support nested dicts in hf_overrides (@mgoin #25727)
* [BUG] Fix file parsing for load_format runai_streamer_sharded (@ahao-anyscale #26324)
* [Model] Define merge_by_field_config MM interface (U-Z) (@ayushsatyam146 #26261)
* [Deprecation] Deprecate `LLM.set_tokenizer` (@DarkLight1337 #26333)
* [responsesAPI][bugfix] serialize harmony messages (@qandrew #26185)
* [Model] Define merge_by_field_config MM interface (R-T) (@ayushsatyam146 #26260)
* [BugFix] Update KV block hash type from BlockHash to ExternalBlockHash in kv_events_subscriber - #26264 (@atalhens #26265)
* [V0 Deprecation] Remove `VLLM_USE_V1` from docs and scripts (@DarkLight1337 #26336)
* Optimize KV cache distribution for asymmetric pipeline parallelism (@gholmes829 #25164)
* Add topk logits torch op for DS3.2. (@dcampora #25945)
* Add TRL example notebook to RLHF docs (@sergiopaniego #26346)
* [Docs] add docs for cuda graph v1 (@fhl2000 #24374)
* [Model] Use `merge_by_field_config` for MM models (Ovis family) (@Isotr0py #26308)
* [Feature][OCP MX] Support mxfp6 and mixed mxfp6-mxfp4 (@fxmarty-amd #21166)
* [Model] Add support for ModernBertForTokenClassification (@antrec #26340)
* [Misc] Move `LRUCache` into its own file (@DarkLight1337 #26342)
* [V0 Deprecation] Remove `VLLM_USE_V1` from tests (@DarkLight1337 #26341)
* [Model] Lfm2Moe (@paulpak58 #26344)
* [ci] Rename `test_mxfp4_moe.py` to `test_ocp_mx_moe.py` (@fxmarty-amd #26364)
* [CI] Add Qwen3 MoE NVFP4 to Blackwell lm-eval (@mgoin #26316)
* [deepseek] add EP8 FusedMOE config for H200 and B200 (@heheda12345 #26331)
* [Bug] Fix Shape Validation for Fallback while Enabling E8M0 for DeepGEMM (@yewentao256 #26322)
* [Bugfix] Add missing sink tensor into flash attn cascade attn implementation (@plliao #26325)
* [Frontend] CompilationConfig overhaul (#20283): deprecate use_inductor in favor of backend, simplify custom_ops (@morrison-turnansky #26113)
* [V1] Logit processors for rejection sampler (@southfreebird #19482)
* [Spec Decode] Enable efficient speculative decoding with FlashInfer-MLA (@benchislett #25984)
* [TPU] update TPU benchmark threshold (@jcyang43 #25713)
* Add more libraries to rlhf.md (@mgoin #26374)
* [Bugfix] Fix MTP+FlashInfer crash when trtllm kernels are available but disabled (@benchislett #26361)
* Revert #24446 and #26168 (@tdoublep #26332)
* [Misc] Clean up cruft from previous FlashMLA sparse implementation (@LucasWilkinson #26125)
* [torchao] safetensors integration (@liangel-02 #25969)
* Add SwigluOAI implementation for CPUFusedMOE (@isharif168 #26347)
* [Core] Simplify setting new_token_ids in CachedRequestData (@njhill #26388)
* fix(v1/kv_cache): resolve async KV transfer bug in cascade attention (@ayushsatyam146 #23485)
* Add gather_indexer_k_quant_cache kernel (@Barry-Delaney #25931)
* [Bugfix] Incorrect MM data format in `vllm bench throughput` (@DarkLight1337 #26395)
* fix[DP][v1]: Prevent hangs from mismatched worker configurations (@ayushsatyam146 #26218)
* [TPU] Rename tpu_commons to tpu_inference (@utkarshsharma1 #26279)
* [Feature] Enable E8M0 by Default on Hopper for DeepGEMM, 5% E2E throughput improvement (@yewentao256 #26197)
* [Misc] add usedforsecurity=False in md5 hash call (@dtrifiro #26357)
* [Model] Allow passing custom number of max tiles to Nano 2 VL (@BloodAxe #26403)
* [Docs] Have mergify leave a comment with the docs preview link (@hmellor #26412)
* [CI] Pooling models mteb test disable enforce_eager  (@noooop #26408)
* [Benchmarks] Add support for Qwen 3 VL MoE tuning (@lgeiger #26419)
* Tidy `vllm/config/__init__.py` to only add classes and functions (@hmellor #26405)
* [NIXL][non-cuda] Add install script for nixl with non-cuda ucx (@xuechendi #25959)
* [Refactor] Refactor FP8 & INT8 Quant Folder inside `w8a8` (@yewentao256 #25293)
* [CI Failure] Fix pre-commit issue for install_nixl_from_source_ubuntu.py (@mgoin #26424)
* [Bugfix] Fix `vllm bench ...` on CPU-only head nodes (@Aydin-ab #25283)
* [Bug] Fix DeepGEMM Attention Test (@yewentao256 #26423)
* [Benchmarks] Fix imports in FP8 tuning script (@lgeiger #26407)
* [Bug] Fix Test in Batch Invariant (@yewentao256 #26128)
* Remove Python 3.9 support ahead of PyTorch 2.9 in v0.11.1 (@hmellor #26416)
* [Feature] Change cache.py with pydantic validation (@vrdn-23 #26390)
* [Attention] Implement universal BACKEND_MAP (@MatthewBonanni #25900)
* [Bugfix][Flashinfer] fix VLLM_USE_TRTLLM_ATTENTION issue for models with diff hyperparameters (@elvischenv #25924)
* [BugFix] Fix failing test quantization/test_compressed_tensors.py::test_compressed_tensors_fp8_block_enabled (@morrison-turnansky #26436)
* [Kernel] Centralize platform kernel import in `current_platform.import_kernels` (@NickLucche #26286)
* [Models] Improve iteration over layers (@lgeiger #26425)
* [Bugfix] Respect min_tokens in scheduler stop check (@elaineyz #26317)
* [Kernels] Modular kernel refactor (@bnellnm #24812)
* [Attention] Register FLASHMLA_SPARSE (@MatthewBonanni #26441)
* Separate MLAAttention class from Attention (@therealnaveenkamal #25103)
* [Misc] Redact ray runtime env before logging (@ruisearch42 #26302)
* [Bugfix] Set the minimum python version for gpt-oss (@jeejeelee #26392)
* [Minor] Change warning->warning_once in preprocess (@zhuohan123 #26455)
* [Bugfix] Catch and log invalid token ids in detokenizer #2 (@njhill #26445)
* [Bugfix] Incorrect another MM data format in vllm bench throughput (@huydhn #26462)
* [Hardware][AMD] Enable FlexAttention backend on ROCm (@mawong-amd #26439)
* [MM][Doc] Add documentation for configurable mm profiling (@wwl2755 #26200)
* [Core][KVConnector] Propagate all tokens on resumed preemptions (@QierLi #24926)
* [Hybrid]: Decouple Kernel Block Size from KV Page Size (@zhiyuan1i #24486)
* [CI/Build] Fix model nightly tests (@DarkLight1337 #26466)
* [Core] Relax the LoRA  max rank (@jeejeelee #26461)
* Update Dockerfile and install runai-model-streamer[gcs] package (@pwschuurman #26464)
* Bump Flashinfer to v0.4.0 (@elvischenv #26326)
* [Model] Gemma3: Fix GGUF loading and quantization (@lucianommartins #26189)
* Enable `RMSNorm` substitution for Transformers backend (@hmellor #26353)
* Add: Support for multiple hidden layers in Eagle3 (@rahul-tuli #26164)
* [torchao] Add support for ModuleFqnToConfig using regex (@jerryzh168 #26001)
* [Misc] Misc code simplifications (@njhill #26450)
* [doc] add Volcengine as a compute sponsor (@youkaichao #26477)
* [Feature] Use pydantic validation in lora.py and load.py configs (@simondanielsson #26413)
* [Misc] Upgrade more code to Python 3.10 (@DarkLight1337 #26463)
* [Bugfix] Fix SHM cache initialization (@DarkLight1337 #26427)
* [Models][Qwen3VL] Optimise `_validate_and_reshape_mm_tensor` (@lgeiger #26426)
* [Bugfix] Move current_platform import to avoid python import cache. (@iwzbi #16601)
* [V0 deprecation] Remove `QKVCrossParallelLinear` implementation  (@Isotr0py #26475)
* [Feature] Use pydantic validation in parallel.py config (@simondanielsson #26417)
* Revert  #26113 "[Frontend] CompilationConfig overhaul (#20283): deprecate use_inductor in favor of backend, simplify custom_ops" (@ZJY0516 #26472)
* Upgrade Pydantic to v2.12.0 and remove hack for Python 3.13 (@hmellor #26481)
* [Models][Qwen] Replace `pad` with `cat` for better performance (@lgeiger #26486)
* [Attention][DCP] Support DCP with query length > 1 (MTP) with FA3 (@minosfuture #25049)
* [Model] Apply shared experts overlap optimization to all models with shared experts (@bnellnm #26145)
* [BUGFIX] Add cu_tokens_across_sp to DPMetadata (@SageMoore #26457)
* [Bugfix] Enable padded FP4 quantization (@roikoren755 #25947)
* [Bugfix] Disable moe inplace for torch >= 2.9 (@bnellnm #26497)
* [Flashinfer][gpt-oss] Support FP8-qkv Flashinfer TRTLLM Sinks Attention (@elvischenv #25674)
* [Core] Remove unused `prev_sampled_token_ids_invalid_indices` input batch field (@njhill #26514)
* [UX] Add FlashInfer as default CUDA dependency (@mgoin #26443)
* [Bugfix] Fix CUDA graph selection bug in FlashInfer at high concurrency (@benchislett #26499)
* [Bug] Fix modular_kernel: ZeroDivisionError: integer division or modulo by zero (@yewentao256 #26528)
* [CI] Fix Pre-commit Issue Cannot determine type of "rank" and "world_size" (@yewentao256 #26448)
* Refactor MistralTokenizer (@juliendenize #26358)
* [DP][ray] Support different VLLM_RAY_DP_PACK_STRATEGY (@ruisearch42 #23849)
* [Core] Small simplification in `GPUModelRunner._update_states()` (@njhill #26508)
* [Chore]: One pythonic tool parser test uses the wrong parser (@bbrowning #26515)
* [Spec-Decode] Support piecewise cudagraphs for Eagle head (@LucasWilkinson #25109)
* fix test_simple_inductor_graph_partition (@BoyuanFeng #26522)
* [deepseek] kernel block size for UniformTypeKVCacheSpecs (@heheda12345 #26559)
* [Metrics] Log multi-modal cache stats and fix reset (@DarkLight1337 #26285)
* [GPT-OSS] Add support for arrays  at tool message content (@luis5tb #25593)
* Remove LoRA bias support (@ashwin-phadke #25807)
* [CI] fix ruff format (@chaunceyjiang #26579)
* [bugfix][DCP] fix block_size of hash in DCP prefix caching (@heheda12345 #26296)
* [NIXL] Ignore abort on already-finished request (@markmc #25067)
* [Bugfix] Convert untraceable GroupShape to list for AMD impl (@Lucaskabela #26535)
* [BugFix] Fix noop elimination edge case (@andylolu2 #26394)
* [CI] fix test_run_batch.py::test_completions - AssertionError (@chaunceyjiang #26578)
* [BugFix][torch.compile] Fix fused_scaled_matmul_reduce_scatter signature for PyTorch 2.8 (@jasonlizhengjian #26038)
* Added test_top_k_per_row to test-pipeline.yaml. (@dcampora #26569)
* [Bugfix] Make DP padding optional in coordinate_batch_across_dp (@SageMoore #26375)
* Silu v2 (@elvircrn #25074)
* [Metrics] Add test for multi-modal cache stats logging (@markmc #26588)
* [torch.compile] Make inductor partition rules respect splitting_ops #25691 (@baonudesifeizhai #25845)
* [Bugfix] fixed top_logprobs: -1 does not appear to work as intended (@chaunceyjiang #26470)
* [Model][Qwen3VL] Compute `cu_seqlens` on CPU to remove  (@lgeiger #26496)
* [Model] Add FlexOlmo model implementation (@2015aroras #24923)
* [Transform] [Quantization] Add QuTLASS support to vLLM (@LopezCastroRoberto #24440)
* Add Qwen3-Omni moe thinker (@wangxiongts #25550)
* Update `pre-commit` hook versions (@hmellor #26591)
* Update CUDA architecture list in build pipeline for 12.9.1 wheels (@wseaton #26592)
* Fix some typing issues found by `mypy==1.18.2` (@hmellor #26596)
* [BUG] Qwen3-next MTP. Fix attn metadata build bug (@vadiklyutiy #26564)
* [BugFix] Fix async scheduling + request preemption (@njhill #26385)
* Cache the environment variable check for batch invariance (@bwasti #26510)
* AOT Compilation for torch.compile (Bundled) (@zhxchen17 #24274)
* [BugFix] Make penalties and bad_words work with async scheduling (@njhill #26467)
* [Frontend] Improve the performance of `is_reasoning_end` (@chaunceyjiang #25735)
* [CI/Build] Fix ppc64le CPU build and tests (@npanpaliya #22443)
* [XPU] Upgrade NIXL to remove CUDA dependency (@zhenwei-intel #26570)
* [MM] Move Qwen3Omni MRoPE impl to model file (@ywang96 #26608)
* [Bugfix][Multi Modal] Fix incorrect Molmo image processing (@sangho-vision #26563)
* [Refactor]: Use M-RoPE interface directly while defining model class instead of maintaining model specific M-RoPE implementation in mrope.py (@divyanshsinghvi #24172)
* fix(nix): Allow local oneDNN path to fix vLLM CPU build failure (@ihb2032 #26401)
* Add EAGLE-3 Speculative Decoding Support for Qwen3 MoE (@rahul-tuli #26485)
* [CPU] fix the issue when the node is '-' cause json decode error. (@muzian666 #26562)
* [Refactor]Reduce duplicate code in serving_chat (@chaunceyjiang #26627)
* [compile] Add patched_fused_scaled_matmul_reduce_scatter (@angelayi #26604)
* [Bugfix][Qwen3VL] fix deepstack in qwen3vl (@JJJYmmm #26626)
* [Bugfix] Fix qwen-moe packed_modules_mapping (@jeejeelee #26634)
* [Benchmark] Support Infinity API (@DarkLight1337 #26641)
* CP: make correct_attn_out robust to 4‑D views and fix Triton arg binding (@hl475 #26509)
* [compile] Fix inductor partition config (@angelayi #26645)
* [EPLB] Support ernie4.5-moe (@HsChen-sys #22100)
* Add @noooop to codeowner for pooling models (@noooop #26652)
* [PERF] [Qwen3-next] Speed up gated RMSNorm (@vadiklyutiy #26207)
* [MISC] Rename the torch profiler filename as instance_id+rank_id for merging the Profiler results of each Rank (@noooop #25867)
* [Bugfix][CI/Build] Fix failing Mteb CI (@Isotr0py #26638)
* [Bugfix][DCP] Set default CUDAGraphMode to PIECEWISE for DCP (@FENP #26574)
* [TEST][BUG FIX] Fix DP GPU_ID issue (@xuechendi #26442)
* Update `Optional[x]` -> `x | None` and `Union[x, y]` to `x | y` (@hmellor #26633)
* [Feature] Add support for naver/splade-v3 (BERT-based sparse embedding model) (@gjgjos #26339)
* [Models][Qwen3VL] Speedup `fast_pos_embed_interpolate` (@lgeiger #26647)
* [easy] fix pre commit error on trunk (@hl475 #26665)
* [CI/Build] Add tool to build vllm-tpu wheel (@mgoin #19165)
* [Misc] cache result of disable_inplace (@bnellnm #26666)
* [Bugfix][Core]Fix block table out-of-range issue in priority scheduling (@quanliu1991 #26661)
* [FIX] Throwing an exception when the model does not support pool tasks (#25840) (@yyzxw #25855)
* docs: wrong command in structured_outputs README (@yihong0618 #26677)
* [Model] Fix  Skywork R1V mlp (@jeejeelee #26673)
* [Model] Add reasoning_parser and tool_parser for Ernie45 thinking (@CSWYF3634076 #25027)
* Ignore large reformatting PRs in `git blame` (@hmellor #26690)
* [Model][0/N] Improve all pooling task | clean up (@noooop #25817)
* [ResponseAPI] Simplify input/output message serialization (@Jialin #26620)
* [Bugfix] Fix out of bound index issue for Jina-embedding-v3 RoPE with cuda graph (@Isotr0py #26687)
* [unrevert] Add batch invariant kernel override for FlashInfer backend [2/n] (@bwasti #26373)
* [Hardware][CPU] Disable torch.compile for RISC-V to prevent APIError (@ihb2032 #26693)
* [FEATURE]: Use pydantic validation in `multimodal.py` config (@andycandy #26629)
* [UX] Speedup DeepGEMM warmup with heuristics (@mgoin #25619)
* [P/D] [NixlConnector] kv load recovery integration (@wseaton #26171)
* [Misc] Separate prompt logging to debug (@aitsvet #26713)
* [CI/Build] upgrade compressed-tensors to 0.12.2 to address LGPLv3 (@csy1204 #26501)
* [Bugfix][Rocm] fix qr error when different inp shape (@haoyangli-amd #25892)
* [Bugfix][Speculative Decoding] Extend Eagle quantization config fix to llama_eagle.py (@rahul-tuli #26590)
* [Model] Use merge_by_field_config for MM models (M-N) (@DarkLight1337 #26710)
* [Log] Optimize Startup Log (@yewentao256 #26601)
* [CI][Release][Arm64]: Build arm64 release for gpu arch 8.9 (@cyb70289 #26698)
* [Quantization] [Performance] Enable Marlin GEMM kernels for the calibration-free RTN-based quantization (@sakogan #26051)
* [Frontend][1/N] Improve all pooling task | Support FP16 Embedding Base64 (Still uses fp32 by default). (@noooop #26414)
* [CI] Fix mypy for `vllm/distributed` (@yewentao256 #26593)
* [CI Perf]Prune Tests in kernel/mamba (@kfhfar #26538)
* [Bug] Fix Assertion error DeepEP/csrc/kernels/intranode.cu:928: 'false and Unsupported type' (@yewentao256 #26532)
* [FrontEnd] UNREVERT CompilationConfig overhaul (#20283): deprecate use_inductor in favor of backend, simplify custom_ops  (@morrison-turnansky #26502)
* Pruning kernel Core Tests (@kfhfar #26727)
* [ResponseAPI] Further polish message serialization and unit tests (@Jialin #26728)
* Add tests for chunked prefill and prefix cache with causal pooling models (@maxdebayser #26526)
* [Misc][DP] support customized aggregated logger for dp (@luccafong #24354)
* [UX] Replace VLLM_ALL2ALL_BACKEND with --all2all-backend (@mgoin #26732)
* [compile] Enable sequence parallelism for full cuda graph without specifying compile sizes (@angelayi #26681)
* [Easy] Fix env type check errors from VLLM_DEBUG_LOG_API_SERVER_RESPONSE (@Jialin #26742)
* [build][torch.compile] upgrade depyf version (@youkaichao #26702)
* [torch.compile] Unwrap fused_marlin_moe custom op (@varun-sundar-rabindranath #26739)
* [Feature][Quantization] auto_round format add support for regex (@n1ck-guo #24024)
* Add support for the /rerank endpoint in vllm bench serve (@maxdebayser #26602)
* [Docs] Add a start tag to build.inc.md (@windsonsea #26747)
* Fix lora tests failure in TPU CI due to the removal of LoRA bias (@vanbasten23 #26723)
* [CI] [ROCm] Automate CC list for ROCm related issue (@vllmellm #26753)
* Adding the test-amd.yaml for test definitions for the AMD backend. (alternative PR) (@Alexei-V-Ivanov-AMD #26718)
* scheduler.py: Update the name of the default scheduler. (@ryanli #26758)
* [Model][Bugfix]fix ernie45 load failed due to ernie45 eplb code (@CSWYF3634076 #26684)
* [CI/Build] Use 127.0.0.1 instead of localhost in utils (@yeqcharlotte #26750)
* fix(frontend): always include usage, when configured to do so (@max-wittig #20983)
* [Plugin] Make plugin group clear (@wangxiyuan #26757)
* [Bugfix] Standardize merging multimodal embeddings (@DarkLight1337 #26771)
* [Model] Use merge_by_field_config for MM models (O-P) (@DarkLight1337 #26776)
* [NIXL][HeteroTP]Enable KV transfer from HND prefill to NHD decode (@xuechendi #26556)
* [Chore] Use `max_transformers_version` for Qwen-VL test (@DarkLight1337 #26792)
* Don't allow `typos` to fix by default (@hmellor #26785)
* [Doc] ruff format some Python examples (@DarkLight1337 #26767)
* [CI] Fix test_tool_id_kimi_k2 (@chaunceyjiang #26787)
* [Chore] Remove `SupportsV0Only` interface and update supported models docs (@DarkLight1337 #26783)
* [Feature] Change vllm.py with pydantic validation (@VladOS95-cyber #26726)
* [CI/Build] Cleanup LoRA test (@jeejeelee #26752)
* [DCP] Support Decode Context Parallel (DCP) for GQA with FlashAttention (@FENP #24864)
* Adjusted the model order of the model registration file (@princepride #26798)
* use combo kernel to fuse qk-norm and qk-rope (@BoyuanFeng #26682)
* [issues template] Encourage the author implement their own ideas (@noooop #26671)
* [KVConnector][Metrics] Aggregate scheduler-side KVConnectorStats (@QierLi #26046)
* [Feature][Responses API] Stream Function Call - harmony (@chaunceyjiang #24317)
* Revert "[issues template] Encourage the author implement their own ideas" (@noooop #26814)
* [Config] Remove Unused Environment Variable `VLLM_DISABLE_PAD_FOR_CUDAGRAPH` (@yewentao256 #26743)
* Update coveragerc and add codecov.yml for path fixes (@rzabarazesh #26435)
* [CI] Raise VLLM_MAX_SIZE_MB to 500 due to failing Build wheel - CUDA 12.9 (@mgoin #26722)
* [Kernel][MoE] Add MoE tunings for GLM 4.6-FP8 and GLM 4.5 Air on NVidia B200 (@zklapow #26818)
* [CI Failure] Fix tests with missing TinyLlama-1.1B-Chat-v1.0-FP8-e2e (@mgoin #26816)
* llama4_vision_rope: add HIP override to accept (q, k) and avoid (positions, q, k) mismatch (@hl475 #26790)
* [Attention][Spec Decode] FlashMLA spec decode support (@MatthewBonanni #26541)
* [Core] Reuse empty block lists whenever possible in KVCacheBlocks to mitigate GC costs (@Jialin #24964)
* Notice for deprecation of AutoAWQ (@HDCharles #26820)
* [Perf] Cache vllm.env.__getattr__ result to avoid recomputation (@Jialin #26146)
* Added MoE configs for llama 4, H200 device with tp=4/8 tuning (@Dhruvilbhatt #26837)
* fix: response_format for completion (@Nan2018 #23212)
* [Minor] Group async_scheduling related fields in model runner init (@njhill #26736)
* remove attn output view kernel (@BoyuanFeng #26680)
* [Core] Streamline some structured output related code (@njhill #26737)
* [CI Failure] Fix torchao dep failure for Quantization Test (@mgoin #26824)
* [frontend][gptoss] Add per turn stats into Harmony Context (@lacora #25061)
* [WideEP][P/D] Add usage stats for DP+EP and KV Connector (@tlrmchlsmth #26836)
* [torch.compile] Fix tests for torch==2.9 inductor partition (@ProExpertProg #26116)
* [Core][Easy] Use envs.__getattr__ for all Unify to environment variable access (@Jialin #26810)
* [Bugfix]fix Qwen3 xml tool parser (@Zhikaiiii #26345)
* [BUGFIX][NIXL] quick fix for 'assert self.connector_worker is not None' in get_kv_connector_stats (@xuechendi #26851)
* Disable FlashInfer sampler by default (@mgoin #26859)
* [Frontend][torch.compile] CompilationConfig Overhaul (#20283): name change  compilation level to compilation mode, deprecation compilation level (@morrison-turnansky #26355)
* [Bugfix] Fixes prefix-repetition benchmark script (@kouroshHakha #26828)
* [Model] Add DeepSeek-V3.1 reasoning parser (split from PR #24972) (@taohui #25589)
* [Docs] Move build.inc into arm.inc (@windsonsea #26862)
* [CI/Build][Bugfix] fix qutlass cmake error when set QUTLASS_SRC_DIR (@izhuhaoran #26773)
* [Feature] default --extra-body param to disable thinking in vllm bench serve (@lengrongfu #26784)
* [BugFix] Patch inductor partitioning logic (@angelayi #26735)
* [Bugfix] Fix qwen3-omni audio truncation issue (@Isotr0py #26815)
* [Graph Partition] pass tests for decorator (@BoyuanFeng #26831)
* [Bugfix][Multi Modal] Fix incorrect Molmo token processing (@sangho-vision #26873)
* [DSA][MLA] Tiny refactor on DeepSeek to make it reusable for different backends (@MengqingCao #26656)
* [Misc] Use helper function to generate dummy messages in OpenAI MM tests (@DarkLight1337 #26875)
* [bugfix] Lazy import cv2 (@angelayi #26869)
* [Deepseek-V3.2][Kernel] Integrate cuda indexer k cache gather (@zyongye #26456)
* [CI/Build] Add Qwen2.5-VL-7B-Instruct ChartQA Accuracy Tests in CI (@zhewenl #21810)
* [CI] Fix mypy for `vllm/executor` (@yewentao256 #26845)
* [Doc] ruff format remaining Python examples (@DarkLight1337 #26795)
* [doc] add Context Parallel Deployment doc (@youkaichao #26877)
* [Misc] Update TritonLanguagePlaceholder to have attributes that are used by Flash Linear Attention ops. (@madongfly #26853)
* [Fix] Remove divisibility requirement between num_kv_heads and tp_size in bailing_moe (@ant-yy #26876)
* [Easy] Get rid of unnecessary paraenthesis in kv_cache_manager (@Jialin #26842)
* [Platform] allow platform to init dp group (@wangxiyuan #22243)
* [Lora]Load tuned multi-lora kernel configs from json files (@li2haipeng #26319)
* [Model][2/N] Improve all pooling task | Support multi-vector retrieval (@noooop #25370)
* [Misc] Remove `isort` and `yapf` ignores (@DarkLight1337 #26888)
* [Misc] rename torch_dtype to dtype (@wangxiyuan #26695)
* chore: remove unused marker (@max-wittig #26890)
* [BugFix] Patch inductor memory plan logic (@BoyuanFeng #26878)
* [Chore] Separate out `vllm.utils.func` (@DarkLight1337 #26904)
* [Chore] Separate out `vllm.utils.async_utils` (@DarkLight1337 #26913)
* Lower severity of log when model info cache misses due to exception (@hmellor #26917)
* Olmo 3 tool parser and tests (@pdasigi #26143)
* [Feature]: Use pydantic validation in observability.py config (@cern1710 #26637)
* [ModelOpt] Remove NVFP4 MoE K%16==0 constraint (@XiaobingSuper #26891)
* [Chore] Clean up CODEOWNERS (@WoosukKwon #26923)
* [NVIDIA] Add support for cudnn fp4 gemm via flashinfer (@kaixih #26107)
* Vectorize RMS norm variance using vectorize_read_with_alignment (@bbeckca #26234)
* support flashinfer_fp4 moe for 5090 gpu (@XiaobingSuper #26669)
* [Bug] Temporally Disable `VLLM_ALLREDUCE_USE_SYMM_MEM` by Default (@yewentao256 #26925)
* Move query quantization to attention layer for Flashinfer & Triton. (@adabeyta #26534)
* Adjusting AMD test composition 2025-10-14 (@Alexei-V-Ivanov-AMD #26852)
* [Qwen3-Next] Add tuned MoE config for Qwen3-Next FP8 on H100 tp2 (@felixzhu555 #26887)
* [Bugfix] reasoning_parser parameter handling in run_batch.py (@inc-jeong #26225)
* [ROCm][FEAT] Fuse DeepSeek shared experts into AITER fused_moe ops (@kliuae #24097)
* [CI] Enable Blackwell Llama4 MoE tests (@mgoin #26731)
* [BUG] Allow runai_streamer_sharded in config check (@ahao-anyscale #26958)
* [bugfix] Fix SP + PP without specifying compile size (@angelayi #26955)
* [BugFix] Work around graph partition x torch.compile cache issue (@zou3519 #26956)
* [DOC][XPU]update feature parity with Intel GPU (@xuechendi #26954)
* [Chore] Rename `utils` submodules (@DarkLight1337 #26920)
* [PERF] Qwen3-next MTP speedup (change bool mask indexing to index_select / index_copy to reduce d2h) (@vadiklyutiy #26437)
* Deepseek-v3 Batch Invariant on 8xH100 (@bwasti #26609)
* [CI/Build] Update expected beam search output for Phi3V (@DarkLight1337 #26978)
* [Hardware][CPU][PowerPC]Disable torch.compile() in toptopk sampling (@Akashcodes732 #26987)
* [CI/Build] Fix AMD import failures in CI (@zhewenl #26841)
* [Benchmark] Use truncation by default for pooling benchmarks (@DarkLight1337 #26992)
* [Chore] Separate out `vllm.utils.collections` (@DarkLight1337 #26990)
* [Model][Bugfix] fix ernie45 vl run failed from shared experts optimization (@CSWYF3634076 #26885)
* Cleanup code after Python 3.10 upgrade (@lgeiger #26520)
* [MISC] fix import violations for re and triton modules (@llsj14 #26654)
* [Bugfix] Correct LayerNorm epsilon parameter in modernbert.py (@bogdanminko #27008)
* [Benchmark] Show E2EL by default for pooling models (@DarkLight1337 #27014)
* [Attention] Tune CUTLASS MLA num_splits (@MatthewBonanni #26846)
* [NIXL] Improve request_finished() debug logs (@markmc #25665)
* [docs] standardize Hugging Face env var to `HF_TOKEN` (deprecates `HUGGING_FACE_HUB_TOKEN`) (@yankay #27020)
* [CI] Replace large models with tiny alternatives in tests (@tahsintunan #24057)
* [Feature] Add process_weights_after_loading to AttentionImpl (@lengrongfu #26870)
* [Model] Fix Qwen3VL mm mapping (@jeejeelee #27027)
* Fix Qwen2.5 VL image grid docstring (@skyloevil #27033)
* Support `set` in the CLI generation (@hmellor #27031)
* [gpt-oss][1/N] EZ: refactor serving_responses for modularity (@qandrew #26948)
* Support block size of 256 used by Intel HPU (@mandy-li #26883)
* [Compressed Tensors] Always clone output for compile robustness (@kylesayrs #26849)
* Adding Warmup to Benchmark Serving (@kimbochen #26943)
* [Bug] Fix batch invariant test `has` to `is` (@yewentao256 #27032)
* [GPTOSS][DP/EP][Marlin] Enable GPTOSS Batched DP/EP using Marlin kernels (@varun-sundar-rabindranath #25997)
* [Feature] Migrate DeepGEMM API from `get_m_alignment_for_contiguous_layout` to `get_mk_alignment_for_contiguous_layout` (@yewentao256 #26935)
* [CI] Prune Quantization Tests and skip compilation (@mgoin #27038)
* [Bug] Add Assertion for `random-input-len` / `random-output-len` (@yewentao256 #26834)
* [small][batch invariance] Rename the env and internal flags to simplify usage (@bwasti #26855)
* Refactor Transformers backend to use mixins (@hmellor #26906)
* [NVIDIA] [Perf] Update to leverage flashinfer trtllm FP4 MOE throughput kernel (@jiahanc #26714)
* [torch.compile] Passing only necessary compilation config to inductor pass config (@luccafong #27041)
* [Chore] Separate out `vllm.utils.import_utils` (@DarkLight1337 #27022)
* [torch.compile] fix simple inductor graph partition test (@BoyuanFeng #27050)
* Remove unused imports (@lgeiger #26972)
* vllm bench serve shows num of failed requests (@tomasruizt #26478)
* [Docs] Reduce custom syntax used in docs (@hmellor #27009)
* [Perf] Exploit out-of-band buffers in shm_broadcast (@njhill #26961)
* disable graph partition in custom op (@BoyuanFeng #26952)
* [Bugfix][Qwen] fixes the weights dtype in qwen3_next: it is actually a bfloat16 (@sighingnow #27030)
* [Core] Change `execute_model_with_error_logging()` to be a ctx manager (@njhill #27060)
* [Bugfix] Fix ReplicatedLinearWithLoRA  (@jeejeelee #27065)
* [Kernel] Lazy import FlashInfer (@jeejeelee #26977)
* [CI/Build] Update Llama4 eval yaml (@zhewenl #27070)
* [Model] Always use Transformers backend for PaliGemma and Gemma3-MM (@DarkLight1337 #26715)
* [Model] Add support for LightOnOCR (@staghado #26916)
* [CI/Build] Update compressed tensor test path to fix CPU CI (@bigPYJ1151 #27068)
* [Kernel][Performance] Fuse float cast and renormalize to topk softmax kernel  (@izhuhaoran #26717)
* [CI] fix docs build failed (@chaunceyjiang #27082)
* Update troubleshooting.md and remind VLLM_TRACE_FUNCTION usage (@Prowindy #27069)
* [VLM][Refactor] Remove useless func `get_input_positions` in `MRotaryEmbedding` (@MengqingCao #27088)
* [Docs] Replace all explicit anchors with real links (@hmellor #27087)
* [Docs] Replace `rst` style double-backtick with `md` single-backtick (@hmellor #27091)
* [Model]Improve Qwen3VLMoeForConditionalGeneration packed_modules_mapping (@jeejeelee #27096)
* [Harware][AMD][Model] Triton MoE tuning configs for GLM-4.5 for MI350 and MI355 (@rkarhila-amd #25586)
* Fix incorrect docstring for stop_profile() method (@hyongtao-code #27101)
* [torch.compile] Enable attention and allreduce fusion without custom ops enabled (@ProExpertProg #24604)
* [CI] Nixl integration tests (@NickLucche #27010)
* [Data-parallel] Allow DP>1 for world_size > num_gpus on node (8) (@patrickvonplaten #26367)
* [bugfix] Qwen3-VL fix video incorrect timestamp calculations while do_sample_frames=True (@wulipc #27104)
* [CI] Remove forbidden slash (@NickLucche #27112)
* [ROCM] MoE fp4 CK kernel (@maleksan85 #26545)
* [ROCm][Bugfix][Model] Fix illegal memory access when running qwen3_moe models with  rms_norm (Qwen3-235B-A22B,  Qwen3-30B-A3B, etc.) (@rasmith #26192)
* [Bugfix] [AITER] [ROCm] Fix Quark MoE Quant Config and AITER Fused MoE quant type logic (@vllmellm #27029)
* [Chore] Remove unused `PolyNorm` layer (@Isotr0py #27110)
* [Bugfix] Use PIECEWISE cudagraphs on Blackwell if max_model_len > 131072 (@mgoin #27114)
* [Minor] Remove unnecessary error message (@zhuohan123 #27115)
* [V1][Spec Decode] Fix greedy temperature detection after sampler refactor (@Pradyun92 #27077)
* [Test] Make `test_failure` more stable for batch invariance (@yewentao256 #27054)
* [BugFix][Core] Fix error when enable async-scheduling in multi-node env (@lhtin #25887)
* [Perf]  Add H100 fused MoE config (@skyloevil #25398)
* [CI/Build] tests(v1): feed Triton attention the (num_blocks, 2, …) KV cache layout in backend-correctness tests (@hl475 #26663)
* [GPT-OSS] Structure_Tag support for gpt-oss tool-call in cot (@Hanchenli #25515)
* [Misc] Rev DeepEP (@varun-sundar-rabindranath #27122)
* [DOC][FEATURES][CPU]update cpu feature for v1 (@xuechendi #27135)
* [Test] Add test for /health endpoint on engine failure (@dongbo910220 #26074)
* [Chore] Separate out `vllm.utils.mem_utils` (@iAmir97 #27143)
* [Feature] Batch Invariant: Support DeepGEMM and Blackwell (@yewentao256 #27127)
* [fix][cpu] fix prefill attention in CPU attention backend (@fadara01 #27035)
* [Misc] Refactor `get_kv_cache_spec` into `AttentionLayerBase` (@NickLucche #26587)
* [Models][QwenVL] Remove unnecessary `.contiguous()` calls (@lgeiger #27106)
* [Chore] Clean up pytorch helper functions in `vllm.utils` (@Isotr0py #26908)
* Fix incorrect string formatting in barrier timeout exceptions (@hyongtao-code #27149)
* [Minor] Add some clarifying comments to recent changes (@njhill #27130)
* [BugFix] Fix failing gemma-3-1b-it test: `test_lm_eval_accuracy_v1_engine[google/gemma-3-1b-it]` (@LucasWilkinson #27111)
* [Chore] Separate out profiling utilities from vllm.utils (@dongbo910220 #27150)
* [BugFix] fix graph partition signature (@BoyuanFeng #27139)
* [BugFix] Disable fp8 kv-cache by default for DeepSeek V3.2 (@LucasWilkinson #27121)
* [V1][Metrics][Plugin] Add plugin support for custom `StatLoggerBase` implementations (@ptovam #22456)
* [Minor] Remove unused env variable (@WoosukKwon #27161)
* [BugFix] Fix lazy imports involving outlines_core (@22quinn #27158)
* [Chore] Separate out hashing utilities from vllm.utils (@dongbo910220 #27151)
* [Benchmark] Convenience script for multiple parameter combinations (@DarkLight1337 #27085)
* output type conversion fix (@jianyuh #27159)
* [Chore] Separate out `vllm.utils.network_utils` (@iAmir97 #27164)
* [Misc] Move utils to avoid conflicts with stdlib, and move tests (@DarkLight1337 #27169)
* [Bugfix] Fix error with penalties when speculative decoding and structural output are enabled (@southfreebird #26586)
* Fix typo in ValueError message: use `kv_role` instead of `kv_disagg_role` (@hyongtao-code #27166)
* [Model][VLM] Support Bee-8B Model (@uyzhang #27012)
* [LoRA] LoRA cuda graph specialization (@andylolu2 #25914)
* [Kernel] Accelerate solve_tril with TMA (@ZJY0516 #26746)
* AArch64 CPU Docker pipeline #26931)
* Nemotron Nano V2 VL + EVS Video Support (@BloodAxe #27107)
* [Kernel][Model] Tune fused_moe Triton configs for Qwen3-30B A3/A3B on H100 (FP8/BF16) (@shivampr #26268)
* [Bugfix][CI] Fix `Distributed Tests (4 GPUs)` async_sched+ray test (@NickLucche #27195)
* [Feature][Quantization] auto_round support for mixed bits quantization (@n1ck-guo #23812)
* [ROCm] enable some tests in entrypoints test groups on AMD (@Concurrensee #26725)
* [ez] add uv lock to gitignore (@qandrew #27212)
* [Quantization] Automatically infer AWQ `modules_to_not_convert` field (@Isotr0py #26909)
* [V0 Deprecation] Remove V0 metrics code (@njhill #27215)
* [cpu] Dispatch un-quantized linear to oneDNN/ACL by default for AArch64 (@fadara01 #27183)
* create is_in_the_same_node on cpu (@helunwencser #26832)
* [Frontend] Enforce tokenize=False when applying chat template (@russellb #27205)
* [Feature][Kernel]FusedMoE LoRA (@wcwuwc #21229)
* [BugFix] GPT-OSS Attention DP + MoE TP weight loading issue (@nvpohanh #24032)
* [ModelOpt] Load w13/w2_input_scale for all experts, nvfp4 (@wenscarl #26135)
* [Bugfix] Fix gpt-oss w4a8 DP/EP on B200 (@varun-sundar-rabindranath #26729)
* [Bugfix] Fix broken MTP weight loading for FP8 KV Scales (@benchislett #27227)
* [Fix][Spec Decode] Fix llama4 draft loading with different quantization (@linzebing #27136)
* [Nixl] Minor refactor to handshake related metadata (@NickLucche #26410)
* [MM][Core] Decouple ViT backend from LM backend (@ywang96 #27061)
* [Deepseek v3.2] Optimize top_k_per_row (@dcampora #26763)
* [Chore] Separate out NCCL utilities from vllm.utils (@dongbo910220 #27197)
* [CI] Install pre-release version of `apache-tvm-ffi` for `flashinfer` (@hmellor #27262)
* [ROCM] Enable CompressedTensorsWNA16 (@JartX #27187)
* Add @pavanimajety to .github/codeowners (@pavanimajety #27213)
* [ROCm] Update Triton, Torch, and AITER branches for ROCm base Dockerfile (@micah-wil #27206)
* [Feature] Batch Invariant for R1 TP 8 on Blackwell (@yewentao256 #27229)
* [Bugfix][P/D] Reduce num_threads used by nixl ucx backend (@dagrayvid #27196)
* [V0 Deprecation] Remove V0 executors (@njhill #27142)
* [Bugfix] fixes the decoding metadata of dense mla's fp8 kvcache. (@sighingnow #27144)
* Update PyTorch to 2.9.0+cu129 (@huydhn #24994)
* [Performance] Dual stream execution of "shared_experts" and "selected_experts" inside FusedMoE (@alexm-redhat #26440)
* Updated xgrammar backend to not deny supported string formats (@ExtReMLapin #27253)
* [Bugfix] skip cuda graph for drafter when running with eager (@benchislett #26821)
* [P/D] KVConnector for decode benchmarking (@tlrmchlsmth #25986)
* [Deepseek v3.2] Remove extra logics in indexer (@IwakuraRein #26465)
* [DOC] [ROCm] Add ROCm quickstart guide (@vllmellm #26505)
* [CI] Nixl integration tests DP-EP (@NickLucche #27199)
* [Benchmark] Add plot utility for parameter sweep (@DarkLight1337 #27168)
* [torch.compile] Enable silu_mul_fp8_quant fusion without custom ops enabled (@ZJY0516 #27146)
* [1/N][Platform] Cleanup useless function (@wangxiyuan #26982)
* Update release pipeline for PyTorch 2.9.0 (@huydhn #27303)
* Remove last `level` references not removed #26355 (@hmellor #27260)
* fixed reasoning streaming with tool_choice="required" (@ExtReMLapin #24108)
* [Frontend][3/N] Improve all pooling task | Support binary embedding response (@noooop #27066)
* [Bugfix][CPU] Disable dual stream execution for experts on CPU (@bigPYJ1151 #27320)
* [Bug] Raise error for `LLM(data_parallel_size=k)` single-process DP Usage (@yewentao256 #27282)
* Bugfix - pass 'max_num_tokens_padded' into 'moe_lora_align_block_size' (@gnovack #27311)
* [Core] Handle MoE LoRA edge cases (@jeejeelee #27335)
* [docs] Update v1 metrics design doc (@markmc #27332)
* Mirroring changes in test-pipeline.yaml into test-amd.yaml (@Alexei-V-Ivanov-AMD #27242)
* [Chore] Separate out optional dependency checks from vllm.utils (@dongbo910220 #27207)
* [Model] Upstream Deepseek-OCR model (@Isotr0py #27247)
* [NIXL] Terminate handshake listener thread in shutdown (@markmc #26404)
* [Bug] Fix DeepSeek-V2.5-1210-FP8 issue (@yewentao256 #27267)
* [bugfix] remove unused parameters to reduce unnecessary vram usage (@ReinForce-II #26789)
* [Bugfix] Add missing 'is_internal_router' attribute to FusedMoEWithLoRA (@jeejeelee #27351)
* [NIXL] use Host buffer to support TP_ratio > 1 for XPU (@xuechendi #27140)
* [Bugfix] Make `get_mrope_input_positions` instance methods (@DarkLight1337 #27342)
* [Bugfix] Fix HF format InternVL large variants video processing (@Isotr0py #27330)
* [Frontend] Require flag for loading text and image embeds (@russellb #27204)
* [P/D] Dynamic `kv_output_aggregator` collect size (@NickLucche #26734)
* Support Anthropic API /v1/messages Endpoint (@LiuLi1998 #22627)
* [Bugfix] Disable FlexAttention direct block mask building for encoder-only models (@Isotr0py #27344)
* [Model] Revert PR #26715: Restore custom PaliGemma and Gemma3-MM impl… (@lucianommartins #27309)
* [Doc] Fix numbering sequence in prefix caching (@gigit0000 #27357)
* [Prefix Cache] Use LoRA name for consistent KV-cache block hashing (@sagiahrac #27211)
* [Feature] publisher default set zmq in kv_event config (@lengrongfu #26915)
* [BugFix] bugfix for Flash Attention MLA with full cuda graph IMA following pr-25490 (@Daisy-Ma-coder #27128)
* [Chore] Separate out system utilities from vllm.utils (@dongbo910220 #27201)
* [MLA] Bump FlashMLA (@MatthewBonanni #27354)
* [Bugfix] Fix deepseek-ocr multi-image inference and add `merge_by_field_config=True` with tensor schema support (@Isotr0py #27361)
* [Bugfix] Fix SLA tuner initialization (@DarkLight1337 #27355)
* [Bugfix] Fix incorrect kv cache metrics in grafana.json (@fangpings #27133)
* [Bugfix][Core] running queue index leakage exception (@CLFutureX #26754)
* [CORE] Support Prefix Caching with Prompt Embeds (@qthequartermasterman #27219)
* [V1][spec decode] return logprobs for spec decoding (@TheEpicDolphin #26060)
* [Model] Add num_cached_tokens for PoolingRequestOutput (@noooop #27378)
* [Chore] Remove duplicate `has_` functions in vllm.utils (@jonathanc-n #27372)
* [CI/Build] Fix Prithvi plugin test (@DarkLight1337 #27393)
* [Bugfix] Fix args settings for guided decoding args (@luccafong #27375)
* [CI/Build] Fix AMD CI: test_cpu_gpu.py (@zhewenl #27388)
* add SLA information into comparison graph for vLLM Benchmark Suite (@louie-tsai #25525)
* [CI] Reorganize entrypoints tests (@chaunceyjiang #27403)
* [Metrics] [KVConnector] Add connector prefix cache hit rate stats (@ptovam #26245)
* [Model] Add MoE support for NemotronH (@tomeras91 #25863)
* Run mypy on the lowest supported Python version instead of system Python (@hmellor #27048)
* [Bugfix] Honor --mm_encoder_attn_backend when used (@bradleyhd #27124)
* [Feature] Pydantic validation for speculative.py (@Navya1707 #27156)
* [Misc] Remove use of CUDA_VISIBLE_DEVICES for device selection (fix DP slow startup time &c) (@ilmarkov #26709)
* [CI/Build] Remove unnecessary flags from test registry (@DarkLight1337 #27353)
* [Frontend][4/N] Improve all pooling task | Add plugin pooling task (@noooop #26973)
* Mirroring the test definitions (2025-10-22) (@Alexei-V-Ivanov-AMD #27362)
* [Bugfix] Fix dp_chunking enablement logic in FusedMoE layer (@alexm-redhat #27220)
* [Bugfix][ROCm][DeepSeek] Fix for forward_hip in rope for DeepSeek (@gshtras #27373)
* [Bugfix] Fix AWQ marlin layer skipping (@Isotr0py #27416)
* [Misc] Add triton_kernels dependency (@varun-sundar-rabindranath #27370)
* [Chore] Separate out `vllm.utils.platform_utils.py` (@jonathanc-n #27374)
* [Attention] Fix FlashMLA metadata builder arguments for q_len > 1 (@MatthewBonanni #27368)
* [Bugfix][DP] Fix creating too many DP Placement Groups (@kebe7jun #26880)
* [Model] Siglip Embedding Support (@piood #27324)
* [Hardware][POWERPC] Disable oneDNN path in vllm/model_executor/layers/utils.py for Powerpc (@Akashcodes732 #27422)
* Granite 4.0 quark quantization support (@xiao-llm #26944)
* Fix pooling adapters for Transformers backend  (@hmellor #27338)
* [Kernel] Add GPTQv2 format support for low-bit or asymmetric quantization, by adapting gptq_gemm (@xxxxyu #26092)
* [Misc] Add TPU usage report when using tpu_inference. (@hfan #27423)
* [Bugfix][CI] Move resolving cudagraph_mode before initializing attn_metadata_builder (@fhl2000 #27427)
* Fix EventPublisherFactory logic for disabled KV cache events (@usberkeley #27419)
* [Chore] remove structural tags logging lines (@aarnphm #27451)
* [Bugfix] Fix Pydantic union resolution for ResponseFunctionToolCall in Responses API (@strinczer #26706)
* [Misc] Avoid "PyTorch non-writable tensors" warning in RayPPCommunicator (@ruisearch42 #27443)
* [Docs] remove v1 column for embedding models (@piood #27446)
* [MM][Bugfix] Replace `PatchEmbed`'s conv3d to linear layer (@Isotr0py #27418)
* [BugFix] Fix torchrun DP with LLM class (@22quinn #27395)
* [Refactor] move tool parsing logic from protocol.py to the tool parser (@chaunceyjiang #27383)
* [Benchmark] Enable benchmark to run with `encoding_format="bytes"` (@DarkLight1337 #27467)
* Fix AArch64 CPU Docker pipeline #27331)
* [MISC] `cudagraph_capture_sizes`  related improvements (@fhl2000 #26016)
* Fix test named tool use (@chaunceyjiang #27458)
* [Doc] Fix minor issues in docs/design/metrics.md (@draftbk #27436)
* [cpu][fix] Fix onednn_mm crash on consecutive matmuls with same M,K,N and different dtype (@fadara01 #27472)
* [compile] Turn standalone_compile back on (@zou3519 #27460)
* [NIXL][BUGFIX] delay done_recving queue cleanup to bottom of get_finished (@xuechendi #27297)
* [Bugfix] Fix MultiConnector stats reconstruction across process boundaries (@kouroshHakha #27366)
* [Attention] Add MLA prefill backend: trtllm_ragged_attention_deepseek (@minosfuture #26397)
* [Bugfix] Fix interns1-vit qk norm code path (@Isotr0py #27480)
* [CI/Build] Fix test_torch_utils in AMD CI (@zhewenl #27317)
* [Document] Add ms-swift library to rlhf.md (@hjh0119 #27469)
* [Perf][Async Scheduling] Remove CPU->GPU sync in dummy_run (@lhtin #27455)
* [Distributed] Basic set of configuration for large EP deployment on GB200 (@wpc #27328)
* [Log] Optimize Startup Log (@yewentao256 #26740)
* [Misc][DP] Guard mxfp4 implementation selection (@varun-sundar-rabindranath #27484)
* [KVConnector] Migrate the LMCache integration code to be vLLM native (@ApostaC #25542)
* [CI] Add tests for cudagraph (@ZJY0516 #27391)
* Revert "[Misc] Remove use of CUDA_VISIBLE_DEVICES for device selectio… (@zhuohan123 #27502)
* [Core][Hybrid allocator + kv connector 1/n] Enable hybrid allocator + KV cache connector (@KuntaiDu #25712)
* [Misc] Simplify max tokens in multimodal registry (@DarkLight1337 #27500)
* [Attention] Add missing kv cache scale setup (@MatthewBonanni #27490)
* [CI/Build] Refactor processing tests (@DarkLight1337 #27470)
* [CI/Build] Use CPU for mm processing test on CI (@Isotr0py #27522)
* [BUGFIX][ROCM] ViT FlashAttention on ROCm (no GFX9) and contiguous on qwen3vl ROCm TORCH_SDPA (@JartX #27190)
* [Bugfix] Fix processor initialization for model from modelscope instead of HF (@lengrongfu #27461)
* [Bugfix] fix empty prompts for async-engine mode in benchmark throughput (@luccafong #27494)
* [Doc] Remove Molmo warning (@DarkLight1337 #27527)
* [Doc] Fix links to GH projects (@DarkLight1337 #27530)
* [Chore]:Extract math and argparse utilities to separate modules (@yeshsurya #27188)
* Revert "[CI/Build] Use CPU for mm processing test on CI (#27522)" (@DarkLight1337 #27531)
* [CI/Build] Update causal-conv1d installation (@DarkLight1337 #27529)
* [Model][MiniMax-M2] Support MiniMax-M2 Model (@rogeryoungh #27535)
* fix m2 test (@youkaichao #27536)
* Fix MiniMax-M2 copyright (@rogeryoungh #27537)
* [Model][Bugfix] fix ernie45 moe 300B SharedFusedMoE output tuple (@CSWYF3634076 #27316)
* [Model] Use merge_by_field_config for MM models (Qwen series) (@DarkLight1337 #27546)
* [Docs] reemove the incorrect `enable_reasoning` parameter  (@yyzxw #27550)
* [Performance][LoRA] add context varying params to 'do_not_specialize' in fused moe lora (@gnovack #27445)
* [Model] Deprecate `merge_by_field_config=False` (@DarkLight1337 #27551)
* [Doc] Slight improvement to M2 and beyond (@jeejeelee #27554)
* [Kernel] Adding split_K implementation for fused_moe_lora (@dcmaddix #27291)
* [Misc] Clean up utils (@DarkLight1337 #27552)
* [Bugfix] Limit the default value of `max_model_len` when it is not specified by users (@shen-shanshan #27556)
* [Bugfix] Fixed when return_token_ids=False, the first event still contains prompt_token_ids. (@chaunceyjiang #27561)
* [cpu][perf] Fix low CPU utilization with VLLM_CPU_OMP_THREADS_BIND on AArch64 (@fadara01 #27415)
* [Kernel] Enable moe LoRA kernel support FP16 (@jeejeelee #27468)
* [Hybrid] Added supports_mamba_prefix_caching Protocol (@Josephasafg #27339)
* [Model] Siglip2 Model Support (@piood #27566)
* [Bugfix][LoRA][FusedMoE] Select MxFP4 Backend based on LoRA Enablement (@varun-sundar-rabindranath #27487)
* fixing mm placeholder replacement issue with gemma3 (@tingtingtangmeta #27538)
* [Chore]: Stream tokens vs characters in tool call parser tests (@bbrowning #26513)
* [Misc] Clean up more utils (@DarkLight1337 #27567)
* [ROCm] Update AITER branch for ROCm base docker (@micah-wil #27586)
* Code quality improvements: version update, type annotation enhancement, and enum usage simplification (@usberkeley #27581)
* [gpt-oss][2/N] Support input_messages in responsesRequest (@qandrew #26962)
* [Bugfix][CI] Fix config resolving logic with remote models (@ywang96 #27610)
* [Stability fix] turn off HMA allocator when connector is set (@KuntaiDu #27592)
* [Bugfix] fixed inconsistent finish_reason handling between V0 and V1 engines (@chaunceyjiang #27555)
* [ROCm] [Doc] Update ROCm installation docs  (@vllmellm #27327)
* [Hardware][AMD][Model] Triton MoE tuning configs for GLM-4.6 for MI300X (@minatoaquaMK2 #27323)
* [Bugfix][CPU] Fallback oneDNN linear to torch linear to fix half gemm support on legecy platforms (@bigPYJ1151 #27526)
* [Core][Bookkeeping Optimization] Update against numpy view of is_token_ids tensor (@Jialin #27618)
* [CI/Build] Fix amd model executor test (@zhewenl #27612)
* Fix a robust parsing issue in KimiK2ToolParser that causes IndexError (@wangln19 #27565)
* [V0 Deprecation] Remove vestigial V0 logits_processors.py file (@njhill #27601)
* [Bugfix] In LongRoPE, decide short vs long based on max_model_len (@MatthewBonanni #27431)
* [Misc] Separate out `utils.counter` and move `utils.Device` to engine (@DarkLight1337 #27588)
* [Bug] Fix shape issue for eplb expert weights (@yewentao256 #27589)
* [compile] Add enable_prompt_embeds to compile hash. (@zhxchen17 #27285)
* [Hybrid] Add mamba_block_size to Engine Args (@Josephasafg #27289)
* [compile] Disable dynamo guards check for AOT compilation. (@zhxchen17 #27288)
* fix: allow HuggingFace standard chat template params via **kwargs (@wangln19 #27622)
* [Core] Enable async scheduling for external_launcher mode (@22quinn #27394)
* [Bugfix][Frontend] validate arg priority in frontend LLM class before add request (@junpuf #27596)
* [BugFix] Also consider RAY_EXPERIMENTAL_NOSET_* when storing compilation cache (@HollowMan6 #27294)
* [nit]: lmcache integration import (@sammshen #27600)
* [FLA] Introduce Kimi Delta Attention(KDA) to VLLM (@zhiyuan1i #27654)
* [Bugfix] Fix allocation & free logic of SingleWriterShmRingBuffer (@imkero #27117)
* [Bugfix][CI] Fix v1 attention backend tests and add CI coverage (@mmangkad #26597)
* [Misc] Make `LayerBlockType` a `Literal` instead of `Enum` (@DarkLight1337 #27658)
* [compile] Add fallback path to AOT compile when serialization fails. (@zhxchen17 #27350)
* Add load pattern configuration guide to benchmarks (@mpashkovskii #26886)
* [Misc] Make reorder batch also separate extends (@LucasWilkinson #27367)
* [Test] Batch Invariant: Unit test using parameterized backend (@yewentao256 #27478)
* [Core] Scheduler: Publish connector events after output (@orozery #25875)
* [AsyncScheduling] Make async overlap work with logprobs (@njhill #27615)
* [Misc][qwen2_5_vl][torch.compile] Enable `supports_torch_compile` on generic nn.Module and demonstrate speedup on Qwen Vision model (@Lucaskabela #23207)
* [Bug] Fix deepep low latency use nvlink by default (@yewentao256 #27677)
* [Core] Early return in SlidingWindowManager.remove_skipped_blocks (@Jialin #27673)
* Install pre-built xformers-0.0.32.post2 built with pt-2.9.0 (@huydhn #27598)
* Revert "Install pre-built xformers-0.0.32.post2 built with pt-2.9.0" (@simon-mo #27714)
* [Build] Revert triton_kernels requirements (@varun-sundar-rabindranath #27659)
* [NIXL][XPU] update name of nixl wheel (@zhenwei-intel #27631)
* [Model] Fix Qwen3VL and Qwen3Omni after torch.compile changes (@lgeiger #27705)
* [KV cache] Fix lmcache connector (@Shaoting-Feng #27681)
* [CI/Build][Bugfix]Fix Quantized Models Test on AMD (@zhewenl #27712)
* [Bugfix] Fix non-contiguous tensor error in `rocm_unquantized_gemm_impl` (@zhewenl #27605)
* [Speculators] Move tests + fix integration (@dsikka #27308)
* [CI/Build] Move pre-commit only scripts to `tools/pre_commit` (@DarkLight1337 #27657)
* [perf] Enable concurrent execution of "shared_experts" and "selected_experts" in qwen3-next (@ZJY0516 #27578)
* [Bugfix] Fix modular kernel tests (@bnellnm #27707)
* [Frontend] [gpt-oss] Tool json call parsing error retry (@alecsolder #27675)
* [Frontend] [gpt-oss] Mcp type bug (@alecsolder #27689)
* [Fix] import get_kv_cache_torch_dtype error in vllm_v1_adapter.py (@KevinCheung2259 #27670)
* [Misc] Raise error for missing video metadata in `MultiModalDataParser` (@Isotr0py #27664)
* Feature/video support in random mm dataset (@BloodAxe #25963)
* [chore] Remove models weight on S3 logic (@khluu #27725)
* [VLM] Add Qwen3-VL generation test (@Isotr0py #25185)
* [CI/Build] Skip cpu offloading test on AMD (@zhewenl #27690)
* [Frontend] Add `vllm bench sweep` to CLI (@DarkLight1337 #27639)
* Fix MiniMax-M2 rmsnorm precision and remove useless code (@rogeryoungh #27627)
* [ROCm][Platform] Add MI308X device id in _ROCM_DEVICE_ID_NAME_MAP (@sammysun0711 #27623)
* [CI] Fix flaky `test_two_responses_with_same_prev_id` test  (@NickLucche #27745)
* [Chore] Optimize P2PNCCLEngine `http_address` (@yewentao256 #27488)
* [Core] Exposing engine sleep & wake_up state as prometheus metrics (@dumb0002 #24176)
* [FIXBUG] Qwen3VL hallucinations without Contiguous on Torch.SDPA (@JartX #27744)
* `use_aot_compile` should respect `VLLM_DISABLE_COMPILE_CACHE` (@BoyuanFeng #27698)
* [CI/Build] Test torchrun with 8 cards (@22quinn #27548)
* [Bug] Raise error explicitly if using incompatible backend (@yewentao256 #27424)
* [KVConnector] Add metrics to Prometheus-Grafana dashboard (@NickLucche #26811)
* [Bug] Fix DeepEP low latency `assert self.batched_router_logits.size(-1) == full_router_logits.size(-1)` Bug (@yewentao256 #27682)
* [BugFix] Fix handling of resumed reqs in `SharedStorageConnector` (@njhill #27719)
* [Bug] Fix DBO IMA issue for DeepEPHT (@yewentao256 #27666)
* [Temp fix] Disable torch.compile for Qwen2.5 VL's VisionBlock temporarily.  (@huachenheli #27760)
* [XPU][bugfix] fix rope for llama4 and deepseek (@yma11 #25145)
* [Bugfix] mamba-block-size is set for vision language model (@heheda12345 #27773)
* [XPU] Update latest IPEX 2.8 release (@jikunshang #27735)
* [BugFix] Handle unscheduled requests properly when async scheduling (@njhill #27756)
* [Feat] Adds runai distributed streamer (@bbartels #27230)
* kernels/moe test pruning (@kfhfar #27053)
* [BugFix] Reordering extend logic fix (@LucasWilkinson #27739)
* [Benchmark] Cleanup deprecated nightly benchmark and adjust the docstring for performance benchmark (@KuntaiDu #25786)
* Add more dims for batch invariant shims (@bwasti #27489)
* use stringData in secret yaml to store huggingface token (@yitingdc #25685)
* [CI/Build]Add eval config for Qwen3-235B-A22B-Instruct-2507-FP8 (@hl475 #27113)
* [BugFix][VL] Fix FA selection on Qwen2.5-VL (@zhewenl #27790)
* [V0 deprecation] Remove VLLM_USE_V1 usage in config module (@wangxiyuan #27784)
* [CI Failure] fix test_default_mm_loras (@hl475 #27795)
* [CI] Fix mypy for `vllm/v1/core` and `vllm/v1/engine` (@yewentao256 #27108)
* [Bugfix] Improve GPU validation logging in Ray fallback scenarios (@sairampillai #25775)
* [Frontend][Doc][5/N] Improve all pooling task | Polish encode (pooling) api & Document. (@noooop #25524)
* [CI Failure] Fix test_kv_cache_model_load_and_run (@hl475 #27717)
* [Model] Introduce Kimi Linear to vLLM (@zhiyuan1i #27809)
* [KV offload] Enable CPU KV offload on CUDA alike Platforms (@zhewenl #27770)
* [Model][Ouro] Support Ouro Model (@FlamingoPg #27794)
* [Bugfix][CPU] Fix MRoPE dispatch on the CPU backend (@bigPYJ1151 #27800)
* [BugFix] Stopgap - Flashinfer Autotuner + GPT-OSS + DP/TP (@varun-sundar-rabindranath #27762)
* [Misc] Replace CUDA_VISIBLE_DEVICES in DP with torch.cuda.set_device for device selection on cuda-like devices (@ilmarkov #27564)
* [Docs] add Shanghai Meetup - 2025/10 (@kebe7jun #27545)
* Reapply "Install pre-built xformers-0.0.32.post2 built with pt-2.9.0" (@huydhn #27768)
* [MTP] Refactor mtp predictor to avoid d2h operation (@MengqingCao #27643)
* [Model] Use the same fused_moe configs for all H200 devices (@bufferoverflow #23642)
* [Bugfix] Fix 2 precommit issues - (mamba_block_size, kv_cache_config) (@tlrmchlsmth #27811)
* [Core][Bookkeeping] Update cu_num_accepted_tokens for all req_index (@Jialin #27629)
* [EP/DP][API Server] Enable DP-aware routing in OpenAI API requests (@Prowindy #24945)
* [Fix] Skip `record_sleep_state` logic in `PrometheusStatsLogger` if not in dev mode (@SumanthRH #27789)
* [Refactor] Remove `VLLM_DEEPEP_LOW_LATENCY_ALLOW_NVLINK` (@yewentao256 #27750)
* [Core][Perf] Only invoke save_new_computed_blocks when computed blocks are not empty (@Jialin #27799)
* [Feature] Batch invariant torch.compile (@PaulZhang12 #27660)
* [BugFix] Fix broken import in initialize_ray_cluster() (@njhill #27838)
* [Misc] Make all tool scripts executable (@MatthewBonanni #27831)
* [CI/Build][Intel] Enable performance benchmarks for Intel Gaudi 3 (@jakub-sochacki #26919)
* [CI Test] Add Scheduled Integration Test (@yewentao256 #27765)
* [benchmark] Make request IDs unique across clients by default (@eicherseiji #27723)
* [Hardware][Powerpc] Fix VLLM_CPU_OMP_THREADS_BIND="auto"  low CPU utilization for Power (@Akashcodes732 #27734)
* [Kimi-Linear] Correct prefixes and add compatibility to AWQ quants (@toncao #27834)
* [Bugfix] Avoid too small block m/n for FlexAttention kernel option (@Isotr0py #27853)
* [BugFix] Don’t compute reorder threshold when there are no attention groups (@hl475 #27861)
* [Perf] Decouple torch op from GDA to leverage torch.compile (@ZJY0516 #27871)
* [CI/Build] Add gpt-oss LoRA test (@jeejeelee #27870)
* [Bugfix] Allow 64-bit integer values for LoRA IDs to avoid overflow/truncation (@shadeMe #27876)
* [Bugfix] Fix broken MRoPE for GLM-4.1V/GLM-4.5V (@Isotr0py #27860)
* [Bugfix] Missing NIXL metadata for handshake initialization if instance spans multi-node (@GuanLuo #26338)
* Docs update tpu install instructions (@RobMulla #27824)
* [bugfix] Missing cached item in beam search (@fake0fan #27874)
* fix incorrect type annotation in KimiMLP (@skyloevil #27885)
* Flashinfer_CUTLASS_MOE fuses quantization for TP (@wenscarl #27223)
* [Cleanup] Remove no-longer-used `SpeculativeConfig.enable_chunked_prefill` (@njhill #27826)
* [Feature] Pydantic validation for scheduler.py and structured_outputs.py (@vrdn-23 #26519)
* Add FLASHINFER_MLA to test_mla_backends and add B200 CI run (@MatthewBonanni #27663)
* Batch invariance doc (@bwasti #27839)
* [Hybrid] A simpler algorithm to find kernel_block_size (@heheda12345 #26476)
* [Core] Async scheduling + structured outputs compatibility (@njhill #26866)
* [Kernel] Enable FusedMoEModularKernel  support  bias (@jeejeelee #27754)
* [Bugfix] Fix KDA output (@jeejeelee #27905)
* [Multimodal][XPU]Enable vision attn backend for xpu platform (@yma11 #27525)
* Adding SplitK in fused_moe_lora kernel (@yugong333 #27818)
* [CI/Build] Bump transformers version (@DarkLight1337 #27528)
* [Bugfix] [Model] Missing MRoPE function definition from `KeyeForConditionalGeneration` (@tjtanaa #27895)
* [Add] cmdline argument parsing for KV cache offloading modules (@ApostaC #27621)
* feat(benchmarks): support HF model names in multi-turn benchmark (@ai-jz #27850)
* [Docs] Mock all imports for docs (@hmellor #27873)
* [V0 deprecation] Remove VLLM_USE_V1 usage in platform and v1 module (@wangxiyuan #27798)
* [Bugfix] DeepSeek V3.2 MTP metadata & CUDA graph issues (@xiaohajiayou #26779)
* [Bugfix] Python 3.10 compatibility for `Self` (@DarkLight1337 #27918)
* [Core][TPU] Support TPU Data Parallalism (@wenxindongwork #27365)
* [BugFix] Fix mixed penalties batch with async scheduling (@njhill #27910)
* Adds anthropic /v1/messages endpoint to openai api_server (@bbartels #27882)
* [KV offload] Offloading connector async scheduling support (@KevinCheung2259 #27648)
* [CI/Build] Fix flaky test_transcription_validation.py::test_basic_audio_gemma (@bbrowning #27924)
* [Bugfix] Fix Qwen Omni audio inference (@DarkLight1337 #27920)
* Performance fix MistralTokenizer: cache special ids and tokens (@juliendenize #27925)
* [V1] [Hybrid] Mamba1 Automatic Prefix Caching (@Josephasafg #26377)
* [Misc] Provide Siglip2 chat template (@DarkLight1337 #27939)
* [Bugfix][llm]: Abort orphaned requests when llm.chat() batch fails (@Flink-ddd #27420)
* [BugFix][LoRA] use adapter_id instead of id field of lora_request (@biswapanda #27728)
* [Frontend] Align finish_reason when tool is called with OpenAI (@n0gu-furiosa #25054)
* [Hybrid] Pass kernel block size to builders (@tdoublep #27753)
* [Bugfix] Padded Eagle Specdec with Chunked Prefill (@Flechman #26263)
* [XPU]Refine Dockerfile.xpu, avoid oneccl dependency issue (@jikunshang #27964)
* Add ORCA endpoint load metrics support (@efimki #24905)
* [CI/Build] Remove the flaky gpt-oss lora test (@jeejeelee #27966)
* [Model] Add PaddleOCR-VL Model Support  (@zhang-prog #27758)
* Early exit for MoE LoRA kernels (@gnovack #27131)
* [Bugfix] Skip gs:// model paths for speculator detection (@pwschuurman #27846)
* [BUG] Make 'binary' default option for saving torch compile artifacts when using standalone_compile (@ahao-anyscale #27616)
* [CI/Testing] Add basic single node dual batch overlap test (@LucasWilkinson #27235)
* [Spec Decode] Integrate Suffix Decoding from Arctic Inference (@aurickq #25784)
* [Feature][Benchmarks] Support `inf` burstiness (@sducouedic #26941)
* [Bugfix][Qwen][Multimodal] Move Qwen2_5_vl sdpa to custom op and reenable compile (@Lucaskabela #27764)
* [Bugfix] change FlashMLA reorder_batch_threshold (@MatthewBonanni #27777)
* [Docs] add runai_streamer_sharded to LoadConfig (@andyxning #27937)
* Add TP parameter to attention tests (@MatthewBonanni #27683)
* [Bugfix][plugin] fla crash on plugin (@ILikeIneine #27322)
* [Bugfix] Fix MoE Routing Simulation (@tlrmchlsmth #28002)
* Remove the tpu docker image nightly build. (@QiliangCui #27997)
* [Bugfix][ROCm] Fix ViT rotary embeddings for torch.compile compatibility on ROCm (@vllmellm #27748)
* [LoRA] Lora shrink swizzle (@li2haipeng #27694)
* [Refactor] Lazy import tool_parser (@chaunceyjiang #27974)
* [NIXL][XPU] Pin NIXL version to 0.7.0 (@zhenwei-intel #27849)
* [Metrics] Enable sleep state metric outside of dev mode (@markmc #27867)
* [Bug] Batch invariant: Fix flash attn MLA `RuntimeError: scheduler_metadata must have shape (metadata_size)` (@yewentao256 #27884)
* [CPU]Improve dynamic 4bit moe performance (@xiangze-arm #27240)
* [CI/Build] Update LM Eval Version in AMD CI (@zhewenl #27944)
* [KV Connector] Make KVCacheConfig an explicit constructor argument (@markmc #27887)
* [Model] fix ernie45 reasoning_parser (@CSWYF3634076 #27973)
* [CI/Build] Fix OpenAI API correctness on AMD CI (@zhewenl #28022)
* [BugFix][Performance] Restore flashinfer autotuning for all scenarios (@varun-sundar-rabindranath #27904)
* Load tuned fused_moe_lora shrink and expand kernel configs separately (@yugong333 #27435)
* Support using Int4PreshuffledTensor after loading (@jerryzh168 #26066)
* [Core] Enable StatLogger in LLMEngine (@zhuohan123 #28020)
* [Model][Bugfix] fix pipeline parallelism support for NemotronH (@tomeras91 #27968)
* [Model] add optimal triton fused moe configs for NemotronH MoE (@tomeras91 #27967)
* [Kernels] Isolate modular kernel code from FusedMoEMethodBase subclasses. (@bnellnm #27123)
* [BugFix] Fix incorrect preallocated sampled_token_ids tensor size (@njhill #28025)
* [Perf] SM100 - add swap AB optimization to CUTLASS FP8 GEMM (@LyrisZhong #27284)
* [PERF] Decouple projections from GDN custom op (@vadiklyutiy #27512)
* [model] Add support for openPangu_Ultra_MoE (@yt0428 #27521)
* [PerfFix] Avoid separate thread for MP executor shm spin (@njhill #28012)
* [AsyncScheduling] Don't schedule past request max_tokens (@njhill #27922)
* Remove deprecated `--rope-scaling` and `--rope-theta` (@hmellor #28006)
* [ROCm][Perf] New design on ROCm AITER MHA backend Implementation (@ganyi1996ppo #25763)
* Added disable rule to track files under benchmarks/lib (@nadavkluger #28048)
* [Multimodal] Make MediaConnector extensible. (@huachenheli #27759)
* [ROCm] gemm_a16w16 upstreaming (@maleksan85 #26969)
* Revert "[PERF] Decouple projections from GDN custom op" (@vadiklyutiy #28080)
* [Qwen3-Next] MOE configs for A100-SXM4-80GB TP4 TP8 (@toulzx #27740)
* [XPU] Add gpt-oss model support for Intel GPU (@jikunshang #27786)
* [CI/Build] Enable some fixed tests in AMD CI (@zhewenl #28078)
* [V0 deprecation] Remove VLLM_USE_V1 usage in most modules (@wangxiyuan #27955)
* [Bugfix] Fix encoder-only model support for transformers backend (@Isotr0py #28021)
* [BugFix] Fix DCP Assert (AssertionError: DCP not support reorder_batch_threshold > 1 now.) (@LucasWilkinson #28100)
* [Model, Core] Support Granite Speech & LoRA for STT (@alex-jw-brooks #24455)
* [Refactor] Lazy-loaded reasoning_parser (@chaunceyjiang #28092)
* [Refactor] to simplify and extract the shared logic between chat completion and responses (@chaunceyjiang #27961)
* [bugfix] fix wrong `dcp_local_seq_lens` calc (@pisceskkk #27518)
* [Hybrid allocator + kv connector] revert connector test changes related to hybrid allocator (@KuntaiDu #28011)
* [Misc] fix import error for DeepSeekR1ReasoningParser (@chaunceyjiang #28114)
* Fix excessive logging noise by reducing the log level of the MinimaxM2ToolParser import success message (@minatoaquaMK2 #27635)
* Bugfix: Cutlass FP8 FusedMoE bad scaling factors (@amirkl94 #27255)
* [Graph Partition][Cache] Use inductor partition ops config (@BoyuanFeng #27702)
* [XPU] Enable custom routing functions in IPEX for Llama4 (@frost-intel #28004)
* add kimi reasoning parser (@MoyanZitto #28128)
* [DCP] check return_lse for all layers in dcp (@heheda12345 #27929)
* [BugFix] Support EP/DP + EPLB with MTP (@ilmarkov #25311)
* Enabling cooperative multi-gpu tests on multi-gpu nodes (@Alexei-V-Ivanov-AMD #27986)
* [ROCm][MLA] Support block-size > 1 for AITER MLA backend  (@ganyi1996ppo #27224)
* [Bugfix] Validate custom logits processor xargs for online serving (@Isotr0py #27560)
* [misc] add vLLM Beijing Meetup (@jjzhang #28127)
* [Kernel] Fuse computation of g and beta for Gated Delta Net (@ZJY0516 #28095)
* [Core] add support for reasoning parser plugins (@walterbm #28075)
* [Bugfix] vLLM should check Inductor config for compile cache enablement status (@gmagogsfm #27637)
* [FlashInfer] Avoid FlashInfer block_size 16 + head_size 256 on blackwell (@heheda12345 #27994)
* [CI]: Add LMCache Unit Tests (@sammshen #27852)
* [Feature] Extend batch invariant torch.compile to B200 (@PaulZhang12 #27856)
* [Bugfix] Fix Qwen3-Reranker-8B load (@noooop #28117)
* [Docs] Clean up README_TUNING.md (@windsonsea #28088)
* [Hardware][IBM Z] Optimize s390x Dockerfile (@R3hankhan123 #28023)
* [Chore] Remove Nemotron-Nano-VL config copy (@Isotr0py #28126)
* [Docs] Add guide to debugging vLLM-torch.compile integration (@zou3519 #28094)
* [Feature]: Add corrupted request metric to V1 metrics system. (@atalhens #27306)
* [CI/Build] Update checking logic in cutlass_group_gemm_supported  (@zhewenl #27948)
* [CI/Build] Fix `test_defaults_with_usage_context` in AMD CI (@zhewenl #27926)
* [Core][Hybrid allocator + connector 2/n] Unify `remove_skipped_blocks` by `get_last_useful_token` (@KuntaiDu #25431)
* [Debugging] Add annotation for easier trace analysis (@dayeol #22496)
* [PERF] Decouple projections from GDN custom op. Attempt 2 (@vadiklyutiy #28083)
* [Bug] Fix cpu disable shared_experts `VLLM_DISABLE_SHARED_EXPERTS_STREAM` (@yewentao256 #28157)
* [Bug] Fix env string `"0"` same to `True` (@yewentao256 #28159)
* [Feature] Enable TP + EP `shared_experts` overlap with router, 3.7% E2E performance improvement (@yewentao256 #28164)
* [CI Failure] `nm-testing/Qwen2-0.5B-Instruct-FP8-SkipQKV` was removed from HF. Skip it in tests (@vadiklyutiy #28170)
* [Misc] Remove the duplicate code (@chaunceyjiang #28111)
* [Chore] Clean up deepseek v2/v3 config copy (@Isotr0py #28055)
* [Core][MM] Use non-blocking CPU-GPU copy of multimodal data (@lgeiger #28141)
* Make the cv2 dependency optional (@cmpute #27780)
* [CI] Add compile/test_multimodal_compile.py to CI (@gmagogsfm #28151)
* [flashinfer] fix FI all2all with FI cutlass moe (@mxz297 #28166)
* Patch Mistral Tokenizer (@juliendenize #28146)
* Fix hard-coded parameter name in gemma3n.py (@seungduk-yanolja #27946)
* [CPU] Enable torch profiling (@aditew01 #28130)
* [V0 deprecation]clean up is_v1_supported_oracle (@wangxiyuan #28116)
* [Bugfix][Kernel] fix merge attn states when both prefix and suffix are empty (@courage17340 #28181)
* [Frontend] OpenAI Responses API supports Tool/Function calling - non-harmony  (@chaunceyjiang #26874)
* [CPU]Improve cpu fused moe perf (@xiangze-arm #27244)
* Disable nm-testing models with issues in CI (@mgoin #28206)
* [Docs] Switch to directory style URLs (@hmellor #28058)
* [Kernel][Model] Tune fused_moe Triton configs for MiniMax-M2 on H100 (@minatoaquaMK2 #28200)
* [Doc] Add Arm CPUs are on the list of supported targets in vLLM (@milpuz01 #26018)
* [HARDWARE][CPU] Add Option for Disabling Binding to Specific CPU Cores (@StanHatko #27953)
* [Frontend] Fix logging format when enable response logging (@esmeetu #28049)
* CODEOWNERS: Add myself as reviewer on security docs (@russellb #28216)
* [Structured outputs] Upgrade llguidance to 1.3.0 (@andylolu2 #28039)
* Add llama 4 scaling support (@juliendenize #28145)
* [Chore] eliminate duplicated and unconditional object serialization in anthropic messages api (@vicoooo26 #27792)
* [ROCm] triton fp8 kernel (@maleksan85 #27058)
* [Doc]: Make extraInit containers fully configurable in helm chart (@HanFa #27497)
* [Test] Add non-MoE DP test coverage (@MatthewBonanni #28235)
* [BugFix] Fix FusedMoELoRA + ModularKernel Integration (@varun-sundar-rabindranath #28237)
* Fix failing test for CRadio (@BloodAxe #27738)
* Speed up mm processor kwargs per request by spliting dynamic and static kwargs (@LJH-LBJ #26483)
* [Multimodal][torch.compile] Add compilation config field for turning off ViT/MM compile (@Lucaskabela #28242)
* [CI/Build] Loosen STT LoRA Translate Check (Flaky Test) (@alex-jw-brooks #28247)
* Add runai model streamer e2e test for GCS (@amacaskill #28079)
* Fix issues from #28242 (@hmellor #28257)
* [amd][gptoss] Perf gain because of block alignment (@smitkadvani #28024)
* [Bug] Fix missing token_ids for reasoning parser models in chat completions   #28246 (@baonudesifeizhai #28256)
* [CI] Reduce Blackwell Fusion test runtime by filtering tests and only run all tests in nightly (@Copilot #28074)
* [Kernel] LoRA triton kernels support PDL (@jeejeelee #27402)
* [Perf] Introduce FlattenLogprobs to store logprobs results to reduce GC overhead (@Jialin #28171)
* [FixBug]Aeala/ShareGPT_Vicuna_unfiltered marked as multimodal benchmark (@princepride #28265)
* [CPU]Avoid repeated random sample compile (@xiangze-arm #28260)
* [Misc][Model][Refactor] Pass the prefix into Linear layers (@MengqingCao #28259)
* [fix] Revert "fixing mm placeholder replacement issue with gemma3" (@khluu #28285)
* [Core][MM] Add mechanism to configure multimodal fields which should stay on CPU (@lgeiger #28168)
* [Bugfix] Use latency MOE backend as default for Flashinfer and other misc fixes (@pavanimajety #27439)
* [CLI] add --max-tokens to `vllm complete` (@Iceber #28109)
* [Feature] Default `ignore_eos` True for `random` dataset (@yewentao256 #28227)
* [Log] update shm wait time msg (@BoyuanFeng #28255)
* Revert "[PerfFix] Avoid separate thread for MP executor shm spin (#28012)" (@NickLucche #28289)
* [README] Add Arm CPUs to the list of supported targets (@fadara01 #28290)
* [doc] add guide about the provided PTX was compiled with an unsupported toolchain (@youkaichao #28305)
* [Build] Fix release pipeline failing annotation (@simon-mo #28272)
* [Bugfix] Fix and add tests for GptOss reasoning parser (@benchislett #28000)
* [Core] Rework handling of async scheduling config (@njhill #28250)
* [PerfFix] Avoid separate thread for MP executor shm spin (take 2) (@njhill #28319)
* Update Flashinfer from `v0.4.1` to `v0.5.2` (@hmellor #27952)
* [XPU] Enable Expert parallel for MoE models (@jikunshang #28263)
* remove resolve_op_overloads and use splitting_ops directly (@BoyuanFeng #28081)
* [Bugfix][LoRA][Spec Decode] Support LoRA with speculative decoding (@xiaohongchen1991 #21068)
* Update gpu.rocm.inc.md to add support for AMD Ryzen AI MAX / AI 300 Series (gfx1151, gfx1150) (@hammmmy #28308)
* [Perf][DeepSeek] Add sigmoid+bias fusion to fused_grouped_topk from TRTLLM (@mgoin #28124)
* Bump arctic-inference requirement (@aurickq #28174)
* [bugfix] support eagle with lora cudagraph specialization (@gnovack #28318)
* [Model] Consolidate Deepseek-MoE implementation with DeepSeek-v2 (@Isotr0py #28101)
* Refactor CPU/GPU extension targets for CMake build (@ashahba #28026)
* [flashinfer][fix] do not check nvcc availability when using pre-downloaded cubins (@mxz297 #27990)
* [Attention] Remove max cudagraph size limit of 992 (@22quinn #27840)
* `reasoning_content` -> `reasoning` (@hmellor #27752)
* [Bugfix] Update device name for H200 detection (@robertgshaw2-redhat #28349)
* [Bugfix] Spec decode + structured output + spec model max len edge case (@andylolu2 #28298)
* [DCP] Support dcp kv_cache interleave size > 1 (@zhangsicheng5 #26696)
* Enhance run_cluster.sh for multi-NIC support (@evberrypi #28328)
* [Feat] Drop-in Torch CUDA Profiler (@benchislett #27841)
* Remove setuptools upper bound constraint (<80) (@ColeMurray #28337)
* [Bugfix] Fix test fused quant layernorm tests (@ElizaWszola #27865)
* [Performance][gpt-oss] Revert gpt-oss max cudagraph size to 1024 (@mmangkad #28345)
* [chore] Move some wikimedia images to S3 (@khluu #28351)
* fix: close issue 28338 by fixed python version (@yihong0618 #28339)
* [Misc] fix typo and add detailed log (@andyxning #28178)
* [ROCm] Add env to enable/disable aiter triton gemm (@sarckk #28321)
* [Misc] Add some comments in qwen3-next (@ZJY0516 #28267)
* [CI] Fix flaky `test_eagle_correctness` test (@NickLucche #28364)
* [Core] Simplify async KV output aggregation (@njhill #28327)
* [Core] Separate out attention metadata building logic from prepare inputs (@LucasWilkinson #26764)
* [BugFix] Fix cu_num_generated_tokens slicing logic in LogprobsLists.slice() method (@usberkeley #28214)
* [CI/Build] Temporary fix to LM Eval Small Models (@zhewenl #28324)
* [Kernel] Fix fused_gdn_gating (@ZJY0516 #28343)
* [ROCm][Platform] Add RX7900XTX device id in _ROCM_DEVICE_ID_NAME_MAP (@JartX #28279)
* [CI] lora/test_mixtral.py : Add additional expected outputs due to flakiness (@varun-sundar-rabindranath #28322)
* [Hardware][AMD][Model] Add Triton MoE tuning support and optimized configs for Qwen3 omni for MI308X (@sammysun0711 #28373)
* [V0 deprecation] Remove no longer used `get_metadata_cls` (@LucasWilkinson #28370)
* Restore PlaMo2 unit test as `pfnet/plamo-2-1b` now supports `transformers >=4.56` (@Alnusjaponica #28019)
* [Metrics] Refactor LoRA state tracking (@markmc #26801)
* [bugfix] fix siglip batch text output error (@piood #28365)
* [Fix] optimize visual token mask with caching and multi-token support (@bo-ke #28374)
* Add @tjtanaa to codeowner for ROCm and multi-modal (@tjtanaa #28360)
* [Rocm][fused_moe][fp4] view weight to torch.float4_e2m1fn_x2 when running aiter fused moe for fp4 model (@zejunchen-zejun #27474)
* [Kernel] Optimization of the mm_k operator. (@caozuoba #28280)
* [RFC][ROCm][AITER] Keep all AITER kernels in `_aiter_ops` class like `_custom_ops` and `_ipex_ops` (@vllmellm #24490)
* [V0 Deprecation] Remove unused `context_len` and `seq_len` from M-RoPE (@DarkLight1337 #28395)
* [Bugfix] Fix persistent_masked_m_silu_mul_quant tests (@varun-sundar-rabindranath #28366)
* [Performance] Support FP8 flashinfer TRTLLM MOE on Qwen3 and Qwen-3next (@jiahanc #27492)
* [Bugfix] Fix llguidance backend, rollback when EOS was encountered (@Flechman #25905)
* [FA/Chore] Bump FA version for FP8 two-level accumulation  (@jmkuebler #27889)
* [Bugfix][EPLB] Disabled shared expert overlap when EPLB is enabled (@SageMoore #28377)
* [Misc] Add more scoping for improved trace (@frank-wei #28329)
* [BugFix] Fix DeepGEMM over-allocating workspace (@LucasWilkinson #28254)
* [Frontend][2/n] remove empty content from _parse_tool_calls_from_content (@qandrew #28331)
* [CI] Fix Plugin Tests Tests (@robertgshaw2-redhat #28413)
* [ROCm] Add missing gemm_a8w8_blockscale import (@sarckk #28378)
* [PERF] Allreduce fusion. Support torch native matching. Tuning of the thresholds (@ilmarkov #24248)
* [Perf] Move gc.freeze logic from EngineCoreProc to EngineCore for better coverage (@Jialin #27896)
* [Bugfix] Ensure calculated KV scales are applied in attention. (@adabeyta #27232)
* [Test] Remove old non-varlen FA2 test (@MatthewBonanni #28420)
* [Feature] Refactor batch invariant fp8 DeepGEMM (@yewentao256 #27606)
* [CI/Test Fix] Fix CP tests on Blackwell (@LucasWilkinson #28404)
* [Feature] Add env var `VLLM_MOE_USE_DEEP_GEMM` (@yewentao256 #28422)
* Only register rocm_aiter_ops if aiter is found (@mgoin #28428)
* Fix rotary embedding benchmark script (@xyang16 #28323)
* [Misc] FlattenLogprobs -> FlatLogprobs (@zhuohan123 #28335)
* [Frontend] Add sagemaker_standards dynamic lora adapter and stateful session management decorators to vLLM OpenAI API server (@zhaozuy #27892)
* [Bugfix] Fix Stream Sync for Shared Expert Overlap (@robertgshaw2-redhat #28430)
* [Doc] Sleep mode documentation  (@iAmir97 #28357)
* [BugFix] Avoid calling KV connector layer APIs when metadata is unset (@sdavidbd #28253)
* [Bugfix] Fix max image size for PaddleOCR-VL (@ywang96 #28442)
* [EPLB] Refactor balance_packing to use numpy and optimize GPU-CPU transfers in EPLB (@SageMoore #28369)
* [Bugfix] fix qwen3-next crash (@ZJY0516 #28202)
* [BugFix] 'DeepseekV2Config' object has no attribute 'use_mla'`  (@faaany #28387)
* [Model][Qwen3VL] Slighly speedup `fast_pos_embed_interpolate` (@lgeiger #28434)
* Multi turn benchmark progress bar for synthetic conversation generation (@segevido #28394)
* [CI] Add mergify rules for `nvidia` label (@mgoin #28417)
* [Attention] Refactor CUDA attention backend selection logic (@MatthewBonanni #24794)
* Fix Fused MoE LoRA Triton kernel bug (@chaojun-zhang #28450)
* [Model] Pass `mm_features` directly into `get_mrope_input_positions` (@DarkLight1337 #28399)
* Add request timeout override for multi-turn benchmarks (@segevido #28386)
* [Docs] Fix grammar in CPU installation guide (@maryamtahhan #28461)
* [Kernels] Split up fused_moe/layer.py, isolate more modular kernel code (@bnellnm #28064)
* [BugFix] Fix Failing Ruff Check (@jvlunteren #28469)
* Add @markmc to CODEOWNERS for Observability (@markmc #28457)
* [BugFix] Fix RuntimeError in PixtralHFAttention on CPU/XPU (@faaany #28444)
* [BugFix] Add test_outputs.py to CI pipeline (@usberkeley #28466)
* [Doc] Fix typo in serving docs (@the-codeboy #28474)
* Remove weight_scale.T special case for SM90 Block FP8 CUTLASS kernel (@mgoin #28431)
* [NIXL] Generalize block-first backend layouts (FlashInfer-like) (@NickLucche #28282)
* [Kernel][Perf] fuse QK Norm and RoPE into one cuda kernel for Qwen Model (@izhuhaoran #27165)
* [ROCm][Quantization] extend AMD Quark to support mixed-precision quantized model (@xuebwang-amd #24239)
* [Quantization] fix attention quantization of gpt_oss model (@xuebwang-amd #27334)
* [CI/Build] Refactor Attention backend for test_prefix_prefill from xformers to SDPA (@zhewenl #28424)
* Prefer FlashAttention MLA as default over FlashMLA (@MatthewBonanni #27363)
* [Kernel] Optimize rms_norm kernel (@xyang16 #27931)
* [BugFix] Fix Siglip2Attention on XPU (@faaany #28448)
* [Misc] Remove unused attention prefix prefill ops functions (@lgeiger #26971)
* [Perf] Use np.ndarray instead of list[list[int]] to reduce GC overhead (@Jialin #28245)
* [V0 deprecation] Clean up num_prefill_tokens logic for V0 (@gcanlin #28203)
* [Misc] fix typo in DCP comment (@Livinfly #28389)
* [LoRA][1/N]Remove LoRA extra vocab (@jeejeelee #28382)
* [TPU] Rename path to tpu platform (@kyuyeunk #28452)
* [Misc] Cleanup Executor interface (@wangxiyuan #28441)
* Add Zurich vLLM Meetup (@mgoin #28488)
* [Bugfix] Disable shared expert overlap if Marlin MoE is used (@mgoin #28410)
* [Feature] Allow configuring FlashInfer workspace size (@maxyanghu #28269)
* Use FLASHINFER MLA backend when testing fp8_kv_scale_compile (@adabeyta #28491)
* [BugFix] Graceful handling of torch symm mem errors. (@ilmarkov #27671)
* [Frontend] Change CompilationMode to a proper Enum (@gmagogsfm #28165)
* [Performance] Cache loaded custom logitsprocs to avoid overheads (@Isotr0py #28462)
* [[V0 deprecation]]Remove VLLM_USE_V1 env (@wangxiyuan #28204)
* [CPU] Refactor CPU attention backend (@bigPYJ1151 #27954)
* `VLLM_USE_TRITON_FLASH_ATTN` V0 variable deprecation (@AndreasKaratzas #27611)
* [Model][Qwen3VL] Simplify `get_mrope_input_positions` using numpy (@lgeiger #28302)
* [Core] Encoder separation for Encode-Prefill-Decode Disaggregation (@fake0fan #25233)
* [BugFix] Add fallback path in `apply_rotary_pos_emb_flashattn` for non-cuda platforms (@faaany #28447)
* [Benchmark] Add retry support to fix workload bias in multi-turn benchmark (@ai-jz #28493)
* [Core] Cache `vllm_is_batch_invariant` (@lgeiger #28304)
* [CI/Build] Fix crash due to removed VLLM_USE_V1 attribute in EPD (@fake0fan #28521)
* [CI] Introduce autorun_on_main feature (@hl475 #27836)
* [BugFix]: --enable-lora with model granite-4.0-micro crash (@yyzxw #27733)
* [Model] fix glm4_moe_mtp load weights with GLM-4.6 checkpoint. (@wuyaoxuehun #27597)
* [XPU]Fix crash due to removed VLLM_USE_V1 attribute (@chaojun-zhang #28520)
* [KVConnector] Enable get_block_ids_with_load_errors() in LMCache connector  (@ziruiliu #27978)
* add cpu option for p/d in nixl_connector (@ZhengHongming888 #28356)
* [ROCm] [Bugfix] Fix `fused_qknorm_rope_kernel` rocm compatibility (@tjtanaa #28500)
* [Bugfix] Fix gpt_oss packed_modules_mapping (@jeejeelee #28536)
* [V0 deprecation] Deprecate use_v1 parameter (@wangxiyuan #28112)
* Fix pre-commit (and XPU) on `main` (@hmellor #28556)
* [Performance][Hopper] Avoid M dim padding to 4x for most cases (due to cuda graphs paddings) (@alexm-redhat #28492)
* [Refactor] Remove redundant TP gather/split in split_qkv in QwenVL (@gcanlin #28271)
* [Misc] Refactor Attention kv transfer methods into decorator (@NickLucche #27816)
* Remove deprecated fields from `CompilationConfig` (@hmellor #27593)
* [Perf] Refactor cudagraph_support to enable full CUDA graphs for spec decoding with FlashInfer (@benchislett #28479)
* Implement ARC KV cache eviction policy (@albertoperdomo2 #27039)
* [EPLB][ROCm]: support EPBL for ROCm backend (@PerryZhang01 #27731)
* [Model] [Config] Correctly identify granite-4.0-micro as non-hybrid model (@tdoublep #28563)
* [CI] Skip "Multi-Modal Models Test (Extended) 3" test that's broken in current Transformers (@hmellor #28559)
* [KV connector][WIP] KV cache proxy based on LMCache multi-process mode (@ApostaC #27902)
* [BugFix] Priority scheduling and spec tokens preemption (@andylolu2 #28558)
* [Misc]Fix typo in llm_engine.py (@frank-wei #28584)
* [Performance][B200] Fix deepgemm prologue (@varun-sundar-rabindranath #27897)
* [ROCM] Fix ROCm warnings, environment flag access, and GEMM kernel naming for consistency in `_aiter_ops.py` (@vllmellm #28464)
* [TPU] Support GCS path in VLLM_TORCH_PROFILER_DIR (@QiliangCui #28487)
* [Bugfix] Adjust Marlin CUDA arch selection to 8.0+PTX;9.0+PTX (@mgoin #28294)
* [Core][AMD] Migrate fully transparent sleep mode to ROCm platform (@HollowMan6 #12695)
* [MoE][Kernel][Perf] Improve Shared Expert Stream Overlap (@alexm-redhat #28406)
* Skip models that cannot currently init on Transformers v5 (@hmellor #28471)
* [Docs] Update meetups.md description (@mgoin #28583)
* [ROCm][Bugfix] Revert removing setuptools version restriction (@gshtras #28592)
* [platform] Move get_cu_count to utils (@wangxiyuan #27005)
* [Bugfix] Fix SM100 gpt-oss regression due to faulty attn sink support (@mgoin #28561)
* [BugFix] Fix `mm_encoder_attn_backend` arg type checking (@njhill #28599)
* [Docs] Add some details about what the MoE block needs for the Transformers backend (@hmellor #28588)
* Rename clashing method names for vLLM model protocol (@hmellor #27583)
* [n-gen] DO NOT repeatedly return finished child requests (@Jialin #28591)
* [Frontend] split append tool output (@qandrew #28333)
* [Frontend][responsesAPI][1/n] convert responses API tool input to chat completions tool format (@qandrew #28231)
* [BugFix][ROCm] Fix `get_cu_count` missing variable error (@ganyi1996ppo #28608)
* [XPU] Support Triton path for LoRA operations on XPU   (@faaany #28511)
* Support DeepEP for Kimi-k2-thinking through enabling gemm selection for compressed-tensor marlin wna16 (@luccafong #28574)
* [build][cmake]: Bundle static ACL and torch libgomp for CPU extension builds (@Radu2k #28059)
* [ROCm][BugFix] Remove the usage of `device_info` from aiter (@ganyi1996ppo #28383)
* [Bugfix] Prevent crash on empty grammar string (@tjandy98 #28210)
* Use official xformers-0.0.33 built for PT 2.9 (@huydhn #28600)
* Add NUMA node validation for CPU thread binding (@usberkeley #28555)
* [Bugfix] fix kimi-linear crash (@ZJY0516 #28445)
* [Frontend] supports interleaved thinking (@chaunceyjiang #28531)
* Support all interleaved layer types (@sarckk #28485)
* Fix: Correctly filter special tokens in benchmark_prefix_caching (@dw2761 #28615)
* [BugFix] Fix type error when assign a trition kernel tensor to a torch.nn.Parameter (@liuzijing2014 #28603)
* Fix io processor pooling  #28273 (@baonudesifeizhai #28484)
* [XPU] add sym params to IPEXConfig (@zufangzhu #28611)
* [Bugfix] Fix FPS value type for Qwen2.5-Omni video processing (@faaany #28630)
* [Hardware][PowerPC] Fix fp16 compilation error for Power in cpu attention backend and bump oneDNN version (@Akashcodes732 #28535)
* [ROCm][BugFix]Fix `get_cu_count` in rocm_aiter_fa.py (@ganyi1996ppo #28618)
* [CI/Build] Install uv for AMD MI300: Language Models Tests (Hybrid) %N (@amdfaa #28142)
* [CI Failure] Fix backend selection for encoder-only models (@hl475 #28534)
* [BugFix] DeepSeek-OCR: apply NoRepeatNGramLogitsProcessor to greedy path (@YuanpingSong #28617)
* Fix `get_num_experts` when config sets it explicitly to `None` (@hmellor #28652)
* [Misc] Turn off encoder torch compile by default (@ywang96 #28634)
* Rewrite C++ meta funcs to Python (@janeyx99 #28595)
* [BugFix] Ensure `EngineArgs.create_engine_config` is idempotent (@njhill #28515)
* [TPU] patch TPU wheel build script to resolve metadata issue (@jcyang43 #27279)
* [Performance][B200] silu_mul_quant: pack scales in int32 (@varun-sundar-rabindranath #28358)
* [Bugfix] Fix validate model input for decoder models (@yannicks1 #27099)
* [Attention][Bugfix] Fix FA sink support (@MatthewBonanni #28660)
* [Perf] Support stream interval for reducing host overhead (@elvischenv #27869)
* [bugfix] correct local_chunk_len for DCP in reorg_kvcache with long context (@pisceskkk #28526)
* [Bugfix] Eliminate tuple inputs to submodules in graph partitioning (@gmagogsfm #28533)
* [Bugfix] [CPU] bump torch to 2.9.0 for Darwin to fix segmentation fault (@kebe7jun #27791)
* [Misc] Update CODEOWNERS for simon-mo and comaniac (@simon-mo #28675)
* [CI] Bug: Fix ci entrypoint pooling (@yewentao256 #28684)
* [KV Connector] Test async mode in scheduler tests (@markmc #28550)
* Mirrored test group definitions for AMD (2025-11-11) (@Alexei-V-Ivanov-AMD #28573)
* [quantization][config] enable override existing quant_config (@ILikeIneine #28510)
* [ROCm] Bump up the version of amd-smi to 6.4.3 (@SageMoore #28680)
* [CPU][Bugfix] Fix Apple Silicon M1 compilation failure (@mgoin #28681)
* [ci][amd] fix basic models extra init test (@bradleyhd #28676)
* [Misc] Remove `warn_for_unimplemented_methods` (@DarkLight1337 #28613)
* [XPU][CI]disable lm cache uts (@jikunshang #28696)
* [Misc] Update xformers to 0.33.0.post1 (@ywang96 #28678)
* [Misc] add ignore mapper for quark quantization (@haoyangli-amd #28275)
* [Bugfix][CI/Test][Spec Decode] Fix illegal memory access in offline_inference/spec_decode.py (Issue  27619) (@rasmith #28432)
* [BugFix][CI/Build][ROCM] Fix import error and apply assert in appropriate case in test_struct_output_generate (@rasmith #28311)
* use default CCL_ZE_IPC_EXCHANGE (@yma11 #28700)
* [Bugfix] fix dots.ocr pp support (@ZJY0516 #28705)
* [BugFix] Fix multi-modal async scheduling race condition (@njhill #28706)
* Add output token counting to gsm8k eval (@mgoin #28594)
* [Minor] avoid register new custom and just import silly_attn (@BoyuanFeng #28578)
* [Misc] fix comment in test_envs (@xingliu14 #28529)
* [feat]: log number of preempted requests (@610lyn #28522)
* [Frontend] Added chat-style multimodal support to /classify. (@WorldExplored #27516)
* [Model][MM] Extract conv layer as CustomOp (@shen-shanshan #28455)
* [DCP] Support Decode Context Parallel (DCP) for GQA with Flashinfer (@gjc0824 #25438)
* Fix KV sharing fast prefill with cudagraph enabled (@sarckk #28537)
* [BugFix] Fix FA3 IMA with FULL_AND_PIECEWISE and cascade attention (default) (@LucasWilkinson #28702)
* [Doc] Fix macOS installation dependency resolution issue (@shahfasal #26721)
* [Model] Fix bailing_moe accuracy problem (@zhaozx-cn #28277)
* [Bugfix][Nixl] Fix kernel physical<>logical block_size issue  (@NickLucche #28677)
* [Config] Clean up SchedulerConfig initialization (@DarkLight1337 #28665)
* [Kernels] Enable FlashInfer FP8 Blockscale on SM90 (for TEP DSR1) (@djmmoss #27134)
* [Fix] improve aspect ratio in dummy image generation and add common  VLM tests for PaddleOCR-VL (@dongbo910220 #28711)
* [Docs] Update the name of `Transformers backend` -> `Transformers modeling backend` (@hmellor #28725)
* [CI][CPU] Smoke test for Apple Silicon using GHA MacOS runner (@mgoin #28688)
* [DisaggEverything] Tokens in<>out `/generate` endpoint (@NickLucche #24261)
* [Attention] Bump FA for removed method (@MatthewBonanni #28429)
* Fix typo in comment: existance -> existence (@OthmanMohammad #28737)
* Remove audio optional dependency for mistral-common (@juliendenize #28722)
* [kernel] Improve FP8 PTPC on Hopper for larger shapes (@czhu-cohere #28692)
* docs(lora_resolvers): clarify multi-resolver order and storage path requirement (@wangchen615 #28153)
* LLaMA4 LoRA Adapter Enablement (@kfhfar #28602)
* [Bugfix] [ROCm] [AITER]: Fix aiter block quant not compatible with torch compile dynamo (@tjtanaa #28716)
* [Docs] Enable some more markdown lint rules for the docs (@hmellor #28731)
* [Chore] Rename `SchedulerConfig.chunked_prefill_enabled` (@DarkLight1337 #28735)
* [Bugfix] resolve Qwen3-VL GPTQModel quantized model loading failure (@GuanH #28663)
* [BugFix] Fix misprint introduced by modular_kernel refactoring. (@halyavin #28728)
* [ROCm][Bugfix] Fix compilation errors with fused_qknorm_rope_kernel.cu (@SageMoore #28682)
* [CI] Fix macos smoke test uv cache issue (@mgoin #28736)
* [Bugfix] TypeError: 'NoneType' object is not callable (@mostrowskix #27410)
* [ROCm][CI/Build] Change install location of uv (@gshtras #28741)
* Avoid bytecode hook and simplify TorchCompileWrapperWithCustomDipatch (@laithsakka #25110)
* [Bugfix] Fix incorrect use of hidden_states for shared_experts due to do_naive_dispatch_combine (@alexm-redhat #28740)
* [Bugfix] Fix ChunkedLocalAttention CUDA Graph setting (@benchislett #28739)
* [Hybrid] [Kernel] Fix chunk scan kernel when BLOCK_SIZE_DSTATE > 128 (@tdoublep #28295)
* [Log] Save profiler results to file instead of stdout (@rasmith #28144)
* [ROCm][CI/Build] Upgrade to ROCm 7.1 and AITER main (@gshtras #28753)
* [Test] Rework e2e async scheduling tests (@njhill #28744)
* [Core] Performance: Use list[np.ndarray] instead of list[list[int]] for output tokens for GC optimization (@Jialin #26368)
* [TPU] Fix import error in tpu launch (@QiliangCui #28758)
* [Model][Qwen3VL] Use `mm_position` to compute mrope positions (@lgeiger #28730)
* [Bugfix] Build hadacore kernels on >SM90 (@mgoin #28748)
* Revert "[Core] Performance: Use list[np.ndarray] instead of list[list… (@njhill #28773)
* Fix IntermediateTensors initialization and add type hints (@OthmanMohammad #28743)
* [NIXL] heterogeneous block_size support (@xuechendi #26759)
* [Performance][DeepGEMM] Estimate expected_m (@varun-sundar-rabindranath #28694)
* [Redo] #26368 (@DarkLight1337 #28771)
* [RL] [V1] Remove unused device argument from reset_kv_cache (@zhuohan123 #28766)
* Use narrow over indexing in `hadacore_transform` to prep for ABI stable (@janeyx99 #28756)
* [Kernel][Moe Configs] llama4 maverick fp8 moe config tp8 on mi325 (@zhewenl #28709)
* [Misc] Make `SchedulerConfig.max_model_len` init-only (@DarkLight1337 #28733)
* [PERF] Remove TRTLLM Gen attn kernel limitation `max_seq_len <=131072` (@vadiklyutiy #28755)
* [compile] Enable sequence parallelism matching w/o custom ops enabled  (@angelayi #27126)
* Allow Gemma3 to take image embeddings (@tingtingtangmeta #28483)
* [Doc] Fix failing doc build (@DarkLight1337 #28772)
* [Model] Fix lmhead init bug of bailing_moe (@hwhaokun #28777)
* Add support for Eagle with separate lm-head and embed_tokens layers (@eldarkurtic #28549)
* [CI] Fix broken pipeline (@njhill #28781)
* [Model][Qwen3VL] Cache positional embedding indices  (@lgeiger #28475)
* [Doc]: fix typos in various files (@didier-durand #28567)
* [BugFix] Fix `AssertionError: DCP not support reorder_batch_threshold > 1 now.`  (@LucasWilkinson #28751)
* Adding a benchmark for batch invariance (@bwasti #28161)
* [Benchmark] Fix client seed synchronization in multi-turn benchmark (@ai-jz #28512)
* [Model] Allow users to control skip reading cache per request. (@noooop #28194)
* [V1] Support MP Executor for multi node distributed inference (@luccafong #23691)
* Fixed gpt-oss _load_weights_other() parameter position bug (@River12 #28715)
* [Bugfix] Fix host and port join for ipv6 in bench serve (@scottzh8 #28679)
* Fix gpt oss weight loading with EP + bf16 (@ashors1 #28765)
* [Doc]: fix typos in various files (@didier-durand #28811)
* fix comment typo (@andyxning #28802)
* [Model][QwenVL] Optimize `Qwen2_5_VisionAttention` q,k preparation (@lgeiger #28769)
* Feature: Support Relu2 in FusedMoE fp8 cutlass path (@amirkl94 #27261)
* [BugFix] Fix async scheduling + chunked prefill + preemption (@njhill #28787)
* [Performance][Fix] update nvfp4 code to support renorm routing (@jiahanc #28569)
* [NIXL][XPU] update install script of NIXL (@zhenwei-intel #28778)
* [ROCm][Qwen3-32B] Fix AITER MHA accuracy issue cause by #25763 (@sammysun0711 #28670)
* [Bugfix][Model] Prevent special token leakage in KimiK2ToolParser streaming mode (@jscaldwell55 #28543)
* [Doc] Add llama4 LoRA tag (@jeejeelee #28825)
* [CPU][Bugfix] Fix _to_list in CPU model runner (@bigPYJ1151 #28824)
* [BugFix] Fix glm4_moe_mtp load weights bug (@wuyaoxuehun #28805)
* [Metrics] Fix KV cache usage percent metric multiproc (@jaywonchung #28792)
* [XPU] work around for sp, avoid custom op import error (@jikunshang #28822)
* [BugFix] Temporary fix for IMA with MTP = 2 and full-cg (@LucasWilkinson #28315)
* [Bugfix][Perf] Revert applying HF processor on text-only inputs for multimodal models  (@ywang96 #28858)
* Cast return value to int64_t for cache size (@tiehexue #28814)
* [Bugfix] Fix GPT-OSS on AMD after #28603 (@zhewenl #28816)
* [Core] Async Scheduling X Spec Decoding Compatibility (@Ronald1995 #24799)
* [BugFix] Fix PP performance and PP kv connector output regression  (@njhill #28768)
* [Quantization] [Eagle] Add complete quantization support to the draft model in Eagle (@shreyas269 #28435)
* [Test] Batch Invariant: Rename and organize tests (@yewentao256 #27421)
* [Model] Add Afmoe architecture implementation (@pranav4501 #28332)
* [BugFix] Corner case that could cause out-of-sync with external launcher mode and dp >1 (@bangshengtang #28774)
* [Misc] Fix wrong comment in scheduler (@zhuohan123 #28880)
* [Bugfix] Fix Kimi-K2 tool parser concatenated tool calls parsing (@bbartels #28831)
* Run macos smoke test workflow on main commit (@mgoin #28752)
* [ROCm][Quantization] add apply_vllm_mapper in quark config for models like gpt-oss (@xuebwang-amd #28638)
* [Refactor] Remove Unused Func in Batch Invariant (@yewentao256 #28881)
* [Bugfix] Fix wrong CLI defaults for dynamic `SchedulerConfig` fields (@DarkLight1337 #28872)
* [Doc]: fix typos in various files (@didier-durand #28863)
* [Misc] Remove unnecessary parentheses from log statements (@andyxning #28897)
* [CI] Fix async scheduling + spec decoding test flake (@njhill #28902)
* [MISC] Remove format.sh (@KuntaiDu #28906)
* [CI/Build] Replace wikipedia url with local server ones (@Isotr0py #28908)
* [BugFix] Fix PP/async scheduling with pooling models (@njhill #28899)

## New Contributors
* @bwasti first commit is #25603
* @Renovamen first commit is #25796
* @patrick-toulme first commit is #25084
* @kingsmad first commit is #25825
* @yingjun-mou first commit is #25827
* @zhoukezi first commit is #25854
* @leejnau first commit is #25706
* @adabeyta first commit is #25513
* @acisseJZhong first commit is #25912
* @a120092009 first commit is #25942
* @Anionex first commit is #25354
* @DrStone1971 first commit is #25843
* @certainly-param first commit is #25935
* @natoscott first commit is #26007
* @kmaehashi first commit is #26005
* @leo-pony first commit is #25470
* @huijjj first commit is #24947
* @levunet first commit is #24768
* @Egor-Krivov first commit is #25668
* @sixiang-google first commit is #25992
* @astralord first commit is #26027
* @jasl first commit is #26098
* @nrghosh first commit is #26148
* @southfreebird first commit is #25974
* @soldni first commit is #26054
* @yuafng first commit is #26219
* @ILikeIneine first commit is #25823
* @jasonlizhengjian first commit is #25998
* @elieserr first commit is #26177
* @orangeng first commit is #26266
* @ymoslem first commit is #26258
* @abhisheksheth28 first commit is #25521
* @seven-mile first commit is #26231
* @cfRod first commit is #26289
* @atalhens first commit is #26265
* @gholmes829 first commit is #25164
* @dcampora first commit is #25945
* @antrec first commit is #26340
* @plliao first commit is #26325
* @morrison-turnansky first commit is #26113
* @isharif168 first commit is #26347
* @Barry-Delaney first commit is #25931
* @utkarshsharma1 first commit is #26279
* @Aydin-ab first commit is #25283
* @therealnaveenkamal first commit is #25103
* @QierLi first commit is #24926
* @zhiyuan1i first commit is #24486
* @iwzbi first commit is #16601
* @roikoren755 first commit is #25947
* @luis5tb first commit is #25593
* @wangxiongts first commit is #25550
* @sangho-vision first commit is #26563
* @muzian666 first commit is #26562
* @HsChen-sys first commit is #22100
* @FENP first commit is #26574
* @gjgjos first commit is #26339
* @andycandy first commit is #26629
* @aitsvet first commit is #26713
* @cyb70289 first commit is #26698
* @kfhfar first commit is #26538
* @n1ck-guo first commit is #24024
* @ryanli first commit is #26758
* @VladOS95-cyber first commit is #26726
* @zklapow first commit is #26818
* @HDCharles first commit is #26820
* @Dhruvilbhatt first commit is #26837
* @madongfly first commit is #26853
* @li2haipeng first commit is #26319
* @pdasigi first commit is #26143
* @cern1710 first commit is #26637
* @inc-jeong first commit is #26225
* @bogdanminko first commit is #27008
* @mandy-li first commit is #26883
* @kimbochen first commit is #26943
* @staghado first commit is #26916
* @rkarhila-amd first commit is #25586
* @hyongtao-code first commit is #27101
* @jianyuh first commit is #27159
* @uyzhang first commit is #27012
* @shivampr first commit is #26268
* @helunwencser first commit is #26832
* @dagrayvid first commit is #27196
* @ExtReMLapin first commit is #27253
* @ReinForce-II first commit is #26789
* @LiuLi1998 first commit is #22627
* @sagiahrac first commit is #27211
* @fangpings first commit is #27133
* @jonathanc-n first commit is #27372
* @bradleyhd first commit is #27124
* @Navya1707 first commit is #27156
* @piood first commit is #27324
* @xxxxyu first commit is #26092
* @usberkeley first commit is #27419
* @strinczer first commit is #26706
* @hjh0119 first commit is #27469
* @wpc first commit is #27328
* @yeshsurya first commit is #27188
* @rogeryoungh first commit is #27535
* @dcmaddix first commit is #27291
* @tingtingtangmeta first commit is #27538
* @minatoaquaMK2 first commit is #27323
* @wangln19 first commit is #27565
* @junpuf first commit is #27596
* @sammshen first commit is #27600
* @mpashkovskii first commit is #26886
* @KevinCheung2259 first commit is #27670
* @sammysun0711 first commit is #27623
* @dumb0002 first commit is #24176
* @sairampillai first commit is #25775
* @FlamingoPg first commit is #27794
* @SumanthRH first commit is #27789
* @PaulZhang12 first commit is #27660
* @jakub-sochacki first commit is #26919
* @RobMulla first commit is #27824
* @yugong333 first commit is #27818
* @ai-jz first commit is #27850
* @xiaohajiayou first commit is #26779
* @biswapanda first commit is #27728
* @efimki first commit is #24905
* @zhang-prog first commit is #27758
* @xiangze-arm first commit is #27240
* @yt0428 first commit is #27521
* @ganyi1996ppo first commit is #25763
* @nadavkluger first commit is #28048
* @toulzx first commit is #27740
* @frost-intel first commit is #28004
* @jjzhang first commit is #28127
* @walterbm first commit is #28075
* @dayeol first commit is #22496
* @cmpute first commit is #27780
* @seungduk-yanolja first commit is #27946
* @aditew01 first commit is #28130
* @milpuz01 first commit is #26018
* @StanHatko first commit is #27953
* @vicoooo26 first commit is #27792
* @HanFa first commit is #27497
* @amacaskill first commit is #28079
* @smitkadvani first commit is #28024
* @xiaohongchen1991 first commit is #21068
* @hammmmy first commit is #28308
* @ashahba first commit is #28026
* @zhangsicheng5 first commit is #26696
* @evberrypi first commit is #28328
* @ColeMurray first commit is #28337
* @bo-ke first commit is #28374
* @caozuoba first commit is #28280
* @zhaozuy first commit is #27892
* @maryamtahhan first commit is #28461
* @the-codeboy first commit is #28474
* @xuebwang-amd first commit is #24239
* @Livinfly first commit is #28389
* @AndreasKaratzas first commit is #27611
* @wuyaoxuehun first commit is #27597
* @ziruiliu first commit is #27978
* @ZhengHongming888 first commit is #28356
* @albertoperdomo2 first commit is #27039
* @PerryZhang01 first commit is #27731
* @Radu2k first commit is #28059
* @tjandy98 first commit is #28210
* @dw2761 first commit is #28615
* @zufangzhu first commit is #28611
* @amdfaa first commit is #28142
* @YuanpingSong first commit is #28617
* @janeyx99 first commit is #28595
* @xingliu14 first commit is #28529
* @610lyn first commit is #28522
* @WorldExplored first commit is #27516
* @gjc0824 first commit is #25438
* @shahfasal first commit is #26721
* @zhaozx-cn first commit is #28277
* @OthmanMohammad first commit is #28737
* @GuanH first commit is #28663
* @halyavin first commit is #28728
* @mostrowskix first commit is #27410
* @laithsakka first commit is #25110
* @hwhaokun first commit is #28777
* @River12 first commit is #28715
* @scottzh8 first commit is #28679
* @ashors1 first commit is #28765
* @jscaldwell55 first commit is #28543
* @tiehexue first commit is #28814
* @Ronald1995 first commit is #24799
* @shreyas269 first commit is #28435
* @pranav4501 first commit is #28332

**Full Changelog**: https://github.com/vllm-project/vllm/compare/v0.11.0...v0.11.1