Highlights
-
Known Issues
- GPT-OSS Eagle3 speculative decoding may hang, produce non-terminating output, or lose accuracy when using multi-GPU execution.
- GPT-OSS W4 inference with the Triton MoE backend may intermittently hang or lose accuracy in four-GPU data-parallel or expert-parallel configurations.
- GPT-OSS Harmony tool calls may continue generating after the tool-call delimiter, resulting in malformed or repeated tool calls and an incorrect finish reason.
- Qwen3-235B NVFP4 inference on B200 may intermittently lose accuracy when all-reduce autotuning is enabled. Set
TLLM_DISABLE_ALLREDUCE_AUTOTUNE=1to avoid the issue. - Qwen3-6B-A3B NVFP4 W4A16 inference may fail during initialization on Blackwell SM120 and SM121 GPUs.
- MiniMax-M3 MXFP8 inference using piecewise CUDA graphs with the Triton sparse-attention implementation may crash during initialization on B300 and GB300 systems. Use the MSA implementation to avoid the affected path.
- Kimi-K3-NVFP4 may fail to initialize its tokenizer with the Transformers version included in DLFW 26.08.
- Nemotron-H weight updates through Ray may OOM or produce incorrect logits with DLFW 26.08 because compatible Mamba dependencies are unavailable.
- mBART encoder-decoder inference may hang during the first generation request with DLFW 26.08.
- Cosmos3 pipelines may fail to load when VAE CPU offload is enabled. Disable VAE CPU offload to avoid the affected path.
- Multi-GPU disaggregated serving may hang during worker startup for TinyLlama deployments using pipeline or tensor parallelism, and for GPT-OSS-120B generation workers using TP4 on GB200.
-
Model Support
- Add MiniMax-H3 VisualGen support for text-to-video with audio and first/last-frame-to-video with audio, with BF16 and FP8 blockwise configurations #18733
- Enable Nemotron 3.5 Super VL serving with multimodal model delegation and automatic reasoning and tool-parser selection #18804
- Add Cosmos3 Edge Policy DROID support for state-conditioned robot-policy rollout and action generation through VisualGen and
trtllm-serve#18463
-
API
- Remove deprecated two-model speculative decoding and related configuration fields (BREAKING) #18721
- Remove unused legacy C++ runtime, batch-manager APIs, and Python bindings (BREAKING) #18846
- Add Anthropic-compatible Messages, token-counting, and Message Batches APIs to
trtllm-serve#18289 - Add LLM profiling methods and serving endpoints across supported execution modes #13872
- Enable streaming OpenEngine
GenerateRPC with disaggregated-serving request and control integration #17992
-
Feature
- Integrate PrimTS FMHA and block-sparse attention with unified runtime inputs #17399, #18815
- Add cuDNN as a selectable attention backend for supported workloads #18075
- Add FlashInfer VisualGen attention and FP4 Conv3d for parallel Wan VAE #18174, #17262
- Support Ray-orchestrated postprocessing workers for efficient distributed output handling #18399
- Preserve sub-agent conversation affinity across disaggregated-serving requests and workers #18684
- Add optional KV guard pages and fresh-page-fill diagnostics for debugging #18754
- Derive per-layer KV-cache windows from hybrid model layer types automatically #18767
- Publish KV-cache events through
StreamingEventfor higher-throughput subscriber delivery #17023 - Admit one context per uncached prefix, preventing duplicate prefix recomputation #18195
- Add in-graph temperature, top-k, and top-p sampling for batched requests #18437
- Add Kimi K3 KDA replay using KV-cache manager V2 #18294
- Page DSpark drafter contexts through the dedicated draft KV-cache manager #18343
- Add GVR V2 self-sampling prefill and two-level decode top-k dispatch #18702, #18446
- Support image inputs through the Triton LLM API backend #18381
- Optimize Qwen3.5 and Qwen3.8 Flash-Next generation, MoE, GDN, and sampling #18553, #17365, #18883, #18714, #18820, #18845
- Accelerate long-sequence KV-cache resizing and asynchronous PP1 disaggregated transfers #18541, #18150
- Optimize MiniMax-M3 sparse decode, HCA decode, and NVFP4 Marlin normalization #18611, #18869, #17685
- Apply NUMA-aware CPU affinity across serving worker threads and processes #18701
-
Fix
- Prevent generation workers from re-expanding multimodal placeholders during disaggregated serving #18886
- Warn when tool-call markup cannot be parsed into a valid call #18865
- Enable breakable prefill CUDA graphs for Nemotron-H hybrid models #18888
- Fix KVCM V2 buffers, vocabulary sizing, page tables, draft reuse, and uploads #18824, #18957, #18885, #17643, #18093, #18694
- Re-plan FlashInfer after page-table changes and bound eager plan-cache growth #18769, #18557
- Stabilize MoE LoRA CUDA-graph storage and propagate per-layer adapter metadata #18972, #18527
- Correct SM107 FMHA, FP8 GEMM, and NVFP4 KV-cache capability routing #18758, #18945, #18612, #18674
- Fix quantized MoE sharding, providers, scales, and Kimi K3 SiTu formats #18870, #18770, #18772, #18709
- Restore DSA TopK workspace lifetimes, row sizing, and warmup behavior #18624, #18683
- Fix XQA synchronization and attention-sink numerical accuracy during decode #18141
- Harden distributed execution across UserBuffers, VMM-backed DWDP, and MNNVL layouts #18037, #18644, #18715
- Correct speculative token accounting and Eagle3 KV block-table rotation #18629, #18564
- Fix disaggregated KV ownership, relay sends, MTP accuracy, and launch ordering #18041, #18135, #18554, #18613
- Align generation-only request detection across Python, C++, scheduling, and disaggregation #18858
- Correct custom-tokenizer alias resolution during model initialization in LLM arguments #18768
- Densify unsupported SM120 BMM inputs and restore FlashInfer MLA dispatch #18678, #18653
- Release MegaMoE buffers during teardown and page out DeepSeek-V4 weights #18182, #18832
- Share Kimi auxiliary streams safely across model components during execution #18728
- Fail guided-decoding requests cleanly when grammars reach dead-end states #18896
- Stabilize VisualGen randomness, quantization, worker cleanup, and serving clocks #18477, #18750, #18030, #18686
- Load mixed-precision Qwen3.8-Flash-Next NVFP4 checkpoints correctly across supported backends #18823
- Support MoE two-sided preparation beyond 128 expert-parallel ranks in large deployments #18799
- Preserve configured Mamba snapshot placement across runtime initialization and cache reuse #18724
- Install built wheels using the active virtual-environment interpreter during development workflows #18773
- Match fused finish-reason checks to the sampler's actual scratch row #18894
- Update stale attention and KV-cache imports blocking backend initialization #18771
- Improve errors for invalid roles, missing wheels, and
EBADHANDLEconfig reads #17730, #18703, #18352 - Update vendored PrimTS attention with FlashInfer follow-up corrections for stability #18996
-
Documentation
- Add KV-cache compression guides, configuration guidance, and runnable user examples #18587
- Add VisualGen quantized-attention, sparse-attention, and CUDA-graph implementation guides for developers #18792, #19023
- Expand sparse-attention documentation with MQA and GQA developer guidance #18106
- Document generation-side timing segments used in serving performance benchmarks #18213
- Correct serving commands, configuration instructions, and broken example snippets #18500, #18901, #19009
- Repair documentation links and images while reducing Sphinx build warnings #18984, #18992, #19007, #19050
-
Test & Infra
- Upgrade build and testing infrastructure to NGC PyTorch 26.08 dependencies #18126
- Expand coverage for BART, DeciLM, guided/speculative decoding, Kimi, Qwen, and Gemma #19017, #18948, #18908, #18905, #18699, #18655
- Add performance coverage for Qwen, DeepSeek, Kimi, and disaggregated deployments #19012, #18853, #18875, #18806, #18633
- Refine VisualGen serving benchmarks and performance-sanity validation coverage across models #18632
- Add disaggregated lifecycle telemetry and checkpoint-startup measurements to performance tests #18990, #18608, #18856
- Extend performance automation with parallel optimization, remote execution, and timeline analysis #18568, #18789, #18805, #18825
- Align Hopper and multi-node disaggregated coverage with Python transceiver runtime #18941, #18828, #18404
- Improve CI attribution using typed cleanup failures, timeouts, reporting, and retries #18049, #18812, #18590, #17630, #17069
- Stabilize batching, Eagle VSWA, Kimi streams, LoRA scheduling, and LPIPS tests #19005, #18986, #19088, #18949, #18386, #18384
- Add strict documentation-link and declarative-import validation coverage across CI stages #18718, #18586
- Modernize CI with GB300 flex scheduling, deferral, Artifactory images, and labeling #19074, #18385, #18791, #18729
What's Changed
- [TRTLLM-15011][infra] Unwaive TestDeepSeekV4Flash::test_auto_dtype by @lowsfer in #18000
- [None][refactor] Table-drive the lazy-safetensors model-type check in HfWeightLoader by @moraxu in #18681
- [https://nvbugs/6593378][baseline] Overwrite partial Slurm artifact retries by @BowenFu in #17630
- [https://nvbugs/6674826][fix] Drop overlap hint from KV cache page-index upload by @lowsfer in #18694
- [NVBUG-6689820][test] unwaive Llama disaggregated serving test by @chienchunhung in #18695
- [https://nvbugs/6683840][fix] Join the encoder launch before the decoder forward by @pranav-nvidia in #18613
- [None][feat] Add SM107 NVFP4 CuTe DSL fused MoE kernels and integration by @zhangcl in #18498
- [None][feat] Enable Rubin (SM107) trtllm-gen FMHA features by @kris1025 in #18518
- [None][fix] Revert #18445 by @tburt-nv in #18736
- [None][feat] Add SM107 quantized dense and DSV4 CuTe DSL kernels by @farazkh80 in #18546
- [TRTLLM-14558][chore] Consolidate the Attention domain: modules, backends and unit tests by @YihuiLu512 in #17968
- [https://nvbugs/6707518][fix] Fix Kimi K3 spec dec test by @mikeiovine in #18682
- [None][test] Add the 40-GPU AgentX DeepSeek-V4-Pro-DSpark case to post-merge and switch both cases to the NVFP4 checkpoint by @chenfeiz0326 in #18633
- [https://nvbugs/6480110][fix] Fall back to FP8 KV cache when NVFP4 KV cache is requested on SM107 by @farazkh80 in #18674
- [TRTLLM-14846][chore] Group KV Cache managers and reunite the Disaggregation transceiver halves by @lori-ren in #17899
- [None][feat] Add Cosmos3 Edge Policy DROID support by @ishovkun in #18463
- [https://nvbugs/6676352][doc] Fix missing backslash in prepare-dataset command block by @FrankD412 in #18500
- [None][feat] Add FlashInfer VisualGen attention backend by @yumin066 in #18174
- [TRTLLM-15752][refactor] Extract LoRA parameter construction into engine/lora.py by @lori-ren in #18652
- [None][feat] integrate PrimTS FMHA kernels by @yuxianq in #17399
- [TRTLLMINF-357][infra] Consolidate runBranchesWithInfraDefer into shared lib by @brnguyen2 in #18385
- [https://nvbugs/6720250][fix] Use adjusted clock for VisualGen timing by @chienchunhung in #18686
- [https://nvbugs/6676406][fix] Fix DSV4 disagg MTP accuracy by @mikeiovine in #18554
- [TRTLLM-15316][fix] SM107 FP8 GEMM routing and runtime guards (follow-up to #17485) by @farazkh80 in #18612
- [None][fix] Update stale attention and KV-cache import paths that break main by @brnguyen2 in #18771
- [None][fix] Self-sampling top-k host: physical row-width envelope and exact-row warmup population by @longcheng-nv in #18683
- [https://nvbugs/6594241][fix] increase timeout for test_disaggregated_gpt_oss_120b_harmony by @reasonsolo in #18649
- [None][fix] validate the layer-wise replay request against the calibration before it runs by @fredricz-20070104 in #18260
- [None][test] Enable strict checks for declarative extra import path by @tongyuantongyu in #18586
- [None][feat] lm_eval: let the CLI override a task's stop strings by @brnguyen2 in #18751
- [None][test] Fix layerwise replay bugs by @fredricz-20070104 in #18604
- [https://nvbugs/6428069][fix] Drain only the due PP relay send before forward and unwaive the disagg PP tests by @lori-ren in #18135
- [None][test] Add func and perf cases for Qwen3.6-35B-A3B and gemma4 on Spark and delete llm_spark_core.txt testlist by @JennyLiu-nv in #18655
- [TRTLLMINF-250][infra] Migrate BoltProfileGen JNLP image to Artifactory by @chzblych in #18791
- [None][fix] bench_moe: prune MNNVL comm methods that cannot span nodes by @guqiqi in #18785
- [https://nvbugs/6682352][fix] rebuild MNNVL communicator on layout change by @xxi-nv in #18715
- [None][test] Remove H20 in QA perf test by @yufeiwu-nv in #18648
- [None][docs] Add KV cache compression documentation and examples by @Hudayday in #18587
- [None][test] add Kimi K3 feature matrix coverage by @cascade812 in #18699
- [None][test] check relative links in documentation by @StanleySun639 in #18718
- [https://nvbugs/6621358][fix] Enable one-model draft KV reuse in cache manager V2 by @yizhang-nv in #18093
- [None][feat] support Kimi K3 KDA replay with KV cache manager V2 by @VALLIS-NERIA in #18294
- [None][feat] Add opt-in GPU keepalive to the benchmark fill gate by @qiaoxj07 in #18749
- [None][chore] point PrimTS vendor source to dev branch by @yuxianq in #18833
- [None][chore] Cleanup kv cache manager by @Funatiq in #18538
- [None][fix] Install with the venv interpreter, not sys.executable by @brnguyen2 in #18773
- [None][fix] Preserve configured Mamba snapshot placement by @liji-nv in #18724
- [None][feat] Add --trtllm-custom-output-len to override OSL for the trtllm_custom dataset by @qiaoxj07 in #18790
- [https://nvbugs/6642522][fix] Prevent orphaned VisualGen workers by @ishovkun in #18030
- [None][feat] Two-level GVR decode top-K dispatch; remove the CUDA heuristic and temporal-only prior state by @longcheng-nv in #18446
- [None][test] add a basic disaggregated multi-node tier by @fredricz-20070104 in #18404
- [None][test] align perf disagg cases to the PYTHON transceiver runtime by @fredricz-20070104 in #18828
- [https://nvbugs/6644226][fix] page out MoE safetensors during weight load regardless of EPLB by @chenfeiz0326 in #18832
- [None][feat] add parallel feature for perf-optimize in agent flow by @GuanhuaWang2001 in #18568
- [TRTLLM-14558][chore] Add the forwarding modules for the retired Attention paths by @YihuiLu512 in #17969
- [None][test] Cleanup/multinode test list by @xinhe-nv in #18490
- [TRTLLM-14963][TRTLLM-14966][refactor] Give the DeepGEMM MoE implementations canonical identities and add an impl_id pin by @xxi-nv in #18748
- [TRTLLMINF-334][infra] Report FAILURE for unrerun test failures skipped due to duration/no-signature match by @yiqingy0 in #18590
- [None][chore] Reuse datas in datasets to build test prompts with number larger than origin dataset by @HuiGao-NV in #15952
- [None][feat] Add lightweight remote execution to performance workflows by @GuanhuaWang2001 in #18789
- [None][chore] add attention team to vendor lock owners by @yuxianq in #18840
- [None][fix] Let the kernel ledger record comm kernels and partial ncu captures without hiding the gaps by @kaiyux in #18574
- [TRTLLM-15621][feat] Support in-graph sampling for temperature/top-k/top-p batches by @zhaoyangwang-nvidia in #18437
- [None][fix] Make LlmRequest.is_generation_only_request a property to match the C++ binding by @eopXD in #18858
- [https://nvbugs/6621358][test] Unwaive tests tracked by NVBug 6621358 by @yizhang-nv in #18829
- [TRTLLM-15892][feat] Add Anthropic Messages API support to trtllm-serve by @JunyiXu-nv in #18289
- [TRTLLM-13767][feat] integrate FP4 Conv3d into parallel Wan VAE by @taianz-nv in #17262
- [TRTLLMINF-396][ci] Auto-label fully approved pre-merge PRs by @ZhanruiSunCh in #18729
- [None][chore] Cleanup unused C++ algorithms by @Funatiq in #18540
- [TRTLLM-15033][fix] Revert #17800 FlashInfer CuTeDSL MLA dispatch by @pengbowang-nv in #18653
- [None][perf] speed up the block-scale MoE, GDN and sampler decode paths for Qwen3.8-flash-next by @Wanli-Jiang in #18714
- [None][feat] Decompose the nsys timeline in the perf-analyze/optimize workflows by @kaiyux in #18805
- [TRTLLM-11484][fix] Address Quantization Regressions for VisualGen CuTeDSL FMHA by @xrq-phys in #18750
- [https://nvbugs/6682113][fix] give gb300 v4-pro con4301 ctx_only perf-sanity the 120min budget its workload already carries by @chenfeiz0326 in #18859
- [None][test] update Coderabbit review by @xinhe-nv in #18857
- [None][feat] perf-optimize: add elimination and overlap questions to the per-kernel coverage contract by @kaiyux in #18825
- [https://nvbugs/6667807][fix] Support more than 128 EP ranks in MoE two-sided prepare cumsum by @dongfengy in #18799
- [None][feat] Page the DSpark drafter context through the draft KV cache manager by @dc3671 in #18343
- [None][test] Add Kimi K3 TEP8 performance coverage by @yufeiwu-nv in #18806
- [https://nvbugs/6702267][fix] Stage
kv_block_ids_per_sequnrotated so the block table matches… by @trtllm-agent in #18564 - [TRTLLM-16103][feat] protect private model architecture names by @Mgluhovskoi in #18455
- [None][test] Add sparse MQA/GQA coverage and support documentation by @lfr-0531 in #18106
- [None][perf] Bypass static transfer admission for async Python Scheduler V2 by @chienchunhung in #18150
- [https://nvbugs/6676844][test] Unwaive test_wan_t2v_example after CI checkpoint storage fix by @chang-l in #18732
- [https://nvbugs/6721560][fix] Read the conditioning image in the three stale callers… by @trtllm-agent in #18745
- [MX-299][feat] Delegate MX loading to ModelExpress strategies by @zhengluo-nv in #17029
- [https://nvbugs/6572838][ci] Unwaive fixed test by @2ez4bz in #18911
- [None][fix] MoE: keep separate NVFP4 gate/up global scales where supported by @brnguyen2 in #18772
- [https://nvbugs/6655986][test] Raise LTX-2 LPIPS golden thresholds to 0.15 and unwaive by @chang-l in #18384
- [None][test] retire Gemma 3 checkpoint tests by @xinhe-nv in #18580
- [None][fix] match the sampler's scratch slot row in the fused finish-reason guard by @Wanli-Jiang in #18894
- [TRTLLM-16182][fix] load the mixed-precision Qwen3.8-Flash-Next NVFP4 checkpoint by @Wanli-Jiang in #18823
- [None][feat] Self-sampling GVR V2 prefill indexer top-K by @longcheng-nv in #18702
- [None][fix] Kimi K3: admit every trtllm-gen SiTu quant format, not just MXFP4 by @xguannv in #18709
- [None][docs] fix --config kv_cache_dtype samples and trtllm-serve positional model path by @nv-guomingz in #18901
- [None][fix] Fix handling of hybrid FlashInfer page tables with KV cache V2 by @BoyueZ in #17643
- [https://nvbugs/6737123][fix] Preserve PATH in vendor source offline checks by @yuxianq in #18930
- [https://nvbugs/6655990][test] Gate WAN multi-GPU LPIPS against a within-build reference and unwaive by @chang-l in #18386
- [TRTLLM-14645][fix] VisualGen: cross-hardware CPU RNG for pipeline noise by @zhenhuaw-me in #18477
- [https://nvbugs/6625851][fix] Fail guided-decoding requests reaching a dead-end grammar state by @zhaoyangwang-nvidia in #18896
- [https://nvbugs/6683837][fix] Thread
lora_paramstoself.experts(); cache a per-(layer,module) rank… by @trtllm-agent in #18527 - [TRTLLM-16163][feat] Enable Nemotron 3.5 Super VL serving paths by @eopXD in #18804
- [None][fix] share Kimi auxiliary streams by @jiaganc in #18728
- [https://nvbugs/6689016][fix] Limit eager FlashInfer plan cache growth by @2ez4bz in #18557
- [https://nvbugs/6581063][fix] Release MegaMoE symm buffers on executor teardown by @sunnyqgg in #18182
- [https://nvbugs/6695563][fix] Densify the bmm LHS with
a.contiguous()gated on get_sm_version() in (120… by @trtllm-agent in #18678 - [None][test] update qa test list by @crazydemo in #18942
- [https://nvbugs/6641268][fix] Zero paged V-cache tails during context preprocessing by @yuxianq in #18925
- [None][feat] Add a link mode to the precompiled editable-install path by @brnguyen2 in #18752
- [https://nvbugs/6640875][test] Stabilize LoRA KV scheduler tests and re-enable seven cases by @yizhang-nv in #18949
- [None][chore] Clean up unused code in C++ test files by @Funatiq in #18884
- [https://nvbugs/6530090][fix] autoinstall media deps within test framework by @tburt-nv in #17069
- [TRTLLM-15757][refactor] Land the ModelRunner contract with the no-KVCache families by @lori-ren in #18784
- [None][test] expand speculative decoding model coverage by @cascade812 in #18905
- [None][doc] Document the three generation-side time breakdown segments by @nv-yna in #18213
- [None][fix] Make llm_args use the canonical custom-tokenizer alias table by @brnguyen2 in #18768
- [None][chore] Clean up disagg transfer idle progress by @Tabrizian in #18267
- [None][perf] Optimize HCA compressor decode by @mingyangHao in #18869
- [TRTLLM-15331][feat] Improve KV event publish performance via StreamingEvent by @tanmayv25 in #17023
- [https://nvbugs/6670516][fix] Call build_kv_page_indices with current signature by @brb-nv in #18980
- [TRTLLM-15520][feat] Admit one context per uncached prefix instead of letting every duplicate recompute it by @eopXD in #18195
- [None][fix] Resolve vocab_size through config within v2_KVCM instead of propagating depending on model family by @eopXD in #18885
- [https://nvbugs/5836830][test] Remove DeepSeek-R1 W4AFP8 8-GPU quickstart test from QA list by @brnguyen2 in #18979
- [None][doc] Fix broken images in tech blogs 27 and 28 by @karljang in #18984
- [None][fix] bridge FP4 MLA disaggregated KV ownership by @chienchunhung in #18041
- [None][perf] Apply NUMA-aware CPU affinity beyond the main thread by @qiaoxj07 in #18701
- [https://nvbugs/6626640][test] Bound Eagle VSWA test batch capacity by @dongfengy in #18986
- [TRTLLM-11484][doc] VisualGen separate out quantized-attention.md by @xrq-phys in #18792
- [None][feat] Support image input in the Triton llmapi backend by @faradawn in #18381
- [None][perf] Use indexed in-place state I/O for GDN prefill in verify batches by @nv-guomingz in #18845
- [None][perf] fuse decode kernel seams for Qwen3.8-Flash-Next and de-vendor the low-M GEMMs by @Wanli-Jiang in #18883
- [TRTLLMINF-368][infra] update cluster config for OCI-JHB by @tburt-nv in #18982
- [None][fix] Add Linux EBADHANDLE error handling by @yufeiwu-nv in #18352
- [None][chore] Update cutedsl to 4.8.0 dev by @rosong11 in #18808
- [https://nvbugs/6709495][doc] Fix dead links flagged by test_http_url_validity by @nv-guomingz in #18992
- [https://nvbugs/6530268][fix] Fix XQA race condition and attn sink numerical accuracy by @pengbowang-nv in #18141
- [None][chore] promote PrimTS source from TRT-LLM #18808 by @yuxianq in #19011
- [https://nvbugs/6676312][fix] Restore DSA CUDA TopK workspace lifecycle by @lfr-0531 in #18624
- [None][fix] Re-resolve the MoE op provider once the per-layer quant config is known by @brnguyen2 in #18770
- [None][chore] BREAKING: Remove unused C++ code by @Funatiq in #18846
- [None][perf] optimize qwen3.5 perf by removing gather and scatter op by @nv-guomingz in #17365
- [https://nvbugs/6707519][fix] Re-land attempt 1 verbatim on the current tip — add… by @trtllm-agent in #18629
- [TRTLLM-15714][refactor] Move disagg send/reap/timeout/cancel orchestration into DisaggTransferCoordinator by @nv-xtf in #18827
- [TRTLLM-15448][perf] Add checkpoint I/O experiment and startup telemetry by @chienchunhung in #18608
- [None][fix] Harden VMM-backed DWDP lifecycle by @zhangcl in #18644
- [None][fix] Raise SetupError instead of NameError when the precompiled wheel is missing by @David-Wu1119 in #18703
- [TRTLLM-16179][test] Port detokenization stop-word tests to Qwen3-0.6B by @xinhe-nv in #18994
- [None][feat] Add cuDNN attention backend by @xrq-phys in #18075
- [None][fix] catch KeyError when parsing --server_role into ServerRole by @lonexreb in #17730
- [https://nvbugs/6608795][fix] Fall back when UserBuffers multicast mapping fails by @cascade812 in #18037
- [TRTLLM-15097][test] Prune MiniMax-M2 and MiniMax-M2.5 tests by @xinhe-nv in #19001
- [https://nvbugs/6731971][doc] Fix broken relative paths flagged by test_relative_path_validity by @nv-guomingz in #19007
- [https://nvbugs/6676352][doc] Fix two copy-paste-broken doc snippets by @BowenFu in #19009
- [None][test] clean Llama-3.1-8B accuracy test coverage by @xinhe-nv in #18809
- [None][refactor] Centralize FMHA availability and support capability checks by @yuxianq in #19008
- [None][fix] Update vendored PrimTS with FlashInfer #4829 follow-ups by @yuxianq in #18996
- [https://nvbugs/6737351][fix] Remove CGA smem-reduction clamp from trtllm-gen FMHA kernel selection by @kris1025 in #18945
- [https://nvbugs/6644465][test] Unwaive WAN pipeline parallel test by @taianz-nv in #18928
- [None][perf] Enable FlashInfer add-RMSNorm for NVFP4 Marlin by @rmeghwal-nv in #17685
- [None][chore] promote PrimTS source from TRT-LLM #18996 by @yuxianq in #19047
- [None][doc] Group VisualGen feature guides under one navigation entry by @chang-l in #19023
- [None][feat] Derive per-layer KV cache windows from layer_types by @brnguyen2 in #18767
- [None][fix] Narrow CBTS perf helper selection by @yufeiwu-nv in #18880
- [https://nvbugs/6718910][chore] Unwaive deepseek perf sanity test by @mikeiovine in #19026
- [https://nvbugs/6537568][fix] Support MXFP4/NVFP4 MoE TP shard padding by @liji-nv in #18870
- [None][infra] Add blossom-ci authorized users by @trtllm-agent in #19062
- [https://nvbugs/6739081][fix] Preserve per-layer KV page addressing for mixed head sizes by @yuxianq in #18957
- [None][test] consolidate CBTS unit tests in CPU stage by @crazydemo in #19052
- [None][test] Add DeepSeek V4 Pro-Base and NVFP4 DSpark B300 perf tests by @yufeiwu-nv in #18875
- [None][perf] Speed up burst KVCM2 resize for very long sequences by @lowsfer in #18541
- [None][test] Add timeouts to test subprocesses by @yihwang-nv in #18812
- [None][doc] Reduce Sphinx build warnings from 1229 to 258 by @nv-guomingz in #19050
- [None][feat] add generic PrimTS block-sparse FMHA and unify sparse attention runtime inputs by @heyuhhh in #18815
- [None][perf] Build GDN verify-path intermediate state indices once per step by @nv-guomingz in #18820
- [TRTLLM-12670][feat] add /start_profile and /stop_profile endpoints to trtllm… by @JunyiXu-nv in #13872
- [None][feat] OpenEngine gRPC: wire Generate RPC to the engine with disaggregated serving by @tanmayv25 in #17992
- [https://nvbugs/6608387][test] Unwaive test_overlap_scheduler cases tracked by 6608387 by @lori-ren in #19066
- [None][test] add guided decoding architecture coverage by @cascade812 in #18908
- [https://nvbugs/6662724][fix] Remove validated H100 waivers by @zhaoyuanh-nvidia in #19079
- [None][fix] Map SM107 to the sm_100f NVRTC target in the trtllm-gen FMHA kernel loader by @farazkh80 in #18758
- [https://nvbugs/6756996][fix] use llama_model_root fixture evaluation by @tburt-nv in #19031
- [TRTLLM-15448][refactor] Add checkpoint catalog and shadow load planning by @chienchunhung in #18737
- [None][infra] Waive failing GPT-OSS 4-GPU test case by @amukkara in #19089
- [None][ci] Waive test_kimi_k3_trtllm_accepts_nvfp4_routed_experts by @brb-nv in #19092
- [None][perf] Wire in custom decode kernels for MinimaxM3 by @brb-nv in #18611
- [TRTLLM-16022][feat] Add sub-agent conversation affinity for disaggregated serving by @xwang233 in #18684
- [None][fix] Stabilize MoE LoRA CUDA graph scratch by @achartier in #18972
- [None][fix] Re-plan FlashInfer decode schedule on page-table changes under CUDA graphs by @brnguyen2 in #18769
- [None][ci] Switch GB300 perf sanity stages to auto:gb300-flex by @chenfeiz0326 in #19074
- [None][feat] Add no mcp flag for modeling agent by @WeiHaocheng in #18651
- [None][fix] Shut down resources before GC assertions by @yihwang-nv in #18807
- [None][feat] perf-sanity: upload per-request disagg lifecycle spans to OpenSearch by @chenfeiz0326 in #18990
- [None][perf] DFlash draft latency for Qwen3.5-4B by @amukkara in #18553
- [None][feat] Add SM107 CuTe DSL BF16 dense GEMM/BMM custom ops and dispatch by @farazkh80 in #18761
- [None][fix] Filter zero-size buffers in KVCM V2 runtime wrapper by @yizhang-nv in #18824
- [TRTLLM-16203][test] Restore disaggregated-serving coverage on Hopper by @xinhe-nv in #18941
- [TRTLLM-16194][feat] Add MiniMax H3 support by @yibinl-nvidia in #18733
- [TRTLLM-16122][feat] Refine VisualGen serve benching by @luyiyun1021 in #18632
- [None][test] Supply auxiliary streams in Kimi K3 NVFP4 regression by @chang-l in #19088
- [None][refactor] BREAKING: Remove the two-model speculative decoding path and dead C++ spec-dec code by @zhaoyangwang-nvidia in #18721
- [None][infra] Classify SLURM resource-cleanup failures as typed infra by @brnguyen2 in #18049
- [None][feat] Add opt-in KV guard page and fresh-page fill diagnostics by @brnguyen2 in #18754
- [None][ci] Waive TestQwen3_8_Flash_Next::test_fp8_adp4_mtp3_trtllm_ple_offload on main by @brnguyen2 in #19119
- [TRTLLM-15936][fix] Enable breakable prefill CUDA graphs (BCG) for Nemotron-H hybrid models by @dominicshanshan in #18888
- [None][test] Add native PyTorch coverage for DeciLMForCausalLM by @StanleySun639 in #18948
- [None][feat] Support num_postprocess_workers > 0 under the Ray Orchestration by @shikicloud in #18399
- [None][feat] Add SM107 CuTe DSL quantized dense GEMM/BMM custom ops and dispatch by @farazkh80 in #18765
- [None][chore] Refine QA code ownership by @LarryXFly in #18861
- [None][test] Add coverage for BartForConditionalGeneration by @StanleySun639 in #19017
- [None][test] Add single-node disagg DEP4 DSpark GSM8K test for DeepSeek-V4-Flash NVFP4 by @longlee0622 in #18853
- [#17917][fix] Warn when a tool parser detects markup but extracts no tool calls by @100-JM in #18865
- [#13949][test] Cover /v1/responses in per-request perf metrics tests by @100-JM in #18856
- [None][test] Add Qwen 3.8 MAX and Flash-next performance coverage by @yufeiwu-nv in #19012
- [None][fix] Under disagg, build the generation prompt from the context worker's tokens instead of the relayed media by @eopXD in #18886
- [https://nvbugs/6727262][test] Bound batch size in default-backend smoke tests by @VALLIS-NERIA in #19005
- [TRTLLMINF-397][infra] Update dependencies to NGC PyTorch 26.08 by @EmmaQiaoCh in #18126
- [https://nvbugs/6621358][fix] Isolate DeepSeek NVFP4 LongBench MPI session by @yizhang-nv in #19134
New Contributors
- @zhengluo-nv made their first contribution in #17029
- @BoyueZ made their first contribution in #17643
- @faradawn made their first contribution in #18381
- @David-Wu1119 made their first contribution in #18703
- @100-JM made their first contribution in #18865
Full Changelog: v1.3.0rc26...v1.3.0rc27