🚨 Breaking Changes
- Deprecate device selection (#6784) @jcrist
- Remove use of legacy FIL from Python cuML (#6728) @hcho3
- Use RBC from cuVS (#6644) @divyegala
- Map Barnes-Hut to FFT for T-SNE in cuml.accel. (#6619) @csadorf
- New Estimator Proxy architecture (#6613) @jcrist
- Disable building and uploading cuml-cpu in CI (#6529) @dantegd
- FIX Propagate random state to numpy rng in
make_classification
(#6518) @betatim
🐛 Bug Fixes
- UMAP batch nnd test hotfix (#6826) @jinsolp
- Update forest_inference_demo.ipynb for new FIL API changes (#6824) @dantegd
- Fix to compile FIL
infer_kernel
with CUDA arch 1210 (#6821) @viclafargue - Reduce solver test threshold for ElasticNet test. (#6766) @csadorf
- Use _assert_allclose function for approximate equality check. (#6763) @csadorf
- UMAP spectral initialization fallback to random on error (#6750) @aamijar
- [Fix]
include_self=False
for duplicate points (tied zero distances) in kneighbors_graph (#6735) @aamijar - FIX: Set scikit-learn KMeans n_init=10 to match cuML (#6727) @csadorf
- Fix output dtype of
LinearSVC.predict
(#6715) @jcrist - CUDA 12.9 Correctly bound updated compression flags (#6713) @robertmaynard
- Fix type and support for
PCA.noise_variance_
(#6693) @jcrist - Update dask RF regressor partial_inference (#6691) @TomAugspurger
- Properly handle degenerate trees in FIL (#6673) @hcho3
- Fix strict marker in scikit-learn test xfail list. (#6661) @csadorf
- DOC Repair docstring formatting (#6659) @betatim
- Fix the field ids in the pr/issue status automation (#6656) @csadorf
- Adjust scikit-learn test failure handling (#6646) @csadorf
- Remove arbitrary score threshold for the test_qn test with softmax (#6636) @csadorf
- Do not set
n_features_in_
attribute beforefit
(#6624) @betatim - Map Barnes-Hut to FFT for T-SNE in cuml.accel. (#6619) @csadorf
- Mark sklearn test test_cross_val_predict[coo_array] as flaky. (#6610) @csadorf
- Do not run the scikit-learn test suite in parallel. (#6609) @csadorf
- Mark one kmeans and one t_sne sklearn test as flaky (#6598) @csadorf
- Relax threshold for failing ARIMA pytest (#6579) @divyegala
- Fix race condition in
_block_gemv
kernel (#6578) @divyegala - Fix launch parameters for kernel shap (#6577) @divyegala
- Update SVC tests for CCCL update (#6569) @viclafargue
- Update FIL Model Loading Parameter in FIL demo notebook (#6562) @csadorf
- Localise output‑dtype; remove global set_api_output_dtype calls (#6561) @Ofek-Haim
- Lower logistic regression digits test threshold to 0.9. (#6552) @csadorf
- FIX Propagate random state to numpy rng in
make_classification
(#6518) @betatim - Fix cudf.DataFrame construction with dict like inputs and ensure CumlArray.to_output('cudf') does not convert NaN to NA (#6517) @mroeschke
- Calling gc in SVC tests (#6514) @viclafargue
- Fix logger macros (#6511) @vyasr
- Simplicial set functions fixes and cleanups (#6493) @viclafargue
- Inspect KNN graph during smooth KNN generation and fail if necessary (#6491) @viclafargue
- More permanently disable BATCH_TREE_REORG (#6374) @wphicks
📖 Documentation
- Move FIL docs to user docs (#6762) @dantegd
- Document
cuml.accel
doesn't supportset_output
(#6717) @jcrist - DOC Update zero-code-change documentation (#6697) @csadorf
- Document WSL2 limitation re UVM (#6663) @csadorf
- DOC Make
MultinomialNB
dask doctest more lax (#6482) @betatim - Future-proof SVC documentation (#6481) @viclafargue
- DOC Add developer documentation about deprecation policy (#6476) @betatim
🚀 New Features
- Multi-gpu KNN build for UMAP using all-neighbors API (#6654) @jinsolp
- Add caching and object size metrics to
conda
CI builds (#6573) @divyegala - Use Gram kernel from cuVS instead of Raft (#6538) @lowener
🛠️ Improvements
- Migrate cuml.experimental.fil -> cuml.fil (#6799) @hcho3
- Mark
test_uniform_grid
as flaky in sklearn tests (#6791) @jcrist - Deprecate a few missed cuml-only non-keyword-only kwargs (#6789) @jcrist
- Delay importing of dask (#6788) @jcrist
- Port
DBSCAN
toProxyBase
/InteropMixin
(#6786) @jcrist - Deprecate device selection (#6784) @jcrist
- use 'rapids-init-pip' in wheel CI, other CI changes (#6779) @jameslamb
- Support
SVC
andSVR
incuml.accel
(#6778) @jcrist - chore: reduce ceiling of
cuml
wheel size (#6771) @gforsyth - Port KMeans to use
ProxyBase
/InteropMixin
(#6770) @jcrist - Port
sklearn.manifold
wrappers to useProxyBase
(#6761) @jcrist - Fix dask warning in FIL demo notebook (#6758) @jcrist
- Remove deprecations for 25.06 (#6754) @jcrist
- Check that
as_sklearn
'ed models can be fitted (#6751) @betatim - Implement sklearn_tags on mixin using vendored compat module. (#6746) @csadorf
- Test that proxied method signatures match their CPU versions (#6740) @jcrist
- Remove upper bound constraint on xgboost. (#6739) @csadorf
- Deprecate non-keyword-only cuml-only kwargs (#6738) @jcrist
- Fix DistributedDataHandler.calculate_parts_to_sizes (#6737) @TomAugspurger
- Finish CUDA 12.9 migration and use branch-25.06 workflows (#6733) @bdice
- Remove use of legacy FIL from Python cuML (#6728) @hcho3
- Update Dask RandomForest classifier (#6726) @TomAugspurger
- Update to clang 20 (#6724) @bdice
- Use matplotlib-base in docs/notebooks environments. (#6723) @bdice
- FIX Allow prereleases when evaluating xfail conditions (#6722) @betatim
- Quote head_rev in conda recipes (#6701) @bdice
- Don't setup managed memory if rmm isn't using default settings (#6700) @jcrist
- Expand sklearn matrix used in tests (#6698) @jcrist
- Port
sklearn.decomposition
to new proxy estimator structure (#6695) @jcrist - fix(rattler): add librmm to host for libcuml to fix overlinking error (#6686) @gforsyth
- CUDA 12.9 use updated compression flags (#6684) @robertmaynard
- Increase scikit-learn compatibility to 1.5+ (#6666) @csadorf
- Revert "CI: Increase nightly CI check window to 14 days. (#6628)" (#6660) @csadorf
- Remove cuml-cpu and CPU <> GPU docs (#6651) @jcrist
- More dask==2025.4.1 compatibility (#6645) @TomAugspurger
- Use RBC from cuVS (#6644) @divyegala
- Exclude librmm.so from auditwheel (#6632) @bdice
- Enhance accelerator parity testing framework (#6629) @csadorf
- CI: Increase nightly CI check window to 14 days. (#6628) @csadorf
- Add support for Python 3.13 (#6616) @gforsyth
- Compatibility with Dask 2025.4.1 (#6614) @TomAugspurger
- New Estimator Proxy architecture (#6613) @jcrist
- Using cuVS NN Descent in UMAP (#6611) @jinsolp
- Make scikit-learn a required dependency (#6608) @betatim
- Speedup dask
LogisticRegression
tests (#6607) @jcrist - Add GitHub Actions workflow for PR and issue project field automation (#6602) @csadorf
- Use
nogil
forlibcuml
calls (#6601) @jcrist - Remove
cuml.common.cuda
(#6600) @jcrist - Remove most of
import_utils.py
(#6599) @jcrist - Remove guarded imports of
scipy
(#6596) @jcrist - Remove remainder of code branching on
cuml-cpu
support (#6593) @jcrist - Add timeout to scikit-learn test suite (#6591) @jcrist
- Remove
safe_imports.py
(#6588) @jcrist - Remove usage of
cudf.core.buffer
(#6586) @mroeschke - Split wheel tests into two jobs (#6585) @jcrist
- Only run one
cudf.pandas
enabled build per PR (#6584) @jcrist - Don't run memleak tests in CI (#6583) @jcrist
- Documentation and Testing Infrastructure Updates (#6580) @csadorf
- Move Random Forest n_streams UserWarning out of execution (#6574) @ncclementi
- Remove conditional compilation blocks leftover from
cuml-cpu
(#6572) @jcrist - Download build artifacts from Github for CI (#6566) @VenkateshJaya
- Don't exclude sklearn tests from acceleration (#6565) @jcrist
- Add .git-blame-ignore-revs (#6564) @csadorf
- Add
cuml.accel.is_proxy
(#6559) @jcrist - Update KMeans test to improve stability by setting n_init to 2 (#6553) (#6555) @csadorf
- Support
weights="distance"
forKNeighbors*
incuml.accel
(#6554) @jcrist - Improve detection of scikit-learn parity regressions (#6553) @csadorf
- Revise cuml.accel module patching and import mechanism (#6550) @jcrist
- Add isort to pre-commit hooks (#6549) @csadorf
- Refactor dataset generation and testing utilities (#6548) @csadorf
- Move
cuml.accel
tests out into own directory (#6547) @jcrist - refactor(rattler): enable strict channel priority for builds (#6546) @gforsyth
- Remove unnecessary CudfBuffer and vendor cuDF min_signed_type function (#6543) @mroeschke
- Remove
_experimental_dispatching
attribute (#6542) @jcrist - Avoid private attributes on cuDF objects (#6537) @mroeschke
- Reduce CI test combinations for scikit-learn acceleration tests (#6536) @csadorf
- Vendor RAPIDS.cmake (#6531) @bdice
- Disable building and uploading cuml-cpu in CI (#6529) @dantegd
- Remove CUDA whole compilation ODR violations (#6525) @divyegala
- SLHC to Migrate to cuVS Agglomerative from RAFT (#6507) @tarang-jain
- Solve forward merger conflicts of 6435 (#6501) @csadorf
- Add minimal import check to CI (#6484) @jcrist
- Moving wheel builds to specified location and uploading build artifacts to Github (#6472) @VenkateshJaya