doc/changes/v3.2.0.rst
################### 3.2.0 (2026 Feb 09) ###################
We are excited to announce the XGBoost 3.2 release. This release features significant progress on multi-target tree support with vector leaf, enhanced GPU external memory training, various optimizations, and the removal of the deprecated CLI.
External Memory
The latest XGBoost release features enhanced support for external memory training with
GPUs. XGBoost has experimental support for using the CUDA async memory pool, which users
can opt in to enable asynchronous memory management for efficient external memory
training. Prior to 3.2, the RMM plugin was required. The feature is Linux-only at the
moment. (:pr:11706, :pr:11715, :pr:11718, :pr:11931, :pr:11865, :pr:11959,
:pr:11962)
The adaptive cache is now used for all device types, including devices with full C2C
bandwidth, like GH200 and DGX station. Users can continue to specify the
cache_host_ratio parameter in case of memory fragmentation. XGBoost now supports
devices with mixed GPU models for configuring the host cache (:pr:11998). As part of the
work for improved NUMA system support, we co-developed the pyhwloc project
(:pr:11992).
Lastly, the old page-concat option for GPU external memory has been removed. XGBoost will
use the full dataset for training. (:pr:11882, :pr:11897)
Multi-Target/Class
This release brings substantial progress on the vector-leaf-based multi-target tree model, building on the multi-target intercept work from 3.1. The vector leaf tree stores a vector of weights in each leaf node, enabling the model to capture correlations across targets during tree construction. In 3.2, we expanded the feature set to cover most of the commonly used training configurations.
.. warning::
The vector leaf is still a work in progress. Feedback is welcome.
New features for the multi-target tree include:
hist tree method implementation has features on par with the CPU one.min_split_loss, and max_delta_step.In addition, intercept initialization for the multinomial logistic objective now adheres to GLM semantics.
Related PRs: :pr:11950, :pr:11914, :pr:11913, :pr:11965, :pr:11941, :pr:11967,
:pr:11940, :pr:11896, :pr:11894, :pr:11889, :pr:11917, :pr:11883, :pr:11786,
:pr:11881, :pr:11862, :pr:11855, :pr:11829, :pr:11825, :pr:11820, :pr:11814,
:pr:11729, :pr:11724, :pr:11747, :pr:11798, :pr:11791, :pr:11789, :pr:11781,
:pr:11778, :pr:11777, :pr:11744, :pr:11922, :pr:11920
Currently missing features for the hist tree method with vector leaf:
Features
hist now supports gradient-based sampling.11720)11794)11972, :pr:11968)11994)11930,
:pr:11834, :pr:11871, :pr:11995, :pr:11861, :pr:11785, :pr:11997). A nightly
CI pipeline was added to test XGBoost with the latest versions of CCCL and
RMM. (:pr:11863)Optimizations
11895)11974)block_size of the CPU histogram building kernel adaptive based on model
parameters and CPU cache size, demonstrating up to 2x speedup for certain
workloads. (:pr:11808)11841, :pr:11802)11759, :pr:11735, :pr:11750, :pr:11741,
:pr:11752)Fixes
11973)11976)11844)Python Package
11961)11975)11795, :pr:11797)11793)11717, :pr:11783)R Package
11938, :pr:11935, :pr:11847)DMatrix with an informative message. (:pr:11810)11848, :pr:11887)11773, :pr:11890, :pr:11732, :pr:11846, :pr:11981, :pr:11842)JVM Packages
synchronized from predict, as internal prediction is already thread-safe,
with a concurrency test added to verify. (:pr:11746)11939, :pr:11929)inferBatchSizeParameter instead of a hardcoded value. (:pr:11745)11691, :pr:11915, :pr:11743)Documents
11710)11788, :pr:11868, :pr:11774)11850)CI and Maintenance
pre-commit for various linting and formatting tasks. clang-format is now
required by the CI. (:pr:11984, :pr:11978, :pr:11980, :pr:11958, :pr:11953, :pr:11946, :pr:11993)11956, :pr:11952, :pr:11949, :pr:11937,
:pr:11934, :pr:11927, :pr:11932, :pr:11924, :pr:11979)11990, :pr:11975, :pr:11964)11955, :pr:11957,
:pr:11963, :pr:11945, :pr:11912, :pr:11909, :pr:11888, :pr:11898, :pr:11925, :pr:11877, :pr:11824, :pr:11748, :pr:11721,
:pr:11705, :pr:11699, :pr:11832, :pr:11796, :pr:11828, :pr:11852, :pr:11800, :pr:11999, :pr:11991)