What's Changed
🚨 Breaking Changes
- FIX Raise
TypeErrorwhen sparse input is not supported by @betatim in #7728 - Add
cuml.internals.validation,check_is_fittedchecks by @jcrist in #7868 - Add support for
feature_names_in_by @jcrist in #7877 - Validate that X is 2 dimensional by @jcrist in #7889
🐛 Bug Fixes
- CI Fix tests to be compatible with new stricter cudf dtype handling by @betatim in #7762
- Replace cudf.Series.values_host with .to_numpy(). by @csadorf in #7772
- Mark two tests as flaky by @csadorf in #7787
- Mark test test_spectral_clustering_output_shape_type_and_label_count as xfail by @csadorf in #7791
- Add nvjitlink to cuda-toolkit pip extras for cusparse compatibility by @bdice in #7794
- Fix cupy-14 compatibility by @aamijar in #7814
- Fix -Wsign-compare warning in UMAP by @aamijar in #7803
- Fix thrust header by @aamijar in #7817
- Xfail some of the one hot encoder dask test. by @csadorf in #7828
- Fix Dask KMeans performance regression by @viclafargue in #7819
- Disable codecov reports by @csadorf in #7852
- Prevent unprefetchable allocation in SVM by @viclafargue in #7859
- Fix UMAP inverse_transform OOH error by @viclafargue in #7863
- Fix
AttributeErrorwhenCumlArrayindex is a pandasRangeIndexby @viclafargue in #7865 - Avoid pickling lambda in dask LabelBinarizer pytests by @aamijar in #7898
- Fix OOM in Dask KMeans by collecting only one model after fit by @viclafargue in #7908
- Fix Dask estimators crashing when workers receive empty partitions by @viclafargue in #7807
- xfail
test_umap_outliersby @jinsolp in #7938
📖 Documentation
- Fix documentation for in-notebook cuml.accel activation. by @csadorf in #7767
- [DOC] Add missing parameters to UMAP and NearestNeighbors docstrings by @silasmue in #7632
- docs updates for new RAPIDS branching strategy by @jameslamb in #7795
- DOC Restructure API documentation by @betatim in #7798
- Remove deprecated
tree_method=gpu_histwith XGBoost by @hcho3 in #7858
🚀 New Features
- Add cuml.accel support for StandardScaler by @csadorf in #7766
- Add
NearestNeighbors.radius_neighbors_graphby @jcrist in #7811 - Implement health checks. by @csadorf in #7854
SpectralClusteringincuml.accelby @aamijar in #7804
🛠️ Improvements
- Fix int64 Spectral Embedding by @aamijar in #7689
- Replace
thrust::tuplewithcuda::std::tupleby @miscco in #7700 - CI: Standardize nightly dependencies testing by @csadorf in #7684
- Expand and improve xfail list management tooling by @csadorf in #7607
- CI: Make the cudf-pandas-integration job non-optional by @csadorf in #7704
- CI: Make the nightly dependency tests pass by @csadorf in #7703
- Add optional thread-safety guard for OpenBLAS/OpenMP on high-core systems by @dantegd in #7688
- More std::tuple fixes by @vyasr in #7707
- CI: Test CuPy nightlies by @csadorf in #7695
- Forward-merge release/26.02 into main by @csadorf in #7720
- Ignore warnings caused by sklearn/scipy incompatibility. by @csadorf in #7735
- Bump the ipython test dependencies. by @csadorf in #7737
- Drop Python 3.10 support by @gforsyth in #7731
- tighten wheel size limits, expand CI-skipping logic, other small build changes by @jameslamb in #7738
- Remove numba-cuda upper bound by @brandon-b-miller in #7706
- remove pip.conf migration code in CI scripts, update CI-skipping rules by @jameslamb in #7747
- Use verify-hardcoded-version pre-commit hook by @KyleFromNVIDIA in #7726
- Add instructions for CodeRabbit by @csadorf in #7725
- CI Use ipython 7.34.0 in "oldest" version CI by @betatim in #7743
- Remove deprecations from 26.02 by @jcrist in #7761
- Remove deprecated
handleargument by @jcrist in #7751 - CI Switch to strict xfail policy for common estimator checks by @betatim in #7753
- CI Update xfail list by @betatim in #7768
- refactor: build wheels and conda packages using Python limited API by @gforsyth in #7758
- Partially revert #7715. by @csadorf in #7773
- remove gitutils by @jameslamb in #7784
- Use GHA id-token for
sccache-distauth token by @trxcllnt in #7790 - FIX Raise explicit exception for input with complex dtype by @betatim in #7729
- Add option to force serial behavior in UMAP optimize to avoid outliers by @jinsolp in #7793
- UMAP hypothesis testing by @viclafargue in #7323
- Update raft headers by @aamijar in #7752
- Remove raft
math.cuhandmatrix.cuhby @aamijar in #7797 - Replace uses of
thrust::transform_iteratorwithcuda::transform_iteratorby @miscco in #7808 - check-nightly-ci: update to new version by @jameslamb in #7810
- check-nightly-ci: remove testing config by @jameslamb in #7818
- Remove some dead code by @jcrist in #7825
- Drop
thrust/functionalit is almost not used at all by @miscco in #7823 - Add warning about the use of pickle for model deserialization to README. by @csadorf in #7829
- CI Fix testing references to take into account string dtype by @betatim in #7830
- DOC Add basic tests for ONNX support by @betatim in #7805
- refactor(limited api): add explicit
wheel.py-apitopyproject.toml
by @gforsyth in #7832 - Remove workaround for old cupy.percentile bug by @wphicks in #7789
- Update Cython lower bound pin to 3.2.2 by @vyasr in #7836
- Optimize data transfer for
Pipelineincuml.accelby @jcrist in #7835 - Allow using cuML benchmark tools on systems without cuML installed by @dantegd in #7593
- Fix integer overflow in FIL by @hcho3 in #7727
- Relax UMAP version constraint by @csadorf in #7850
- cuml.accel's pth needs to go after the
numba_cudaone by @betatim in #7872 - Use
PrefetchResourceAdaptorincuml.accelby @jcrist in #7834 - Add support for Python 3.14 by @gforsyth in #7831
- Add
check_featuresby @jcrist in #7874 - fix verify-hardcoded-version issues by @jameslamb in #7882
- Cherry-pick "Remove
PoolMemoryResourcewrapper" into release by @jcrist in #7881 - Update Treelite to 4.7.0 by @hcho3 in #7870
- Remove deprecation warning in
TargetEncoderby @jcrist in #7892 - Remove xfailed cudf pandas tests by @jcrist in #7901
- Cap numba-cuda upper bound at <0.29.0 by @brandon-b-miller in #7900
- Remove no_bad_cuml_array_check by @csadorf in #7887
- Bump scipy minimum required version to 1.14.0. by @csadorf in #7857
- fix(devcontainers): build with Python 3.13 while dependencies are unavailable by @gforsyth in #7916
- build wheels with CUDA 13.0.x, test wheels against mix of CTK versions by @jameslamb in #7907
- Fix
CDMGxfails for numpy 2.4 by @jcrist in #7918 - Use PCA and TSVD from raft by @aamijar in #7802
- ci: preserve Release project field also on release/* PRs by @csadorf in #7921
- Small update to cuml-accel limitations by @jcrist in #7929
- Pin openblas on aarch64 by @jcrist in #7933
- Disable SciPy intersphinx by @jcrist in #7935
- Support unlimited_depth for the random forest estimators by @csadorf in #7895
New Contributors
Full Changelog: v26.04.00a...v26.04.00