Repository navigation
v1.4.0rc1
Pre-release
Pre-release
Highlights
-
Known Issues
- Disaggregated serving with the default Python KV cache transceiver may fail generation requests with a KV cache transfer error after streaming requests are cancelled (observed on A100).
- The OpenAI JSON-schema serving example (examples/serve/openai_completion_client_json_schema.py) may return an unbounded response with Qwen3 models.
-
Model Support
-
API
- Default to KV cache manager V2 and the Python KV cache transceiver (BREAKING) #17495
- Remove unused LlmRequest fields (BREAKING) #19967
- Replace the C++ ArrayView API with std::span #20205
- Select Modeling V2 through LLM configuration and arguments #20077
- Publish serving configuration schemas #19906
- Add a KV cache lending API for transfer backends #19722
- Expose native KV event streaming and routing load #19440
- Support runtime sleep and wakeup through LLM and trtllm-serve, including MiniMax-H3 #19016, #19604
- Unify compiled-artifact cache configuration through TRTLLM_CACHE_DIR #18897
- Make KV cache V2 pool rebalancing parameters configurable #19077
- Reorganize VisualGen attention modules, keeping deprecated import paths and lazy exports #20214, #20215, #20218
-
Feature
- Integrate the Mooncake connector with KV cache manager V2 #19171
- Fill the KV cache V2 host tier progressively #19650
- Add RoPE precision options for NVFP4 cold-page compression #19391
- Honor per-request seeds in batched TorchSampler and one-model speculative acceptance #19719, #20147
- Add ragged DSpark verification with confidence-based policy and calibrated scoring #19707, #19818, #20071
- Add deterministic FP32 GVR V2 top-K decoding and reduce its overflow overhead #20100, #20290
- Add an opt-in setting to compile only piecewise CUDA graph forwards #18366
- Support Rubin locality-domain execution and extend SM107 and multi-node MegaMoE initialization #19272, #19183
- Optimize Kimi K3 on Rubin and avoid cuBLAS fallback in KDA prefill #19960, #20084
- Support packed query heads and compact inputs in Blackwell CuTe DSL MLA #19338
- Add PrimTS dense BF16, mixed BF16/FP8, and FP8 context attention paths #20006
- Use paged attention for MiniMax-M3 dense layers and cut NVFP4 KV host overhead #20159, #19974
- Limit GLM-5.3-Flash indexer scoring to visible pools with BF16 tensor cores #20251
- Add token-sharded tensor parallelism for Wan in VisualGen #19713
- Support MiniMax-H3 parallel tiled VAE decoding and Ulysses parallelism #19506
- Speed up MiniMax-H3 video-VAE decoding and fuse AdaLN RMSNorm modulation #19774, #19772
- Unify multimodal encoder caching and reduce encoder output copies #17876, #19799
- Optimize Qwen vision encoders and decode JPEGs through torchvision #19797, #19794
- Reduce per-response overhead in LLM API streaming #20244
- Enable SwiGLU clamping and update NVFP4 FC1 weight layout in Rubin CuTe DSL MoE #19488, #20181
- Overhaul the NVLink one-sided all-to-all #19610
-
Fix
- Align MiniMax-M3 and GLM reasoning and tool parsing between streaming and non-streaming #20442, #19935
- Flush the Hugging Face streaming detokenizer on the final response #20424
- Restore trtllm-serve streaming throughput by constraining uvloop below 0.23.0 #19992
- Constrain FastAPI to versions below 0.140.0 #20161
- Keep the overlap scheduler responsive while waiting for disaggregated KV receives #19857, #19940
- Reserve retiring-request slot headroom for overlap scheduling without attention data parallelism #20250
- Correct draft KV scheduling and prompt-tail recomputation on cache hits with overlap speculation #19745, #19748
- Size draft-probability buffers by batch capacity and fix speculative beam-search races #19490, #20064
- Size Blackwell speculative-decoding tree masks for the attention kernel layout #20223
- Guard Whisper cross-KV reuse when encoder tokens are unavailable #19302
- Preserve LoRA cache contents when too few pages can be evicted #20212
- Reclaim idle eager CUTLASS MoE workspace #19981
- Correct CuTe DSL MoE autotuning inputs and restore FC2 N-tile autotuning #17410, #20277
- Fix W4A16 NVFP4 MoE dequantization and expert-load-balancing migration, including Nemotron-H #19929
- Restore routing-weight dtype after NCCL expert-parallel dispatch #20081
- Enable SM107 NVFP4 CuTe DSL dispatch and fix CUDA-core GEMM for wide FP8 outputs #20204, #20271
- Enable 96-head MLA in the FMHA autotuner and fix CuTe MLA page-table bounds #18599, #20256
- Prevent the SM120 DSA KV append crash from a missing stride factor #20062
- Bound packed indexer prefill logits and use 64-bit offsets for indexer K-cache #20164, #20190
- Keep DeepSeek-V4 tensor-parallel decode all-reduces off NCCL #20233
- Avoid deep-copying pending media loads in the DeepSeek-V4 tokenizer #20191
- Fence Helix all-to-all shared writes before asynchronous bulk copies #20221
- Match KDA decode fallback layout to prefill #19987
- Preserve indexed GDN state during Triton autotuning and align recurrent Q/K normalization #19859, #19860
- Propagate client import paths to remote MPI workers and refresh stale worker environments #19494, #20151
- Drive MPI progress from a native thread on pipeline-parallel ranks #20030
- Apply phase-appropriate MoE communication timeouts during warmup #20246
- Keep single-rank device-mesh topology separate from the job-wide mesh #20021
- Stop the statistics RPC server when its executor worker shuts down #20158
- Route FLUX.2 linear_in quantization scales correctly when splitting gate and up weights #20403
- Fix correctness issues on Rubin and in Kimi K3, KDA, MNNVL, and DFlash paths #19959, #19988
- Allocate DLPack managed tensors in one block to fix lifetime and shutdown issues #18310
- Reject paged-context FMHA configurations without the required fused context kernel #19746
- Honor models that require KV cache manager V2 instead of falling back to V1 #20093
- Raise a clear error for prompt files with no usable prompts #17733
-
Documentation
- Add Qwen3.5 GB300 agentic-serving guidance and curated configurations #20514
- Add the MoE Performance Guide and performance dashboard #19546
- Add a KV cache compression technical blog #20278
- Document NGC PyTorch wheel installation #20281
- Describe PyTorch as the sole execution backend and remove stale guidance #19986, #20350
- Correct the VisualGen constructor in the sparse-attention example #20549
-
Test & Infra
- Upgrade the NGC PyTorch base image to 26.09, retaining the 26.08 forward-compatibility driver #19679, #20252
- Update dependency constraints for base-image vulnerability fixes #20175
- Upgrade the Modeling V2 infrastructure #19977
- Disable BOLT consumption in pre-merge and stop emitting cortex-a53 veneers in BOLT builds #20496, #20024
- Fix build-system reconfiguration and move C++ tests next to their components #20037, #19886
- Update trtllm-gen FMHA artifacts and refresh the PrimTS vendor source #20054, #20155
- Simplify TorchSampler strategy grouping around the fused sampling kernel #20188
- Add agent-flow orchestration for parallel performance and modeling agents #18876
- Add GR100 single-GPU post-merge coverage #19894
- Add Kimi K3 and MiniMax-M3 AgentX performance-sanity coverage and single-phase benchmark lanes #20163
- Add ModelExpress post-merge accuracy canaries #18561
- Warm up KV-transfer connections before disaggregated performance-sanity measurements #18433
- Migrate model, attention, Nemotron, Mamba, Kimi, and disaggregated tests to KV cache manager V2 #20098, #20097, #20046, #20050, #19387
- Harden disaggregated and multi-node tests with isolated outputs, UCX/NCCL settings, and NVLink-domain placement #20140, #20031, #20189, #19492, #20418
- Run VisualGen Wan, Qwen-Image, and key-padding tests in CI and split LPIPS goldens by model #20004, #20063, #20198, #19237
- Run guardwords and release checks in nightly releases and pass source info to PLC scans #20135, #19594, #20449
- Skip test stages during maintenance, classify CI failures from step logs, and fix rerun JUnit reporting #18353, #19258, #20153
What's Changed
- [None][fix] Refuse paged-context FMHA configurations whose fused context kernel is absent by @brnguyen2 in #19746
- [None][feat] Split VisualGen LPIPS golden media by model family and refresh goldens by @yibinl-nvidia in #19237
- [None][chore] update bench_moe situ support list by @leslie-fang25 in #20009
- [None][fix] Enforce KV correction when overlap scheduling runs with speculation by @brnguyen2 in #19748
- [None][infra] Retry the mypy type-check step in the build stage by @weiminwang-nv in #19589
- [None][infra] Add blossom-ci authorized users by @trtllm-agent in #20025
- [None][fix] Ignore virtualenv and editable-install entries in the pytest sys.path check by @lori-ren in #19872
- [https://nvbugs/6812588][fix] Bound Qwen3.5 batch/seq len in multi-node disagg tests by @reasonsolo in #20019
- [None][fix] GLM tool and reasoning parsers: streaming matches the whole-text parse by @JunyiXu-nv in #19935
- [TRTLLM-10804][infra] Restore release checks in nightly releases by @niukuo in #19594
- [https://nvbugs/6842946][test] Unwaive Qwen3-VL disaggregated KV cache tests by @yizhang-nv in #19895
- [TRTLLMINF-474][infra] Upgrade NGC PyTorch base image to 26.09 by @EmmaQiaoCh in #19679
- [https://nvbugs/6849051][fix] The shared mock helper sets
get_fp4_mla_page_table_spec = Noneand both… by @trtllm-agent in #19790 - [None][feat] Rubin merge-back: SM107 MoE, CFT release op, MegaMoE multi-node bootstrap, core runtime fixes by @reasonsolo in #19183
- [TRTLLM-16667][feat] Add Minimax H3 Parallel Tiled VAE Decoding and Ulysses Support by @yibinl-nvidia in #19506
- [TRTLLM-14620][feat] Add ragged DSpark verification semantics by @zhaoyuanh-nvidia in #19707
- [None][fix] Admit unpaired draft KV mirrors at scheduling time and recompute a prompt tail on cache hits by @brnguyen2 in #19745
- [None][perf] Format the AUX-delivery debug message only when debug lo… by @roborluo in #19939
- [TRTLLM-16770][fix] Fix W4A16 NVFP4 MoE dequantization and EPLB migration, and add Nemotron-H to EPLB allowlist by @eopXD in #19929
- [https://nvbugs/6791675][fix] Propagate client sys.path to remote MPI workers by @trtllm-agent in #19494
- [https://nvbugs/6890897][test] Fix startup telemetry architecture expectation and unwaive test by @Mgluhovskoi in #20015
- [TRTLLM-16793][feat] Support multiple OpenEngine gRPC frontend processes by @tanmayv25 in #19870
- [TRTLLM-14620][feat] Add DSpark confidence verification policy by @zhaoyuanh-nvidia in #19818
- [https://nvbugs/6278337][fix] Unwaive DeepSeekV3Lite bf16 PP4 tests by @YihuiLu512 in #20020
- [https://nvbugs/6700265][test] Unwaive TestDeepSeekV3Lite test_fp8_block_scales by @allisonlim-nv in #20012
- [https://nvbugs/6718911][fix] Fix stale disagg rendezvous after requeue and CI watchdog cancelling long perf-sanity runs by @chenfeiz0326 in #20000
- [TRTLLM-12891][feat] Integrate Mooncake connector into KVCMv2 by @brb-nv in #19171
- [None][chore] remove orphaned process_streaming_events helper by @lonexreb in #16262
- [TRTLLM-16857][feat] Add RoPE precision options to NVFP4 cold-page compression by @Hudayday in #19391
- [TRTLLM-16708][feat] Honor per-request seeds in batched TorchSampler sampling via the fused kernel by @lori-ren in #19719
- [None][ci] waive pre-existing test failures on main by @brnguyen2 in #20074
- [TRTLLM-13996][feat] Multimodal encoder cache unification by @yechank-nvidia in #17876
- [TRTLLM-16621][feat] Support DeepSeek-V4.1-Flash by @ziyixiong-nv in #19727
- [None][perf] use GEMM patch projection and reuse fused QKV in Qwen vision encoders by @yechank-nvidia in #19797
- [None][infra] Waive 1 failed cases for main in pre-merge 63586 by @trtllm-agent in #20107
- [None][test] Update MiniMax M3 EAGLE3 draft model directory by @fredricz-20070104 in #20076
- [https://nvbugs/6818106][fix] Compare disaggregated logprobs on the KV reuse path by @yifeizhang-c in #19928
- [None][perf] Decode RGB and grayscale JPEGs with torchvision in ImageMediaIO by @yechank-nvidia in #19794
- [None][feat] Wire Rubin locality-domain execution through PyTorch models by @peaceh-nv in #19272
- [https://nvbugs/6661863][fix] Allocate one
PyMem_RawCalloc'd_DLPackBlock(managed tensor + inline… by @trtllm-agent in #18310 - [None][feat] Upgrade Blackwell cuteDSL MLA kernel for packed q heads and compact input by @pengbowang-nv in #19338
- [None][infra] Waive 1 failed cases for main in post-merge 3014 by @trtllm-agent in #20130
- [None][feat] BREAKING: Default to KV cache manager V2 and Python transceiver by @yizhang-nv in #17495
- [None][test] Prune Kimi-K2 accuracy tests by @xinhe-nv in #20026
- [None][infra] Add TensorRT-LLM Release 1.4 section to release notes by @EmmaQiaoCh in #20142
- [TRTLLM-16593][fix] Size expanded draft probabilities by batch capacity by @zhaoyangwang-nvidia in #19490
- [https://nvbugs/6865617][fix] Poll the disagg gen-init KV receive fence instead of blocking the overlap scheduler by @trtllm-agent in #19857
- [TRTLLMINF-481][fix] handle outdated unresolved review threads by @ZhanruiSunCh in #20148
- [https://nvbugs/6838020][fix] Tolerate near-tie greedy flips in KV pool rebalance accuracy test by @thorjohnsen in #19809
- [None][feat] Let a model require KV cache manager v2 instead of being demoted to v1 by @brnguyen2 in #20093
- [TRTLLM-16956][feat] Modeling V2 dynamic switch with LLM config and args by @WeiHaocheng in #20077
- [None][test] Split QA test lists by GPU marker requirements by @crazydemo in #20150
- [None][fix] Keep a one-rank DeviceMeshTopology off the job-wide device mesh by @ishovkun in #20021
- [TRTLLM-16901][fix] SID-GR optimization 1/N: Fix speculative beam d2h races by @mikeiovine in #20064
- [None][chore] Update trtllm-gen FMHA artifacts by @achartier in #20054
- [None][refactor] overhaul NVLink one-sided all-to-all by @zhangcl in #19610
- [None][chore] enable cutedsl rubin fc1 swiglu clamp by @leslie-fang25 in #19488
- [None][fix] bench_moe: release each candidate's MoE module before next one by @leslie-fang25 in #20123
- [None][infra] Waive 2 failed cases for main in pre-merge 63757 by @trtllm-agent in #20179
- [None][perf] Speed up MiniMax-H3 video-VAE decode losslessly by @karljang in #19774
- [TRTLLM-16304][feat] Upgrade the infrastructure of modeling V2 by @WeiHaocheng in #19977
- [https://nvbugs/6891541][fix] Stop the stats RPC server on GenerationExecutorWorker shutdown by @lori-ren in #20158
- [TRTLLM-16602][fix] Make the waiting-for-feedback stale PR lifecycle bot-aware by @karljang in #19739
- [None][infra] Waive 2 failed cases for main in post-merge 3014 by @trtllm-agent in #20118
- [https://nvbugs/6877253][fix] Disagg MTP KVCache Transfer AL Test by @allisonlim-nv in #20122
- [None][feat] Deterministic mode for the self-sampling GVR V2 top-K decode (fp32) by @longcheng-nv in #20100
- [None][perf] reduce multimodal encoder output copies by @yechank-nvidia in #19799
- [None][chore] Refresh PrimTS vendor source onto FlashInfer main by @yuxianq in #20155
- [None][fix] Restore routing-weight dtype after NcclEP dispatch by @peaceh-nv in #20081
- [None][test] Migrate model and executor fixtures to KV cache manager V2 by @yizhang-nv in #20098
- [https://nvbugs/6658015][fix] Pin uvloop<0.23.0 to restore trtllm-serve streaming throughput by @chenfeiz0326 in #19992
- [TRTLLM-17005][refactor] Component-local C++ Tests by @Funatiq in #19886
- [None][infra] Waive 3 failed cases for main in pre-merge 63827 by @trtllm-agent in #20219
- [https://nvbugs/6908030][test] Use IPv4 loopback for VisualGen test rendezvous by @luyiyun1021 in #20203
- [None][fix] raise clear error for prompt file with no usable prompts by @lonexreb in #17733
- [None][fix] Set use_kv_cache_manager_v2="auto" in required-V2 resolution tests by @thorjohnsen in #20177
- [None][fix] Align GDN recurrent Q/K normalization with prefill by @shikicloud in #19860
- [None][fix] Preserve indexed GDN state during Triton autotuning by @shikicloud in #19859
- [None][infra] Waive 8 failed cases for main in pre-merge 63914 by @trtllm-agent in #20234
- [https://nvbugs/6812588][fix] Apply the cluster UCX rules in multi-node disagg tests by @reasonsolo in #20189
- [https://nvbugs/6762594][test] Run VisualGen key padding mask parity test in CPU CI by @luyiyun1021 in #20198
- [https://nvbugs/6762590][test] Run Qwen-Image VisualGen unit tests in CI by @karljang in #20063
- [https://nvbugs/6902353][chore] waive test_transfer_lifecycle_gpu by @tburt-nv in #20235
- [TRTLLM-16212][feat] Unified caching via TRTLLM_CACHE_DIR environment variable by @AlessioNetti in #18897
- [https://nvbugs/6891758][fix] Fence Helix all-to-all shared writes before async bulk copy by @JunyiXu-nv in #20221
- [None][infra] switch mirrors from URM to PDX by @tburt-nv in #19862
- [TRTLLM-16104][test] Add ModelExpress post-merge accuracy canaries by @moraxu in #18561
- [None][feat] CUTEDSL: switch the Rubin NVFP4 FC1 weight layout to gate16/up16 by @leslie-fang25 in #20181
- [https://nvbugs/6852440][fix] Set constraint to fastapi version by @HuiGao-NV in #20161
- [TRTLLM-14620][feat] Integrate calibrated DSpark confidence scoring by @zhaoyuanh-nvidia in #20071
- [https://nvbugs/6911105][fix] Remove sparse metadata preparation waiver by @ziyixiong-nv in #20220
- [None][test] Complete encoder-decoder V2 test migration by @yizhang-nv in #20096
- [None][feat] Support NVFP4 GLM-5.3-Flash checkpoints by @ruocheng-nv in #20127
- [None][perf] Avoid cuBLAS's fallback in the KDA prefill projection by @ruocheng-nv in #20084
- [None][infra] Vulnerability fix by @yuanjingx87 in #20175
- [None][perf] Fuse MiniMax-H3 AdaLN RMSNorm with per-token modulation by @karljang in #19772
- [None][fix] Fix issues in the build system during reconfiguration by @tongyuantongyu in #20037
- [https://nvbugs/6762593][fix] Add untracked Wan test files to CI test lists by @o-stoner in #20004
- [None][test] Migrate Nemotron and Mamba validation to KV cache V2 by @yizhang-nv in #20046
- [TRTLLMINF-336][fix] Stop emitting cortex-a53-843419 veneers in BOLT builds by @mlefeb01 in #20024
- [None][feat] Stream native KV events and expose routing load by @tanmayv25 in #19440
- [TRTLLM-16315][infra] relax CBTS import-time coverage bounds by @crazydemo in #19013
- [TRTLLM-16316][feat] Generalize Runtime Sleep/Wakeup for LLM and
trtllm-serveby @Funatiq in #19016 - [TRTLLM-16012][feat] Restrict torch.compile to piecewise graph capture only by @AlessioNetti in #18366
- [TRTLLM-15863][feat] Export the Attention module-layer classes from _torch.attention lazily by @YihuiLu512 in #20218
- [None][chore] Remove permanently skipped DeepSeek-V3-Lite CUTEDSL FP8 tests by @trtllm-agent in #20131
- [TRTLLM-15864][chore] Consolidate the VisualGen attention domain under _torch/visual_gen/attention/ by @YihuiLu512 in #20214
- [TRTLLMINF-381][fix] classify CI failures from originating step logs by @hanjingtian in #19258
- [None][test] Drop fastapi upper-bound assertion from web framework security floors test by @HuiGao-NV in #20274
- [https://nvbugs/6564113][test] Warm up KV-cache transfer connections before disagg e2e perf sanity by @chuangz0 in #18433
- [TRTLLM-12288][feat] revert all the changes of the PR#14775 by @JadoTu in #15772
- [https://nvbugs/6812332][fix] Reshape the KDA decode fallback core to match prefill by @yifeizhang-c in #19987
- [None][doc] Add KV cache compression tech blog by @Hudayday in #20278
- [None][fix] Kimi K3 / KDA / MNNVL / DFlash: fixes for defects on main by @vsabavat in #19988
- [None][fix] Enable VMM CUDA IPC in Kubernetes GPU CI by @yizhang-nv in #20042
- [TRTLLM-16993][fix] Preserve LoRA cache when evictable pages are insufficient by @zhaoyangwang-nvidia in #20212
- [TRTLLM-16186][feat] Add KV cache lending API for transfer backends by @Shixiaowei02 in #19722
- [None][infra] Waive 2 failed cases for main in pre-merge 64127 by @trtllm-agent in #20296
- [None][infra] Waive 1 failed cases for main in pre-merge 64154 by @trtllm-agent in #20302
- [TRTLLM-16770][feat] Support LiLiCorr draft checkpoints in DFlash by @eopXD in #19856
- [None][infra] Waive 2 failed cases for main in pre-merge 64155 by @trtllm-agent in #20304
- [None][test] Migrate ordinary disaggregated coverage to KV cache manager V2 by @yizhang-nv in #20050
- [None][infra] Reuse PLC pipeline result if commit not changed by @yuanjingx87 in #19562
- [None][fix] Fix SM120 DSA KV append crash on missing _cached_stride_factor by @nvchenghaoz in #20062
- [None][fix] Merge back #19593 from release/1.3: Make MoE communication timeouts follow the warmup phase by @xxi-nv in #20246
- [None][perf] Cut per-response overhead in the LLM API streaming result path by @jthomson04 in #20244
- [TRTLLM-15864][chore] Add deprecated forwarding shims for the old VisualGen attention paths by @YihuiLu512 in #20215
- [None][perf] MiniMax-M3: remove the host overhead that made NVFP4 KV slower than FP8 by @zheyuf in #19974
- [None][test] Add a timeout to the subprocess.run call in test_bolt by @chenfeiz0326 in #20305
- [https://nvbugs/6650817][fix] Drive MPI progress from a native thread on PP ranks by @YihuiLu512 in #20030
- [https://nvbugs/6921137][fix] Fix CuTe MLA page-table batch bounds by @pengbowang-nv in #20256
- [https://nvbugs/6728119][fix] Keep NCCL off PCIe P2P in disagg tests on pre-Hopper nodes by @chuangz0 in #19492
- [TRTLLM-16628][refactor] BREAKING: Remove unused LlmRequest fields by @Funatiq in #19967
- [TRTLLMINF-488][infra] Fix rerun junit reporting by @yiqingy0 in #20153
- [https://nvbugs/6905381][fix] Fix CUDA-core GEMM launch for wide FP8 outputs by @eopXD in #20271
- [None][feat] Develop agent flow orchestration and support parallel execution of modeling agent based on it by @WeiHaocheng in #18876
- [TRTLLM-16460][fix] deepseek_v4 tokenizer: do not deep-copy the OpenAI server's pending media loads by @Wanli-Jiang in #20191
- [None][test] Migrate attention fixtures and prims-ts validation to KV cache V2 by @yizhang-nv in #20097
- [None][perf] Do not block the executor on KV bounce recv-region backp… by @roborluo in #19940
- [None][fix] Rubin merge-back: correctness fixes by @reasonsolo in #19959
- [None][perf] Score only visible pools on BF16 tensor cores in the GLM-5.3-Flash indexer by @ruocheng-nv in #20251
- [TRTLLM-16460][fix] indexer K-cache gather/scatter: compute the contiguous-side offset in 64 bits by @Wanli-Jiang in #20190
- [TRTLLM-10804][doc] Document NGC PyTorch wheel installation by @niukuo in #20281
- [https://nvbugs/6878353][test] Unwaive DeepSeekV3Lite nvfp4 tp4 torch_compile test on DGX_B300 by @YihuiLu512 in #20282
- [None][fix] Restrict large-model four-GPU perf cases to VR200 by @yufeiwu-nv in #20121
- [TRTLLM-16336][feat] Add the qwen4_exp modeling_v2 target for Qwen3.8-Flash-Next-NVFP4 by @Wanli-Jiang in #20143
- [None][test] Patch moe_comm_serving_timeouts in the phase-selective warmup test by @chenfeiz0326 in #20362
- [None][chore] Remove ArrayView and use
std::spaninstead by @yihwang-nv in #20205 - [TRTLLM-16944][refactor] Simplify TorchSampler strategy grouping and fast path around the fused sampling kernel by @lori-ren in #20188
- [None][test] Validate Kimi default KVCM V2 accuracy and disaggregated transfer by @yizhang-nv in #19387
- [TRTLLMINF-353][infra] skip test stages during maintenance by @hanjingtian in #18353
- [TRTLLM-14146][fix] Correct CuteDSL MoE autotune routing inputs by @Barry-Delaney in #17410
- [None][infra] Waive 1 failed cases for main in pre-merge 64375 by @trtllm-agent in #20427
- [None][feat] Publish serving configuration schemas by @Mgluhovskoi in #19906
- [https://nvbugs/6800223][fix] Fix stale KvCacheCreator fixtures in budget split tests by @lowsfer in #20399
- [TRTLLMINF-486][infra] Get sonar-scanner-cli from internal Artifactory and verify its SHA-256 by @sharabeshj-nvda in #20240
- [None][infra] Reuse rank processes across visual_gen multi-GPU tests by @ishovkun in #20239
- [https://nvbugs/6919428][fix] Keep DeepSeek-V4 TP decode all-reduces off NCCL by @chenfeiz0326 in #20233
- [https://nvbugs/6919819][perf] Autotune the CuTeDSL FC2 N tile again when the override is unset by @chenfeiz0326 in #20277
- [https://nvbugs/6920456][fix] Describe PyTorch as the sole execution backend in the architecture overview by @trtllm-agent in #20350
- [TRTLLM-16992][perf] Use paged attention for MiniMax-M3 dense layers by @zhaoyangwang-nvidia in #20159
- [None][feat] make KVCacheManagerV2 pool rebalancing parameters configurable by @thorjohnsen in #19077
- [None][perf] primsTS dense bf16, qk-bf16/pv-fp8, fp8 fmha context bringup by @harrisonzhy in #20006
- [None][feat] VisualGen: token-sharded tensor parallelism (tp_layout) for Wan by @chang-l in #19713
- [None][test] Update the gemma4 and Qwen3.6 case for spark by @JennyLiu-nv in #20210
- [https://nvbugs/6888251][test] Disable THP for KV cache V2 host tiers in disagg tests by @chuangz0 in #20032
- [None][fix] Reduce deterministic GVR V2 top-K overflow overhead by @longcheng-nv in #20290
- [TRTLLMINF-439][infra] Add GR100 post-merge single-GPU stage by @yiqingy0 in #19894
- [https://nvbugs/6836304][fix] Forward-port stale MPI worker env fix to main and unwaive multimodal tests by @sunnyqgg in #20151
- [https://nvbugs/6836097][test] Restrict UCX TCP to loopback in single-node disagg tests by @chuangz0 in #20031
- [None][fix] Enable SM107 NVFP4 CuTe DSL dispatch by @peaceh-nv in #20204
- [None][infra] Add blossom-ci authorized users by @trtllm-agent in #20461
- [https://nvbugs/6691772][fix] Update trtllm-gen fmha autotuner to enable 96 head MLA by @pengbowang-nv in #18599
- [None][test] Exclude Inductor subproc threads from integration threadleak check by @HuiGao-NV in #20294
- [None][doc] Add MoE Performance Guide and Perf Dashboard by @guqiqi in #19546
- [https://nvbugs/6913517][fix] Drop launcher spawn-proxy env in the disagg cancel marathon by @Shixiaowei02 in #20420
- [https://nvbugs/6902353][chore] Waive test_transfer_lifecycle_gpu[destination_fatal] by @lowsfer in #20457
- [https://nvbugs/6926547][fix] Route FLUX.2 linear_in quantization sca… by @yingguo-trt in #20403
- [https://nvbugs/6893965][fix] Extend disagg server start timeout in multi-node disagg test by @reasonsolo in #20453
- [TRTLLM-16780][feat] Honor per-request seeds in one-model speculative decoding's acceptance step by @lori-ren in #20147
- [TRTLLM-15891][infra] Refactor CBTS Collection by @tongyuantongyu in #18299
- [TRTLLM-16972][fix] Reclaim idle eager CUTLASS MoE workspace by @zhaoyangwang-nvidia in #19981
- [TRTLLM-16619][doc] Remove stale execution backend guidance by @Funatiq in #19986
- [https://nvbugs/6900756][fix] Bound packed indexer prefill logits by grouping context requests by @thorjohnsen in #20164
- [None][feat] Add opt-in MiniMax-H3 sleep/wake support by @rystewart-nvidia in #19604
- [https://nvbugs/6713231][fix] Guard Whisper cross-KV reuse without encoder tokens by @pranav-nvidia in #19302
- [https://nvbugs/6902355][fix] Keep TopK rows in the DSA sparse MLA test KV pool by @lfr-0531 in #20283
- [https://nvbugs/6811958][chore] Unwaive test_build_capture_manifest_matches_committed_golden by @farazkh80 in #20057
- [None][chore] Remove is_first_draft dead code by @mikeiovine in #19867
- [None][fix] disable bolt by @tburt-nv in #20496
- [None][infra] Waive 1 failed cases for main in pre-merge 64667 by @trtllm-agent in #20478
- [None][infra] Waive 1 failed cases for main in pre-merge 64680 by @trtllm-agent in #20500
- [TRTLLM-10804][infra] Run guardwords scan in nightly releases by @niukuo in #20135
- [https://nvbugs/6843484][fix] Keep multi-node aggregated perf-sanity jobs in one NVLink domain by @chenfeiz0326 in #20418
- [None][feat] Kimi K3 optimizations on Rubin by @reasonsolo in #19960
- [https://nvbugs/6713424][fix] Flush the HF streaming detokenizer on the final response; fix the AgentX aiperf install check by @chenfeiz0326 in #20424
- [None][doc] Document Qwen3.5 GB300 agentic serving by @Ankur-singh in #20514
- [None][infra] Waive 4 failed cases for main in pre-merge 64735 by @trtllm-agent in #20505
- [https://nvbugs/6919405][fix] Keep the 26.08 CUDA forward-compat driver on the 26.09 image by @chenfeiz0326 in #20252
- [https://nvbugs/6919819][fix] Give non-attention-DP overlap runs the retiring-request seat headroom by @chenfeiz0326 in #20250
- [None][infra] Waive 1 failed cases for main in pre-merge 64813 by @trtllm-agent in #20523
- [None][test] Kimi-K3 and MiniMax-M3 AgentX perf-sanity cases, AgentX single-phase lanes, drop gpt-oss by @chenfeiz0326 in #20163
- [None][fix] Keep MiniMax-M3 streaming and non-streaming reasoning parsing in step by @pranav-nvidia in #20442
- [None][perf] Fill the KVCM2 host tier progressively by @lowsfer in #19650
- [None][feat] Add spec_dec_variant to telemetry by @mikeiovine in #20432
- [None][fix] Pass source repository and commit to PLC container scans by @niukuo in #20449
- [None][fix] Size the Blackwell spec-dec tree mask for the SwapsMmaAb kernel layout by @lori-ren in #20223
- [https://nvbugs/6933917][docs] Fix VisualGen constructor in sparse at… by @yingguo-trt in #20549
- [https://nvbugs/6899682][fix] Isolate disaggregated client outputs per test by @chuangz0 in #20140
- [None][infra] Waive 1 failed cases for main in pre-merge 64813 by @trtllm-agent in #20563
- [None][infra] Waive 1 failed cases for main in post-merge 3026 by @trtllm-agent in #20542
New Contributors
- @harrisonzhy made their first contribution in #20006
- @rystewart-nvidia made their first contribution in #19604
- @Ankur-singh made their first contribution in #20514
Full Changelog: v1.4.0rc0...v1.4.0rc1