doc/changes/v3.4.0.rst
################### 3.4.0 (Aug 4, 2026) ###################
XGBoost 3.4.0 completes the vector-leaf implementation for the hist tree method,
revises the quantile regression and mean absolute error (MAE) objectives, removes
column-split support, and fixes issues across multiple components.
Vector Leaf and Multi-output Models
The vector-leaf implementation for the hist tree method is now feature-complete and
classified as experimental rather than work in progress. Key changes include:
min_child_weight. (:pr:12305, :pr:12299, :pr:12276, :pr:12340, :pr:12341, :pr:12294, :pr:12325, :pr:12296)12292, :pr:12369, :pr:12313, :pr:12314, :pr:12293)12365, :pr:12321,
:pr:12397, :pr:12387, :pr:12336, :pr:12330, :pr:12320, :pr:12312)Quantile Regression and Absolute Error
Quantile regression and mean absolute error now use smooth approximations instead of line
searches to determine leaf values. (:pr:12391, :pr:12386, :pr:12373, :pr:12346)
Breaking Changes and Deprecations
12333, :pr:12363, :pr:12354)12376)num_parallel_tree directly for
random-forest models. (:pr:12324, :pr:12342)XGDMatrixCreateFromFile function has been removed. (:pr:12297)12337)Build and Platform
xgboost <https://pypi.org/project/xgboost/>__ binaries for the Python and
JVM packages are now built with CUDA 13.3 on Linux and Windows. Python users who need CUDA
12.9 can install xgboost-cu12 <https://pypi.org/project/xgboost-cu12/>__ from PyPI or
build from source. (:pr:12384, :pr:12394)xgboost <https://pypi.org/project/xgboost/>__ and xgboost-cpu <https://pypi.org/project/xgboost-cpu/>__ packages support Windows on
AArch64. (:pr:12394)Optimizations
12317)12307)12306)12290)Bug Fixes
The following fixes affect all interfaces. Interface-specific fixes are listed in the corresponding package sections.
min_child_weight could produce an empty root node. Also, this
release fixes its interaction with max_delta_step. (:pr:12322, :pr:12296)12266)12316, :pr:12269)12332)12368)12371)Python Package
12219, :pr:12349, :pr:12280)~xgboost.Booster.trees_to_dataframe now uses pandas NA for unavailable
vector-leaf values instead of a mix of np.nan and None. (:pr:12293)ValueError when qid is omitted from
:py:meth:~xgboost.XGBRanker.score. (:pr:12383, :pr:12335)~xgboost.plotting.to_graphviz. (:pr:12359)12381, :pr:12378)~xgboost.collective.allreduce always returning a flattened
one-dimensional array. (:pr:12377)12331)R Package
early_stopping_rounds handling in xgboost(). (:pr:12370)thread_local workaround. (:pr:12352)12309, :pr:12259)JVM Packages
12286, :pr:12235)12255, :pr:12254, :pr:12253)Documentation and Demos
12392)12400, :pr:12401, :pr:12357, :pr:12358, :pr:12328)CI and Maintenance
12375, :pr:12338, :pr:12300, :pr:12263, :pr:12274)12318)12262)12345, :pr:12275, :pr:12385, :pr:12271)12252)