Highlights
vLLM-Omni v0.32.0rc1 includes 297 merged changes since v0.31.0rc1. This prerelease (not GA) aligns with / is built on vLLM v0.32.0, expands multimodal and realtime serving, and improves diffusion and speech performance.
Core Architecture & Runtime
- Align vLLM-Omni with vLLM v0.32.0 (runtime integration surfaces, dependencies, container/docs defaults, and Python support
>=3.11,<3.14). (#9066) - Add session-aware replica placement and multi-frontend full-duplex serving, plus server VAD on turn-based
/v1/realtime. (#8913, #8600) - Add RL weight-transfer support for training handoff into Omni serving. (#7686)
Model Support & Realtime Serving
- Add MOSS-Image text-to-image with SLG. (#8926)
- Add TaoMate-H3 realtime streaming on AR-Diffusion (USP2/USP4). (#8268)
- Add LTX 2.5 text-to-audio one-stage pipeline. (#6489)
- Add JoyAI speech input on unified duplex sessions. (#8931)
- Add YuE2 music generation and cover workflows to ComfyUI. (#8881)
Speech & Audio Performance
- Improve PersonaPlex with batched execution, CUDA graphs, and memory optimization across Stage 0 / Depformer / Stage 1. (#8441)
- Continue MiniCPM-o / Qwen3-TTS / CosyVoice3 throughput and streaming fixes landed since
v0.31.0rc1(see full changelog).
Diffusion, Image & Video
- Add CUDA FA3 FP8 diffusion attention. (#8965)
- Enable online FP8 quantization for MammothModa2 DiT. (#7221)
Compatibility & Packaging
- Python support for this cut:
>=3.11,<3.14, with dependency, container reference, and install-guidance updates from the v0.32.0 alignment. (#9066) - This tag is a release candidate, not a GA release.
Validation & Known Issues
- The release is pinned to
da572cddb38383deae9caef33b8d490e292ef071on branchrelease/v0.32.0rc1(includes the vLLM v0.32.0 alignment from #9066). - This note does not claim a fully green multi-platform nightly or day-one support for every new model. Please file issues against this tip SHA.
Release Artifacts
- GitHub pre-release tag:
v0.32.0rc1. PyPI wheel and container images will be published by the omni-release pipeline after this tag; install links will be updated once those artifacts are available. - Until then, install from the tagged source:
pip install git+https://github.com/vllm-project/vllm-omni.git@v0.32.0rc1
What's Changed
- [Model][Perf] IndexTTS2: drop per-step hidden D2H in latent mode by @vivivi-111 in #8478
- [Bugfix] Qwen3-Omni thinker: create deepstack buffers on the real device by @johnnynunez in #8461
- [Bugfix] Do not assume a stream decoder in MRv2 eager-MTP preprocess by @Sy0307 in #8484
- [Bugfix] Validate sleep stage_ids before blocking admission by @he-yufeng in #8501
- [Perf] Add CUDA graphs for MiniCPM-o 4.5 input encoders by @amy-why-3459 in #8332
- [Bugfix] Keep client error status in the single-GPU diffusion executor by @fusheng-ji in #8474
- [Bugfix] Configure logging in the Omni CLI/API Server by @NickCao in #8518
- [Perf][MiniCPM-o] Code2Wav resident Euler slot pool, fused DiT body, and exact HiFT graphs by @BeatSeat in #8443
- [Model][PersonaPlex] Encode only consumed Mimi codebooks by @LOGO127 in #7399
- [Model][PersonaPlex] Vectorize prefill embedding construction by @LinzeShi in #7481
- [Bugfix][MiniCPM-o] Take the duplex vision tile from the image-processor config by @twu3202 in #8462
- [CI/Build][ROCm] Reuse AITER cache for Mammoth attention tests by @haic0 in #8527
- [Model] Optimize Wan VAE first-frame decoding with Conv2d by @QianCyrus in #8179
- [CI/Build][ROCm] Retry AMD Simple Diffusion shards on GPU hangs by @haic0 in #8520
- [XPU][Docker] Align XPU image and CI with vLLM v0.31.0 by @Joshna-Medisetty in #8528
- [CI][ROCm] Add LingBot nightly coverage by @haic0 in #7935
- [Core] Add batch parallel VAE decode by @QianCyrus in #8162
- [CI][ROCm] Add Cosmos3 nightly coverage by @haic0 in #7933
- Kandinsky6 by @osipovmekete in #8537
- [Bugfix] Migrate CreateAudio from deprecated class Config to ConfigDict by @NickCao in #5245
- [Model] MiniMax-H3: accept raw video masks and resolve the latent grid server-side by @avicii-forever in #7947
- [Core] Generalized turn-based /v1/realtime implementation by @NickCao in #8339
- [Perf][MiniCPM-o] Stage 0 streaming audio/vision encoder CUDA graphs and candidate sampling by @BeatSeat in #8430
- [Perf] Fuse AdaLayerNorm CUDA eager path with Triton by @Dong1017 in #8231
- [Model] Default MOSS Local 1.5 to adaptive CUDA MRV2 with MPS by @Sy0307 in #8438
- [Frontend] MiniMax-H3: Add latent-mask editing to the ComfyUI extension by @avicii-forever in #7575
- [CI][ROCm] Add and stabilize HunyuanImage3 nightly coverage by @haic0 in #7934
- [CI/Build][ROCm] Move Pi0.5 CPU coverage to AMD nightly by @haic0 in #8559
- [Perf][PersonaPlex] Batch live duplex appends and replay Mimi codec frames from CUDA graphs by @linyueqian in #8356
- [Perf][Qwen3-Omni] Capture the thinker image encoder with CUDA graphs (part of #7452) by @MrlixiangWE in #8215
- [Model] MiniCPM-o 4.5: enable fused CFM body by default on CUDA by @amy-why-3459 in #8557
- [CI/Build][ROCm] Run diffusion CPU-offload coverage with SDPA by @haic0 in #8570
- [Core] Defer generation payload host waits to output consumption by @amy-why-3459 in #8540
- [Frontend] Share regular and duplex chat initialization by @natureofnature in #7646
- [Model] Avoid repeated attention and MLP work in Klein TP by @QianCyrus in #8553
- [New model] Qwen-Image-2.1 support (rebase + review follow-ups) by @NumberWan in #8099
- [feature] Reduce memory usage with SP by @MaciejBalaNV in #7728
- [CI/Build][ROCm] Stabilize R2-01 platform selection by @haic0 in #8561
- [NPU] upgrade to v0.31.0 by @FayeSpica in #8588
- [CI/Build] Fix CPU groups in distributed VAE test mocks by @amy-why-3459 in #8591
- [Bugfix] Fix In Place Compile Overwrites for Qwen3Omni Embeddings with TP > 1 by @alex-jw-brooks in #8532
- [BugFix] Optimize turn-based /v1/realtime auto truncation by @NickCao in #8566
- [Bugfix] Fix Sender Address Propagation by @alex-jw-brooks in #8599
- Add XPU deploy overlays and mark Intel GPU support by @Joshna-Medisetty in #8409
- [Bugfix] Report sample rate and channels for streamed speech PCM by @linyueqian in #8567
- [Bugfix][Qwen3-Omni] Default the talker voice to Ethan by @linyueqian in #8568
- [Model] Add JoyAI-Image-Edit pipeline support by @nagisa-kunhah in #4112
- [Doc] Add new technical report to README by @hsliuustc0106 in #8609
- [Bugfix] Add SageAttention2/3 custom ops and execution contracts by @rahul-steiger-nv in #7740
- [Feature] Add FlashInfer H3 VSA backends and exact AdaLN weight offload by @lishunyang12 in #7989
- [CI/Build] Add NIXL timeout regression and real-ZMQ coverage by @fusinjay in #7733
- [Model] Add VDN-H3 hybrid attention (VDNH3_ATTN) for MiniMax-H3 by @haochengxi in #8439
- [Core] Limit SHM reaping work on chunk sends by @psv666 in #8618
- [Bugfix] Guard OmniVoice Triton dispatch for CPU and NPU tensors by @Liuchenbing-2026 in #8589
- [CI/Build] Move premerge CPU jobs to the medium queue and retune nightly/weekly suites by @yenuo26 in #8616
- [Model] Reduce CosyVoice3 TensorRT Euler host overhead by @trueoneplusone in #7767
- [Bugfix][CI][Benchmark] switch thread_type to SLICE for HEVC in Omni-DuplexEval by @ZacheryAU in #8307
- [Feat][optimization] mammoth moda2 VAE slicing tiling by @VLa1111 in #7774
- [Kernel] Accelerate MOSS Local depth decoding with QKV lookup and fusion by @gcanlin in #8232
- [Model] MiniCPM-o 4.5: add NPU and Code2Wav encoder graphs by @amy-why-3459 in #8515
- [Perf][PersonaPlex] Hoist RoPE tables and RingKV position computation out of the per-layer loop by @Sendoh-code in #7850
- [Bugfix][Model] Make PersonaPlex Code2Wav input delta-only by @jeffaa729 in #7480
- [Perf][Model] Use block-sparse attention in Qwen2.5-Omni Token2Wav DiT by @LiRunGuo in #7975
- [Bugfix][YuE2] Build the output from live mm outputs when prefix caching is on by @twu3202 in #8479
- [Bugfix][MiniCPM-o] Apply the Talker's 16-frame codec penalty on MRv2 by @linyueqian in #8576
- [Bugfix] Calibrate Z-Image TeaCache coefficients and add ZImageAdapter by @kuatovakamila in #8408
- [Bugfix] Fix missing SenseNova-U1 TeaCache position embeddings by @LinzeShi in #8260
- [Bugfix] Scope stage-0 multimodal UUIDs on a copy of the prompt by @armaanamatya in #8062
- [Feature] Support request-level batching for SDXL text2image by @heyuanliu-intel in #7033
- [Perf][AuK] Opt-in FP8 GEMMs for the DiT block linears by @linyueqian in #8442
- [Feature][Qwen3-TTS] Return the codec frames code2wav decodes as a client output by @linyueqian in #8619
- Map current Kandinsky 6 Diffusers checkpoint names. by @osipovmekete in #8590
- [Bugfix][CI/Build][ROCm] Fix AuK FP8 and diffusion CI contracts by @haic0 in #8643
- [AutoRound] Extend INC config for AutoRound NVFP4 by @changwangss in #7721
- [Bugfix] Honor CPU lists for in-process stage workers by @Sorbett in #8631
- [Hardware][Ascend] Optimize MOSS-TTS codec attention and RoPE for NPU by @jingchengtian in #7556
- [Doc] Update vLLM-Omni WeChat QR code by @david6666666 in #8608
- [CI/Build][ROCm] Reuse Omni processor metadata snapshot by @haic0 in #8646
- [CI/Build][ROCm] Move full Omni processor matrix to nightly by @haic0 in #8571
- [Model] Reduce MiniMax-H3 Ref2VA RGB frame conversion by @Dong1017 in #8129
- [Perf][PersonaPlex] Send one codec frame per audio chunk by @linyueqian in #8662
- [Model] MiniMax-H3: Support an independent VAE decoder stage by @Dong1017 in #8104
- [Bugfix][Test] Keep the PersonaPlex load driver on the capture clock by @linyueqian in #8650
- [Model] Overlap MiniMax-H3 reference audio extraction with video decode by @Dong1017 in #8229
- [Kernel][Core] Fuse Ring attention output merging by @QianCyrus in #8494
- [Bugfix][Duplex] Close session when session.created never reaches the client by @NumberWan in #7997
- [Perf] MAGI-2: count BF16 MoE routes in int32 by @yeahdongcn in #8496
- [Perf] MAGI-2: use a 64-wide K tile for the BF16 MoE GEMMs on MUSA by @yeahdongcn in #8506
- [Bugfix] MAGI-2: keep a single W13 bank for the fused BF16 MoE path by @yeahdongcn in #8497
- [MOSS-TTS] Fast pcm convert and first-frame codec in stage0 by @gcanlin in #8640
- [Model][Hardware][MUSA] Add MAGI-2 Preview MUSA support by @yeahdongcn in #8498
- [Perf] MAGI-2: use FP32 mHC stream contractions on MUSA by @yeahdongcn in #8510
- [CI] Add tests for Qwen3 Omni Thinker variant by @clodaghwalsh17 in #4944
- [CI/Build][ROCm] Move PersonaPlex temporal stress to nightly by @haic0 in #8670
- [Model] Prefetch the MiniCPM-o 4.5 Code2Wav reference during Stage-2 … by @MinhaoLi0318 in #8198
- [Bugfix][ROCm] Repair R2-01 MOSS and Breeze coverage by @haic0 in #8562
- [Bugfix][MiniCPM-o] Fix empty audio in synchronous serving (#8681) by @amy-why-3459 in #8692
- [New model] Add Qwen-Image-2.1-Turbo support by @Isotr0py in #8699
- [Hardware][Ascend] Use registered NPU allocator telemetry for cache retention by @Dong1017 in #8578
- [Model] MiniMax-H3: overlap Ref2VA CPU noise preparation by @Dong1017 in #8577
- [Model] Consolidate MOSS-TTS Local 1.5 deploy configuration by @gcanlin in #8704
- [Perf][Qwen-Omni] Check audio-in-video interleaving with tensor reductions by @MrlixiangWE in #8629
- [Model] Reduce MOSS-TTS codec streaming state memory by @gcanlin in #8701
- [Bugfix][MiniCPM-o] Keep a duplex unit's text before a mid-unit tts_bos by @BeatSeat in #8717
- [Feature] Compose Ulysses with AllGather-KV as a 2D diffusion SP by @Bounty-hunter in #7641
- [Doc] Update README slides link to v0.30.0 release by @hsliuustc0106 in #8695
- [Bugfix][CI] Make Mooncake fanout timeout tests deterministic by @amy-why-3459 in #8727
- [CI/Build][Ascend] Move nightly Wan 2.2 function tests to A3 by @FayeSpica in #8706
- [CI/Build][ROCm] Split Wan2.2 merge cold starts by @andyluo7 in #8014
- [Bugfix] Finalize step requests before engine idle by @Laceprndpm in #8719
- [Perf] Allow disabling per-request stage metrics by @AlessioNetti in #8554
- [bugfix] Fix CLI flags that modify model_config when using --deploy-config by @MaciejBalaNV in #8289
- [Bugfix] Preserve CUDA toolkit header precedence in a2a JIT builds by @LeslieWylie in #7599
- [Bugfix] Reserve CUDA graph memory when sizing Omni KV caches by @MrlixiangWE in #7632
- [Core][Model] Unified Full-Duplex MRv2 Support and MiniCPM-o 4.5 Adaptation by @BeatSeat in #8536
- [Misc] Remove dead and duplicate code in TTS and full-duplex paths by @linyueqian in #8751
- [optimization] Added Wan 2.2 VAE encode optimizations by @MaciejBalaNV in #8067
- [Bugfix] Fail the request, not the orchestrator, on a bridge client error by @kuatovakamila in #8605
- [Model] Cosmos3: Reduce video output transfer overhead by @rahul-steiger-nv in #5712
- [Model] MiniMax H3 timeline guide conditioning by @shykoe in #8460
- [Doc] Add human contributor intent gate by @hsliuustc0106 in #8786
- [Bugfix][Qwen3-TTS] Bound CustomVoice/VoiceDesign codec budgets by input length by @linyueqian in #8569
- [Bugfix][Qwen3-TTS] Always send ref_audio so an evicted engine artifact cannot kill the engine by @linyueqian in #8697
- [Frontend] Reduce API server output and request overhead by @Sy0307 in #8703
- [Core] Reduce MOSS-TTS Local serving overhead by @Sy0307 in #8667
- OmniVoice: Validate instructions by @clodaghwalsh17 in #6105
- [Doc] Update vLLM-Omni WeChat QR code by @david6666666 in #8806
- [Bugfix][Duplex] Keep replicas alive after streaming context overflow [fix personaPlex stage 0 crash bug] by @natureofnature in #8683
- [Bugfix] Read nested Realtime WebSocket error codes in tests by @yenuo26 in #8825
- [Perf][MiniCPM-o] Share Code2Wav graphs across CUDA and NPU by @amy-why-3459 in #8735
- [Bugfix] Prevent FP16 overflow in SeedVR2 RMSNorm by @princepride in #8767
- [Bugfix][NPU] Preserve contiguous K/V cache allocation by @FayeSpica in #8827
- [Bugfix][NPU] Forward torch_profiler_record_shapes to the NPU profiler by @wangzhao-11a in #8770
- [BugFix] CosyVoice3: honor the weights iterator in load_weights by @linyueqian in #6738
- [Bugfix] Realtime: reply to session.update before any other event by @lazariv in #8839
- [Test] Route hardware-platform marks through hardware_test by @yenuo26 in #8708
- [Bugfix][MiniCPM-o] Give each duplex session its own audio feature extractor by @williamLyh in #8638
- [Bugfix] Build Qwen3-Omni Thinker PP-capture tensors without dict.update by @he-yufeng in #8846
- [CI/Build][ROCm] Move slow diffusion CPU cases out of hash shards by @haic0 in #8849
- [Bugfix] MiniCPM-o 4.5 duplex: reset turn_end on every unit to fix st… by @lrq619 in #8822
- [Frontend][Benchmark] Add Omni-DuplexEval to bench serve by @natureofnature in #8645
- [Model] Add ABot-World realtime AR-Diffusion support by @tsinghua-code in #6392
- [Bugfix][Diffusion] Preserve client errors across request execution by @zhongc1211 in #8713
- [Frontend][Benchmark] Add Seed-TTS Realtime turn-trigger perf test for Qwen3-Omni by @psv666 in #8060
- [CI/Build] Pin Qwen3-Omni multi-replica speaker and retire audio baselines by @psv666 in #8826
- [Bugfix] Harden video job cancellation and cleanup by @MaciejBalaNV in #8843
- [CI/Build] Stabilize Qwen3-TTS model setup and 8 kHz ASR validation by @amy-why-3459 in #8837
- [CI/Build] Diagnose cancellation collective worker startup failures by @amy-why-3459 in #8861
- [Bugfix] Fix Cosmos3 transfer resize and cropping by @MaciejBalaNV in #8844
- [Core] Reduce async chunk request snapshot overhead by @psv666 in #8833
- [Bugfix] Fix AutoRound layer resolution after INC config upgrade by @Thinkash in #8870
- [Refactor][Core] Refactor the prefix-cache manager/controller boundary to make write-task ownership and resource cleanup explicit by @ZhengWG in #8835
- [Frontend] Expose MiniMax H3 timeline guides on /v1/videos by @shykoe in #8838
- [CI/Build][ROCm] Reuse the unmasked BF16 AITER MHA module by @haic0 in #8848
- [Doc] PR merge loop bible (maintainer ops) by @hsliuustc0106 in #8897
- [Perf][Engine] Make event-driven orchestration the default for all pipelines by @linyueqian in #8675
- [Quantization] FLUX.1-dev text encoder FP8 online quantization by @guanzheh in #3997
- [Bugfix] Realtime: use response_cancel_not_active for cancels with nothing to cancel by @lazariv in #8840
- [CI/Build][ROCm] Shorten YuE2 full-vocabulary sampler agreement by @haic0 in #8851
- Run Qwen3-TTS and Audio8 eager on XPU by @Joshna-Medisetty in #8853
- [Model] Default MiniCPM-o duplex reference audio by @NickCao in #8023
- [Bugfix] Fix int32→int16 wrap-around in TTS gradio demo ref-audio encoding by @yuxinyuan in #7901
- [CI/Build] Expand MiniCPM-o 4.5 concurrency sweeps and enable duplex WER by @amy-why-3459 in #8720
- [Doc] Clarify community PR triage limits and feedback by @hsliuustc0106 in #8904
- [Model][Core][Frontend] Add opt-in native ASR input profile for JoyAI… by @ShuoleiWang in #8031
- [Model] Reduce MOSS-TTS-Local startup pauses with progressive chunks and priority scheduling by @gcanlin in #8863
- [CI/Build] Rebalance CUDA ready jobs and move slow cases to weekly by @yenuo26 in #8888
- [CI/Build] Add CodeQL analysis in a single job by @hsliuustc0106 in #8673
- Prefix-cache upstream lifecycle adapter by @kunkunblueberry in #7920
- [Model] Add Fish Audio Drama 3 (fish_omni) TTS support by @linyueqian in #8900
- [Doc] Make review requests concise and contributor-owned by @hsliuustc0106 in #8910
- Feat/wan EG/EGD disagg by @yuanwu2017 in #6285
- [Bugfix][Diffusion] Release queues when output streams close before iteration by @rahul-steiger-nv in #8513
- [CI/Build] Run Omni-DuplexEval nightly through bench serve by @natureofnature in #8871
- [Doc] Add concise review and issue lessons by @hsliuustc0106 in #8917
- [Frontend] Accept image input on /v1/realtime?duplex=0 by @NickCao in #8896
- [Model] Add JoyAI unified duplex text/video sessions by @natureofnature in #8823
- [Doc] Connect contributor precheck to existing design contracts by @hsliuustc0106 in #8918
- [Bugfix] MiniMax H3: cap num_frames on aligned 17n+5 grid for max duration by @iboiko-habana in #8696
- [Bugfix][Hardware][Intel] LingBot-Video: drive autocast from the tensor device by @Joshna-Medisetty in #8651
- [perf][VoxCPM2]: enable batched FSQ fusion and prefill tail by default by @Lingwei1943 in #8311
- [Hardware][Ascend] Cache codec RoPE cos/sin tables across all transformer layers by @jingchengtian in #7967
- [Hardware][Ascend] Optimize MOSS-Audio-Tokenizer codec decode with mask sharing and addcmul fusion by @jingchengtian in #8002
- [Kernel][Model] Optimize Qwen-Image-2.1 Turbo BF16 inference on B300 by @david6666666 in #8739
- [Misc] Label diffusion runner peak memory log in GiB by @luca-888 in #8865
- [Perf][Drama 3] Optimization of Drama3 performance by @Sy0307 in #8933
- [Bugfix] Drama 3: one-frame requests no longer hang in the codec handoff by @linyueqian in #8938
- [Bugfix][Hardware][Intel] Covo: keep token2wav attention off CUDA-only APIs by @Joshna-Medisetty in #8656
- [XPU][GR00T] Select the pipeline device from the current platform by @Joshna-Medisetty in #8653
- [CI/Build][ROCm] Restore the BF16 AITER module in READY consumers by @haic0 in #8939
- [CI/Build][ROCm] Mark reliability fault tests for AMD GPU by @haic0 in #8944
- [Misc] Remove Pydantic v1 field-set fallback by @NickCao in #8548
- [Doc] Close the CI failure feedback and repair evidence loop by @hsliuustc0106 in #8969
- [Core] Add AR and diffusion backend config propagation by @shunwendongan in #8092
- [CI/Build][ROCm] Add the AMD weekly reliability suite by @haic0 in #8945
- [Bugfix] Preserve MiniCPM-o 4.5 streaming condition sequence in Talker output by @yezhi0312 in #8970
- [Bugfix][Core] Schedule async chunks atomically by @dongteng in #7438
- [Hardware][Ascend] Enable LingBot-World realtime benchmark on 4x Ascend 910B1 by @Dong1017 in #8112
- [Diffusion][MAGI-2] Fuse multi-head MoE route construction by @IDEA-V in #7175
- [Perf][Qwen-Image-2.1] Drop dead VAE feature-cache clones for single-frame images by @MinhaoLi0318 in #8680
- [XPU] update the way integrate xpu mxfp8/mxfp4 by direct invoking vllm mxfp4/mxfp8 kernel by @xuechendi in #7173
- [Diffusion][CI] diffusion ci skill && qwen_image21 acc ci by @Bounty-hunter in #8726
- [Bugfix] Reserve talker MTP and auxiliary CUDA graph memory when sizing Omni KV caches by @MrlixiangWE in #8854
- [Model][Qwen3-Omni] Serve duplex sessions on Model Runner V2 by @amy-why-3459 in #8974
- [Misc] Standardize Omni accuracy result files for the accuracy dashboard by @yenuo26 in #8924
- [Core] Add playback backpressure for diffusion streams by @wtz2333 in #8721
- [Model] Add eager offline VibeVoice-1.5B support by @YouHengfei in #8909
- [Core] Add VoxCPM2 MRV2 support with mixed CUDA graphs and incremental VAE decoding by @sphinxkkkbc in #8743
- [Bugfix] Load the speech usage tokenizer once and honor trust_remote_code by @twu3202 in #8413
- [CI] Add nightly performance test for Qwen-Image-2.1 by @wangqiankun13 in #8923
- [Bugfix][Frontend] Share the runtime voice registry across API processes by @Sy0307 in #8424
- [BugFix][HunyuanImage3] Fix pipeline metadata by @NickCao in #8432
- [Bugfix] Preserve typed engine configs during legacy stage projection by @Liuchenbing-2026 in #8976
- [CI/Build] Cancel superseded PR workflows and schedule CodeQL to reduce workflow queue time by @yenuo26 in #8922
- [Benchmark] [TTS] Report per-concurrency first-audio latency in the TTS benchmark by @VLa1111 in #6577
- [Core][TTS] Add per-segment rho instrumentation to the Qwen3-TTS ramp path (#6496) by @CAICAIIs in #7201
- [Frontend] Add M1 streaming text commitment for Qwen3-TTS by @liuyao0322 in #6515
- [Frontend / Core] Support Running Frontend Only & Validate Stage IDs by @alex-jw-brooks in #8626
- [Feature] Add server VAD support to turn-based /v1/realtime by @NickCao in #8600
- [Bugfix][ROCm] Skip MAGI-2 fused routing tie tests off NVIDIA CUDA by @haic0 in #8996
- [CI/Build][ROCm] Add MiniMax-H3 MI300 nightly smoke by @haic0 in #8942
- [Bugfix][Ascend][Perf] MiniCPM-o 4.5 Talker multi-frame decode and NPU pipeline optimizations by @y-null in #7929
- [Bugfix] Correct Cosmos3 transfer control guidance scaling by @rahul-steiger-nv in #8927
- [Kernel] Remove fa3-fwd dependency by @dougbtv in #7735
- [Misc] Share offline profiler configuration parsing by @lishunyang12 in #7022
- [CI/Build][ROCm] Kill the Qwen thinker stage before the fault probe by @haic0 in #8995
- [new model] Added LiDAR VAE by @MaciejBalaNV in #8556
- [Bugfix] Stop UniProc diffusion worker overwriting the API-server process title by @Sworol in #8953
- [Bugfix][Ascend NPU][Diffusion] Fall back for CPU tensors in NPU dispatch by @QwertyJack in #6792
- [Model] Speed up Qwen3-TTS high-concurrency serving on CUDA MRv2 by @Sy0307 in #8674
- [Core] Add LLM-stage queue/prefill/decode split to StageRequestStats by @MinhaoLi0318 in #8575
- [Bugfix][Metrics] Count VAE decode time for prefixed and latent VAE targets by @MinhaoLi0318 in #8804
- [Model] Add JoyAI speech input to unified duplex sessions by @natureofnature in #8931
- [Core] Guard online quantization factory behavior with CPU regression tests by @tzhouam in #8315
- [Model] Optimize MOSS Local two-stage kernels and host outputs by @gcanlin in #8989
- [Bugfix] Shield video stream cleanup from ASGI cancellation by @amy-why-3459 in #9001
- [Frontend][Benchmark] Support Qwen3-Omni duplex dataset benchmarks by @psv666 in #8613
- [Model] Replace MOSS Local Inductor compilation with explicit fused kernels by @gcanlin in #9016
- [Model] Pack MOSS Local codec chunks in the existing Stage1 engine by @gcanlin in #8990
- [Bugfix] Fix MiniCPM duplex response-required CI test by @natureofnature in #9019
- [CI] Add shared AsyncOmni pytest fixtures with leftover-worker cleanup by @armaanamatya in #8026
- [CI/Build][ROCm] Make weekly OOM injection ready on HIP by @haic0 in #8994
- [Bugfix][ROCm] Omit CUDA-only Triton launch options on HIP by @haic0 in #9031
- [CI/Build][ROCm] Add HunyuanVideo-1.5 MI300 nightly smoke by @haic0 in #9032
- [CI/Build][ROCm] Add Qwen-Image MI300 nightly smoke by @haic0 in #8948
- [CI/Build][ROCm] Add Stable Audio CPU-offload MI300 nightly by @haic0 in #8999
- [CI/Build][ROCm] Add CosyVoice3 offline zero-shot to MI300 nightly by @haic0 in #9034
- [Core][Model] Add Chunk/Noisy KV path for CausVid Wan by @ShengDev in #8282
- [Perf] MAGI-2: pin the attention head layout in the output projection by @yeahdongcn in #8627
- [Core] Introduce a generic cross-attention abstraction with LingBot integration by @tsinghua-code in #8859
- [Perf][Qwen-Image-2.1] Reuse repeated conditioning and shared modulation by @amy-why-3459 in #8729
- [Core][Duplex] Add session-aware replica placement and multi-frontend full-duplex serving by @QianCyrus in #8913
- [CI/Build][ROCm] Add Qwen2.5-Omni documentation examples to MI300 nightly by @haic0 in #9000
- [Perf][MiniCPM-o] Fuse the NPU CFM DiT body by @amy-why-3459 in #8908
- [Feature] Add Text-to-audio one-stage pipline for LTX 2.5 by @nagisa-kunhah in #6489
- [Perf][PersonaPlex] Batched execution, CUDA graphs, and memory optimization (Stage 0, Depformer, Stage 1) by @BeatSeat in #8441
- [perf][sched] O(N) chunk queue partition: remove O(N²) queue.remove-in-loop by @Asthenia0412 in #9025
- [Hardware][Ascend][Perf] Run the CAM++ speaker embedding on the NPU instead of CPU onnxruntime by @y-null in #9026
- [CI/Build][ROCm] Deduplicate combined AMD test suites by @andyluo7 in #8417
- [Core][Duplex] Shared tool-call flow for half-duplex and full-duplex sessions by @NumberWan in #8493
- [Bugfix] Fix Qwen3-Omni fastsafetensors load OOM by @takeshi-yoshimura in #6412
- [Test] Tighten reliability fault assertions and skip known API-exit cases by @yenuo26 in #9005
- [Bugfix][Diffusion] Release async outputs abandoned by consumer streams by @rahul-steiger-nv in #6580
- [ComfyUI][UX] Automatically extract model name from vllm-omni server url by @Isotr0py in #8773
- [RL] Add Weight Transfer Support for RL Training by @Bounty-hunter in #7686
- [Kernel] Add CUDA FA3 FP8 diffusion attention by @zwhzzz0821 in #8965
- [Model] Avoid redundant SenseNova-U1 denoising synchronizations by @LinzeShi in #8254
- [bugfix] Cosmos3 cleanup for preparation of new models by @MaciejBalaNV in #8898
- [Core] Report CUDA SDPA execution paths and support inference fullgraph by @Levius-Fubuki in #7895
- [Bugfix][Diffusion] Keep TeaCache CFG branches separate in the shared CFG helper by @fusheng-ji in #8475
- [Frontend] Add YuE2 music generation and cover workflows to ComfyUI by @FayeSpica in #8881
- [Bugfix] Enforce stage_init_timeout on stage readiness and stop launching after shutdown by @kuatovakamila in #8606
- [Core] Add duplex tool result timeout and cancellation recovery by @NolenLiang in #8758
- [Bugfix] Drama 3: never sample semantic code 0 as the main token by @linyueqian in #9044
- [CI/Build] Route CPU and device tests to matching hardware lanes by @andyluo7 in #8381
- [Bugfix][Diffusion] Fix inline CuMem shutdown and FA3 FP8 CPU numerics by @haic0 in #9063
- [CI/Build][ROCm] Stabilize Fish-Omni BF16 top-k distribution test by @andyluo7 in #9064
- [Perf] MAGI-2: bit-exact MoE route build, token-major routes and separate shared-expert activation by @yeahdongcn in #8592
- [Core] Add paced interaction timing for diffusion streams by @wtz2333 in #8952
- [Hardware][Ascend] Add opt-in LingBot SP8 output paths by @tzhouam in #8610
- [Model] TaoMate-H3 realtime streaming on AR-Diffusion (USP2/USP4) by @tzhouam in #8268
- [Core] Add Qwen3-Omni duplex history calibration by @psv666 in #8712
- [Test] add stability test case (GPU&NPU) for High-priority model by @wangwei1254 in #8975
- [Feature][Performance]: Enable online FP8 quantization for MammothModa2 DiT by @xRay2016 in #7221
- [Model] Remove Pi0.5, HiDream-I1, and LTX-2-19b distilled by @yenuo26 in #9065
- [Model] Add MOSS-Image text-to-image with SLG by @gcanlin in #8926
- [Bugfix] Calibrate Qwen3-TTS PCM speech HNR floor for stochastic sampling by @kunkunblueberry in #9029
- diffusion moe lora bridge by @BLANKETusers in #8326
- [Core] Align vLLM-Omni with vLLM v0.32.0 by @tzhouam in #9066
- [CI/Build] Run merge, nightly, and weekly CI on release/vX.Y.Z branches by @yenuo26 in #8985
- [Diffusion][CI] Add performance test skill for diffusion model by @wangqiankun13 in #9022
- [CI] Drama 3: lower the PCM HNR floor for the streaming voice-clone test by @linyueqian in #9083
- ci: validate hardware helper contracts before test collection by @andyluo7 in #8380
- [Bugfix] Explain uncalibrated MingZImage TeaCache by @cheater6666 in #8521
- [Core] Add Smart Turn semantic VAD to duplex sessions (RFC #7478) by @chickeyton in #8895
- [Bugfix][Diffusion] Pass the resolved FA version into dense varlen attention by @ShengDev in #9100
- [BugFix] Add missing stage_id to MooncakeTransferEngineConnector by @NickCao in #4270
New Contributors
- @vivivi-111 made their first contribution in #8478
- @johnnynunez made their first contribution in #8461
- @he-yufeng made their first contribution in #8501
- @fusheng-ji made their first contribution in #8474
- @haic0 made their first contribution in #8527
- @osipovmekete made their first contribution in #8537
- @avicii-forever made their first contribution in #7947
- @fusinjay made their first contribution in #7733
- @haochengxi made their first contribution in #8439
- @Liuchenbing-2026 made their first contribution in #8589
- @trueoneplusone made their first contribution in #7767
- @VLa1111 made their first contribution in #7774
- @kuatovakamila made their first contribution in #8408
- @changwangss made their first contribution in #7721
- @MinhaoLi0318 made their first contribution in #8198
- @Laceprndpm made their first contribution in #8719
- @AlessioNetti made their first contribution in #8554
- @LeslieWylie made their first contribution in #7599
- @shykoe made their first contribution in #8460
- @wangzhao-11a made their first contribution in #8770
- @lazariv made their first contribution in #8839
- @williamLyh made their first contribution in #8638
- @lrq619 made their first contribution in #8822
- @zhongc1211 made their first contribution in #8713
- @Thinkash made their first contribution in #8870
- @iboiko-habana made their first contribution in #8696
- @Lingwei1943 made their first contribution in #8311
- @luca-888 made their first contribution in #8865
- @shunwendongan made their first contribution in #8092
- @yezhi0312 made their first contribution in #8970
- @dongteng made their first contribution in #7438
- @IDEA-V made their first contribution in #7175
- @YouHengfei made their first contribution in #8909
- @wangqiankun13 made their first contribution in #8923
- @QwertyJack made their first contribution in #6792
- @ShengDev made their first contribution in #8282
- @takeshi-yoshimura made their first contribution in #6412
- @wangwei1254 made their first contribution in #8975
- @cheater6666 made their first contribution in #8521
Full Changelog: v0.31.0rc1...v0.32.0rc1