Change8

v3.0.1

Breaking Changes
📦 xgboostView on GitHub →
1 breaking6 features🐛 2 fixes🔧 4 symbols

Summary

This release adds GPU driver detection, deep-tree external-memory optimizations, new manylinux_2_28_x86_64 CPU wheels, Dask compatibility workarounds, and changes model output to use denormal floating-point values, along with several bug fixes.

⚠️ Breaking Changes

  • Model files now store denormal floating-point values instead of NaN, which may break code that expects NaN in the output. Update downstream parsing or checks to handle denormal values.

Migration Steps

  1. If your workflow relies on NaN values in model output, adjust code to accept denormal floating-point numbers.
  2. Upgrade to the new `xgboost-cpu` manylinux_2_28_x86_64 wheel for Linux x86_64 environments.
  3. For R users, download the new experimental CUDA-enabled binary package if needed.

✨ New Features

  • Detect NVIDIA driver version using `nvidia-smi` and gracefully handle drivers lacking virtual memory support.
  • Optimized training of deep trees when using GPU external memory.
  • Added support for building `xgboost-cpu` wheels targeting `manylinux_2_28_x86_64`.
  • Implemented a workaround to maintain compatibility with multiple Dask versions.
  • Experimental R binary packages with CUDA enabled are now available.
  • Output models now use denormal floating-point representation instead of NaN.

🐛 Bug Fixes

  • Fixed page concatenation issue when using external memory.
  • Resolved CI failures on the aarch64 platform.

Affected Symbols