Releases: rapidsai/cuml
Releases · rapidsai/cuml
v25.10.00
🚨 Breaking Changes
- Deprecate
convert_to_*
methods in favor ofas_*
methods incuml.ensemble
(#7254) @jcrist KernelDensity.score_samples
output type & dtype fixes (#7240) @jcrist- Remove
get_json
/get_detailed_text
/get_summary_text
from ensemble estimators (#7177) @jcrist - Deprecate
accuracy_metric
(#7170) @jcrist - Deprecate
predict_model
incuml.ensemble
/cuml.dask.ensemble
(#7155) @jcrist - Remove deprecated
cuml.accel
CLI options (#7110) @jcrist - Remove deprecation warnings in 25.10 (#7109) @jcrist
- Remove deprecation warning and
data_on_host
option for UMAP (#7099) @jinsolp - Fix UMAP graph thresholding (#6595) @viclafargue
🐛 Bug Fixes
- Set NCCL rpath for
cu13
wheels (#7304) @divyegala - Add NCCL library path to CMakeLists.txt for libcuml (#7281) @csadorf
- Ensure finite values passed to SpectralEmbedding (#7280) @jcrist
- Ensure sklearn roundtrip attribute consistency (#7278) @jcrist
- Fix SpectralEmbedding precomputed option with 0% sparsity (#7271) @aamijar
- Fix test reference object in test_onehot_inverse_transform_handle_unknown (#7246) @mroeschke
- Slightly increase tolerance in ridge regression test. (#7243) @csadorf
- Increase rtol for float32 in test_complement_partial_fit to reduce intermittent failures (#7237) @csadorf
- Conditionally xfail test_umap_fit_transform_score for nrows=500. (#7232) @csadorf
- Fixup
StandardScaler.n_samples_seen_
(#7209) @jcrist - Validate
sample_weight
inKernelDensity.fit
(#7208) @jcrist - Support non-contiguous input in
input_to_host_array
(#7207) @jcrist - Set correct min_samples for HDBSCAN single_linkage (#7195) @tarang-jain
- Raise Proper Exception when HDBSCAN min_samples > number of samples (#7193) @tarang-jain
- Remove docs/handling of
solver="cd"
inRidge
(#7190) @jcrist - Error nicely in
KMeans
ifn_samples < n_clusters
(#7189) @jcrist - Further increase tolerance in test_random_seed_consistency. (#7180) @csadorf
- Use custom plugin to download test data early (#7169) @betatim
- Fix UMAP outlier issue by checking for outliers and shuffling (#7131) @jinsolp
- Note non-determinism in random projection transforms (#7129) @jcrist
- Rewrite random projection estimators (#7119) @jcrist
- Prevent CUDA issues when running UMAP with scikit-learn compatibility test suite (#7107) @viclafargue
- Fix accel profiler 2x count of some fallback methods (#7101) @jcrist
- Don't call to_output on a cupy array (#7044) @Matt711
- Add fix for devices that do not have memory resources (#6823) @viclafargue
- Fix UMAP graph thresholding (#6595) @viclafargue
📖 Documentation
- Add warning on subprocesses in cuml.accel profilers (#7290) @jcrist
- Revise the cuML docs for 25.10 (#7228) @csadorf
- Provide GitHub issue template to report CI failures. (#7178) @csadorf
- Fix cuml-accel docs redirects (#7139) @jcrist
🚀 New Features
- Update cufft defines to CUDA 13 types (#7094) @robertmaynard
🛠️ Improvements
- Fix missed deps in update-version.sh (#7285) @AyodeAwe
- Empty commit to trigger a build (#7264) @msarahan
- Enforce correct dependencies on cuVS (#7261) @divyegala
- CI Hardcode list of words to test porter stemmer with (#7258) @betatim
- Deprecate
convert_to_*
methods in favor ofas_*
methods incuml.ensemble
(#7254) @jcrist - Revert "Extend nightlies breakage window (#7137)" (#7251) @csadorf
- Cleanup
cuml.ensemble
(#7249) @jcrist KernelDensity.score_samples
output type & dtype fixes (#7240) @jcrist- Add test for
adjusted_rand_score
with small inputs (#7235) @jcrist - Use
except +
everywhere in cython (#7234) @jcrist - Use
rapids-xgboost
and exclude libnccl from auditwheel check (#7231) @jcrist - Add
cuml.metrics.median_absolute_error
(#7229) @jcrist - Configure repo for automatic release notes generation (#7226) @AyodeAwe
- Accelerate
KernelDensity.score_samples
(#7219) @jcrist - Update FIL doc to remove deprecated parameter (#7215) @hcho3
- use new cumlprims_mg repo (#7213) @jameslamb
- update nvidia-ml-py (>=12), use cuda-toolkit wheels (#7212) @jameslamb
- Expose some private attrs in
cuml.accel
(#7197) @jcrist - Cleanup
KMeans
python layer (#7196) @jcrist - Don't use deprecated method in
StratifiedKFold
(#7188) @jcrist - DOC fix table formatting for SHAP (#7186) @sotagg
- Use branch-25.10 again (#7182) @jameslamb
- Small cleanup to
cuml.dask.metrics.confusion_matrix
(#7181) @jcrist - Remove
get_json
/get_detailed_text
/get_summary_text
from ensemble estimators (#7177) @jcrist - Move cert configuration to
pytest_configure
hook (#7175) @jcrist - Remove baked in datasets from preloading plugin (#7173) @betatim
- Optimize import times a bit (#7171) @jcrist
- Deprecate
accuracy_metric
(#7170) @jcrist - use 'nvidia-ml-py' instead of 'pynvml', declare 'numba-cuda' dependency pins (#7164) @jameslamb
- Deprecate
predict_model
incuml.ensemble
/cuml.dask.ensemble
(#7155) @jcrist - Remove deprecated
cupyx.scatter_add
/cupyx.scatter_max
calls (#7149) @jcrist - Fix HTML representation's fitted status (#7146) @betatim
- Replace raft calls with cuvs in DBSCAN (#7144) @aamijar
- Expose
TSNE.n_iter_
fitted attribute (#7142) @jcrist - Update rapids-dependency-file-generator (#7141) @KyleFromNVIDIA
n_streams=1
is not required for determinism incuml.ensemble
(#7140) @jcrist- Extend nightlies breakage window (#7137) @jcrist
- Add DBSCAN to the common tests (#7134) @betatim
- Remove UCX-Py (#7130) @pentschev
- Build and test with CUDA 13.0.0 (#7128) @jameslamb
- Nicer error message for not implemented fitted attributes in
cuml.accel
(#7127) @jcrist - Use gammainc from cupyx (#7126) @jcrist
- Support
kneighbors_graph
for approximate algos (#7125) @jcrist - update gputreeshap (#7121) @jameslamb
- Spectral Embedding argument
affinity={"precomputed", "nearest_neighbors"}
(#7117) @aamijar - Increase wheel size cap to 525M account for newer architectures (#7116) @divyegala
- Redo memory management for NearestNeighbors (#7115) @jcrist
- FIX Make GaussianNB more resilient (#7113) @betatim
- Remove deprecated
cuml.accel
CLI options (#7110) @jcrist - Remove deprecation warnings in 25.10 (#7109) @jcrist
- A few fixes to the profiler IPython magics (#7108) @jcrist
- Use build cluster in devcontainers (#7106) @trxcllnt
- Use rapids_cuda_enable_fatbin_compression (#7105) @robertmaynard
- Forward-merge branch-25.08 into branch-25.10 (#7103) @jcrist
- Remove deprecation warning and
data_on_host
option for UMAP (#7099) @jinsolp - Update rapids_config to handle user defined branch name (#7098) @robertmaynard
- Add some devtools to
all_*
environments (#7091) @jcrist - Configure
--import-mode
inpyproject.toml
(#7090) @jcrist - Support
SpectralEmbedding
incuml.accel
(#7087) @aamijar - Update rapids-build-backend to 0.4.1 (#7085) @KyleFromNVIDIA
- Update HDBSCAN prediction utils to use raft::linalg::map_offset (#7075) @tarang-jain
- Improved UMAP testing and debugging (#7073) @viclafargue
- Add more estimators to the compatibility test suite (#7069) @betatim
- UMAP with new Spectral Embedding initialization (#7063) @aamijar
- Remove duplicated cuml.accel install code (#7062) @betatim
- cuml RAPIDS dependency now use the new rapids-cmake branch info (#7051) @robertmaynard
- Fix input utils test case (#7050) @emmanuel-ferdman
- Propagate
cuml.accel
to subprocesses (#7047) @jcrist - Support enabling
cuml.accel
with env var (#7046) @jcrist - Add basic infrastructure for common tests (#7038) @betatim
- Allow latest OS in devcontainers (#7036) @bdice
- Update build infra to support new branching strategy (#7027) @robertmaynard
- Adding appropriate casting for a more generic
IdxT
usage in HDBSCAN (#7023) @jinsolp - Build libcuml wheel with static libcuvs (#6959) @hcho3
- Use GCC 14 in conda builds. (#6918) @vyasr
- Add capability to use different allocators in cuML Python benchmarks (#6903) @dantegd
- Reorganize tests and modify pytest invocation to support pytest 8 (#6876) @vyasr
[NIGHTLY] v25.12.00
🔗 Links
🚨 Breaking Changes
- Make
dask
an optional dependency (#7303) @jcrist - Using
int64_t
for HDBSCAN and droppingint
(#7104) @jinsolp
🐛 Bug Fixes
- Make conversion from scikit-learn SVM to cuML more robust (#7324) @csadorf
- Avoid pyyaml runtime dependency. (#7312) @csadorf
🛠️ Improvements
- Remove
cuml.ensemble
/cuml.dask.ensemble
deprecated features (#7332) @jcrist - Cleanup
Ridge
(#7330) @jcrist - Accelerate linear model predict on C-ordered inputs (#7329) @jcrist
- Cleanup
*.pxd
files andcimport
s (#7327) @jcrist - Release GIL in
SpectralEmbedding
(#7326) @jcrist - Cleanup DBSCAN (#7325) @jcrist
- A few
cuml.neighbors
cleanups (#7320) @jcrist - A few HDBSCAN cleanups (#7319) @jcrist
- Cleanup
cuml.decomposition
(#7316) @jcrist - Run the scikit-learn test suite in parallel again (#7315) @csadorf
- Cleanup TSNE python implementation (#7311) @jcrist
- Make
dask
an optional dependency (#7303) @jcrist - Update to rapids-logger 0.2 (#7301) @bdice
- Branch 25.12 merge branch 25.10 (#7291) @jcrist
- Avoid usage of deprecated cudf
from_pandas
(#7284) @TomAugspurger - Update
RAPIDS_BRANCH
, codify changes inupdate-version.sh
(#7268) @KyleFromNVIDIA - Using
int64_t
for HDBSCAN and droppingint
(#7104) @jinsolp
v25.08.00
cuML 25.08 Release Notes
🎉 What's New
⭐ Highlights
- Spectral Embedding: New algorithm for dimensionality reduction and manifold learning (#6581) @aamijar
- cuML.accel Profiler: Added profiling capabilities for Zero Code Change Acceleration (#7021) @jcrist
- cuML.accel LinearSVC/LinearSVR: New support for linear support vector classification and regression (#6866) @viclafargue
- cuML.accel set_output/get_feature_names_out: Added support for scikit-learn output configuration (#6942) @jcrist
🔧 Major Improvements
UMAP Enhancements
- Multi-GPU KNN graph building support (#7019) @jinsolp
- Improved handling of identical vectors in distance calculations (#6904) @jinsolp
- Disabled non-determinism on small datasets for better reproducibility (#7004) @viclafargue
FIL (Forest Inference Library) Improvements
- Support for wide data inference (#7014) @hcho3
- Better handling of empty categorical nodes (#6924) @hcho3
- Improved GPU context handling (#6987) @hcho3
- Restored legacy threshold behavior (#6922) @hcho3
Zero Code Change Acceleration (cuml.accel
)
- Added profilers for better performance analysis (#7021) @jcrist
- Enhanced logging for proxy estimators (#6957) @csadorf
- Implemented metadata routing support (#6950) @jcrist
- New support for
LinearSVC
andLinearSVR
(#6866) @viclafargue - Added
KernelRidge
to supported algorithms (#6917) @jcrist - Improved CLI with
-c
and-
options support (#6852) @jcrist
Algorithm Enhancements
- DBSCAN: Now computes
components_
attribute (#6976) @jcrist - LogisticRegression: Exposed
n_iter_
attribute for iteration tracking (#6911) @betatim - RandomForest: Fixed default
max_features
parameter (#6862) @jcrist - TSNE: Added fallback support for unsupported metrics (#6992) @jcrist
- Ridge: Better handling of underdetermined systems (#7003) @betatim
Developer Experience
- Testing: Enhanced CI with upstream test suites for HDBSCAN, UMAP, and other algorithms (#6995, #6989, #6986) @jcrist
- Documentation: Comprehensive updates to Python developer guide and API documentation (#6843) @csadorf
- Dependencies: Updated to CUDA 12.9 and added support for scikit-learn 1.4 (#6944, #6845) @jakirkham, @betatim
🚨 Breaking Changes
Deprecated Parameters & Functions
- UMAP:
data_on_host
parameter is deprecated (#6953) @jinsolp - HDBSCAN:
- SGD Algorithms:
penalty='none'
is deprecated inMBSGDClassifier
,MBSGDRegressor
, andSGD
(#6926) @jcrist - KMeans:
random_state
default changed toNone
(#6884) @jcrist
Removed Components
- Experimental FIL:
experimental.fil
Python module removed (#6899) @hcho3 - Legacy FIL: Removed from libcuml (#6844) @hcho3
- CUDA 11 Support: Removed from dependencies and CI (#6847, #6885) @KyleFromNVIDIA, @dantegd
- Package Distribution: Stopped uploading to downloads.rapids.ai (#6803) @jameslamb
API Changes
- Neighbors: Ported to
InteropMixin
/ProxyBase
(#6851) @jcrist - Ensemble: Ported to
InteropMixin
/ProxyBase
(#6863) @jcrist - UMAP: Ported to
InteropMixin
/ProxyBase
(#6840) @jcrist
🐛 Bug Fixes
Algorithm Fixes
- UMAP: Improved handling of identical vectors in UMAP distance calculations (#6904) @jinsolp
- TSNE: Relaxed tolerance for sparse input tests (#7033) @jinsolp
- RandomForest: Fixed default
max_features
parameter (#6862) @jcrist - HDBSCAN: Rewrote Python wrapper for better stability (#6913) @jcrist
- Logistic Regression: Increased tolerance in Dask tests (#6848) @csadorf
Compatibility & Dependencies
- Fixed compatibility with scikit-learn 1.7.0 and Python 3.13.4 (#6865) @csadorf
- Unxfailed tests affected by numba compilation errors (#6905) @csadorf
Other
📖 Documentation Updates
User Documentation
- Supported Versions: Added comprehensive version compatibility documentation (#7040) @csadorf
- Zero Code Change Acceleration: Updated title and reorganized documentation (#7030, #7026) @csadorf, @jcrist
- UMAP: Added multi-GPU KNN graph building documentation (#7019) @jinsolp
- TSNE: Fixed FFT TSNE documentation (#6967) @jinsolp
- Limitations: Revamped
cuml.accel
limitations documentation (#6965) @jcrist
Developer Documentation
- Python Developer Guide: Comprehensive updates (#6843) @csadorf
- CI Workflow: Added documentation for workflow inputs (#6952) @jameslamb
- Async Operations: Removed outdated async operation section (#6980) @csadorf
🔄 Migration Guide
For Users
- UMAP: Remove
data_on_host
parameter from your code - HDBSCAN: Update to use new prediction function signatures
- SGD: Replace
penalty='none'
with appropriate alternatives - KMeans: Be aware that
random_state=None
is now the default
For Developers
- CUDA 11: Update your development environment to CUDA 12.9
- FIL: Update imports from
experimental.fil
tofil
- Dependencies: Update to supported versions as documented
📊 Summary
This release brings significant improvements to cuML's performance, stability, and developer experience. The highlight is the new Spectral Embedding algorithm, along with major architectural improvements to HDBSCAN and UMAP. The Zero Code Change Acceleration feature continues to expand with new algorithms and better tooling.
The breaking changes are primarily focused on cleaning up deprecated APIs and improving the overall codebase structure. Users are encouraged to review the migration guide and update their code accordingly.
🔧 Internal & Technical Changes
Architecture Improvements
- HDBSCAN Migration: Migrated to cuVS cluster primitives from raft::cluster for better performance (#6560) @tarang-jain
- Module Porting: Ported
cuml.neighbors
,cuml.ensemble
, and UMAP toInteropMixin
/ProxyBase
(#6851, #6863, #6840) @jcrist - Base Class Cleanup: Removed deprecated base classes and functions (#6919, #6888) @jcrist
- Cython Optimization: De-Cythonized several modules for better maintainability (#6920) @jcrist
Performance Optimizations
- Binary Size: Reduced ARIMA kernels binary size (#6997) @jcrist
- Memory Usage: Instantiated only specific RAFT kernels (#6900, #6780) @aamijar, @divyegala
- Kernel Optimization: Used
cuvs::neighbors::knn_merge_parts
(#7005) @jcrist
Infrastructure & CI/CD
- Added GH_TOKEN pass-through for job summarization (#6894) @msarahan
- Fixed various CI test failures and flaky tests (#6906, #6877) @csadorf
- CUDA 12.9: Updated across all environments (#6944) @jakirkham
- Dependencies: Removed NVIDIA and Dask channels (#6935) @vyasr
- CI Images: Added versioned CI image tags (#7016) @jameslamb
- Testing: Enhanced with upstream test suites and better organization (#6995, #6989, #6986) @jcrist
Code Quality
- Shell Scripts: Fixed all shellcheck warnings and errors (#6901) @gforsyth
- Linting: Updated cython-lint and fixed long lines (#6969) @jcrist
- Documentation: Comprehensive updates to developer guides (#6843) @csadorf
For detailed information about specific changes, please refer to the individual pull requests linked in each entry.
v25.06.00
🚨 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
v25.04.00
🚨 Breaking Changes
- Promote experimental FIL to stable (#6464) @wphicks
- Support non-trivial
classes_
inLogisticRegression
(#6346) @jcrist - Use new rapids-logger library (#6289) @vyasr
🐛 Bug Fixes
- Unblock CI for 25.04 (#6519) @csadorf
- Skip test_rf_classification_seed for cudf.pandas tests. (#6500) @csadorf
- Remove dask to sparse workarounds (#6489) @TomAugspurger
- Fix accidental required sklearn import (#6483) @jcrist
- FIX Pass instances to the constructor of the meta-estimator in
SVC
(#6471) @betatim - Fix compiler dependency on ARM (#6456) @bdice
- Revert "Temporarily increase
max_days_without_success
(#6390)" (#6455) @divyegala - Enhance argument handling in UniversalBase to accept NoneType (#6453) @csadorf
- Fix UMAP transform (#6449) @viclafargue
- Fallback to CPU for sparse inputs for KMeans (#6448) @csadorf
- Limited support for array-like inputs (#6442) @csadorf
- Fix
test_accuracy_score
test oncudf.pandas
build (#6439) @jcrist - Support positional args in
cuml.accel
estimators (#6423) @jcrist - Fix HDBSCAN python docs related to
metric
(#6422) @divyegala - declare runtime dependency on 'packaging', update scikit-learn and hdbscan for cuml-cpu to match cuml (#6420) @jameslamb
- Fix forwarding of
initial_alpha
andlearning_rate
in UMAP (#6417) @jcrist - Implement Ridge .solver_ estimated attribute (#6415) @csadorf
- Fix multi-target prediction in linear models (#6414) @csadorf
- Ensure
output_type="pandas"
returns user-facing pandas (#6407) @jcrist - Ensure
LinearSVC
supports all input types (#6404) @jcrist - Make UMAP callback pickleable (#6402) @jcrist
- Correctly align trees in experimental FIL (#6397) @wphicks
- A few log level handling cleanups (#6393) @jcrist
- Fix cupy error in
KernelDensity
withepanechnikov
(#6388) @jcrist - Check if both ground truth and result are NaN in MSEObjectiveTest for RF (#6387) @wphicks
- Support non-native endian inputs to
LabelEncoder
(#6384) @jcrist - Fix hypothesis test in
test_kernel_ridge.py
(#6382) @jcrist - Remove debug logging from nearest neighbors test (#6376) @csadorf
- Ensure FIL CPU can be run without an available GPU (#6373) @wphicks
- Correctly pass through unhashable objects during hyperparam lookup (#6369) @wphicks
- Correct translation of RandomForest criterion hyperparameter (#6363) @wphicks
- UMAP fallback improvements (#6358) @viclafargue
- A few GPU<->CPU interop fixes (#6355) @jcrist
- Fix output type of
KernelRidge.predict
(#6354) @jcrist - Skip test_extract_partitions_shape test. (#6338) @csadorf
- Require sphinx<8.2.0 (#6336) @csadorf
- Fix call to NearestNeighbors.kneighbors() without args. (#6333) @csadorf
- Commenting out debug print statements in UMAP (#6332) @viclafargue
- Correct UMAP dispatch trigger condition (#6330) @viclafargue
- Fix issue caused by None arg provided by sklearn pipeline (#6326) @viclafargue
- Improvements for interoperability of Random Forest (#6320) @dantegd
- Improvements for PCA CPU interoperability (#6319) @dantegd
- Plumb
metric
andmetric_kwds
through to UMAP withnn_descent
(#6304) @jcrist - Use
L2Expanded
/L2SqrtExpanded
instead of the*Unexpanded
variants (#6303) @jcrist - Fix UMAP issues with large inputs (#6245) @viclafargue
- Fix
LogisticRegression.decision_function
output shape (#6235) @jcrist - Compute
noise_variance_
in PCA implementation (#6234) @jcrist - Multiple CPU interop fixes for serialization and cloning (#6223) @dantegd
📖 Documentation
- Clarify support in docs (#6452) @bdice
- Provide docs for cuml.accel command line feature (#6322) @wphicks
🚀 New Features
- Promote experimental FIL to stable (#6464) @wphicks
- UMAP 32bits dispatch mechanism (#6314) @viclafargue
- Add aarch64 conda environments (#6226) @jcrist
- SVM cpu/gpu interop (#6089) @viclafargue
🛠️ Improvements
- Don't use private APIs in FIL notebook (#6488) @jcrist
- Only use released versions of dask (#6485) @jcrist
- Move SVM working set log to debug (#6477) @jcrist
- C++
SG_RF_TEST
OOMs in 11.4 nightly (#6474) @divyegala - Revert "ci: pre-filter 11.4 jobs before they are enabled in shared workflows (#6447)" (#6470) @divyegala
- Support
__len__
in ensemble estimators (#6468) @jcrist - Add deprecation warning to
cuml-cpu
builds (#6466) @jcrist - Fix template argument of
DeviceSegmentedReduce
kernels (#6459) @miscco - Add scikit-learn acceleration tests to nightly CI tests (#6457) @csadorf
- Fix benchmark builds in devcontainers (#6450) @bdice
- ci: pre-filter 11.4 jobs before they are enabled in shared workflows (#6447) @gforsyth
- Reenable more UMAP tests on ARM (#6446) @jcrist
- Clean up after removing KMeans deprecation warning (#6445) @betatim
- Port all conda recipes to
rattler-build
(#6440) @gforsyth - Remove the deprecation warning and switch to new default (#6433) @betatim
- Remove old deprecations (#6427) @jcrist
- Fix oob_score=True handling with accelerator (#6425) @betatim
- remove unused imports (#6424) @jameslamb
- Disable codecov comments (#6419) @jcrist
- Require hypothesis tests have explicit examples (#6409) @aamijar
- Improve
accuracy_score
compatibility withsklearn
. (#6406) @jcrist - Drop
cub{Min, Max}
(#6405) @miscco - Move
accel
implementation fully tocuml.accel
(#6401) @jcrist - cuml-cpu: fix import issues, enable conda import tests (#6400) @jameslamb
- Drop
numba_utils
(#6396) @jakirkham - Simplify
cpu_to_gpu
andgpu_to_cpu
(#6395) @jcrist - Adds get_level() (#6392) @Intron7
- Temporarily increase
max_days_without_success
(#6390) @jcrist - Drop deprecated CCCL functors (#6389) @miscco
- Solve forward merger conflicts of #6313 (#6385) @dantegd
- CI: Run extended accel mode tests (#6377) @csadorf
- Use conda-build instead of conda-mambabuild (#6368) @bdice
- Don't log coverage output to terminal in CI (#6367) @jcrist
- Remove
KernelRidge
fromcuml.accel
(#6361) @jcrist - Enable UVM in cuml.accel (#6359) @wphicks
- Drop deprecated
CUB
iterators in favor ofThrust
iterators (#6356) @miscco - Adjust accel verbosity (#6353) @csadorf
- Avoid importing
umap
withimport cuml
(#6352) @jcrist - Make proxy module patching skip patching if patched library is not installed (#6348) @dantegd
- Add new
cuml.accel
module (#6347) @jcrist - Support non-trivial
classes_
inLogisticRegression
(#6346) @jcrist - Make
r2_score
compatible with Scikit-Learn (#6337) @jcrist - Remove left-over code related to strict mode. (#6335) @csadorf
- Make sure specifying default value or nothing behaves the same in
KMeans
(#6331) @betatim - Make KernelRidge inherit from UniversalBase (#6327) @betatim
- Reduce peak memory in
UMAP.fit
/UMAP.fit_transform
(#6323) @jcrist - Consolidate more Conda solves in CI (#6321) @KyleFromNVIDIA
- Require CMake 3.30.4 (#6318) @robertmaynard
- Copy attributes from the original class to the proxy (#6306) @betatim
- Use shared-workflows branch-25.04 (#6298) @bdice
- Add build_type input field for
test.yaml
(#6296) @gforsyth - Do not use
LEGACY_PTX_ARCH
argument forBlockReduce
(#6290) @miscco - Use new rapids-logger library (#6289) @vyasr
- disallow fallback to Make in wheel builds (#6286) @jameslamb
- Forward-merge branch-25.02 to branch-25.04 (#6283) @bdice
- Migrate to NVKS for amd64 CI runners (#6280) @bdice
- Add
verify-codeowners
hook (#6275) @KyleFromNVIDIA - Speed up FIL and TSNE pytests in CI (#6270) @dantegd
- Bracnh 25.04 merge branch 25.02 (#6268) @vyasr
- Add shellcheck to pre-commit and fix warnings (#6246) @gforsyth
- Prepare for n_init=auto in KMeans (#6142) @betatim
v25.02.01
🚨 Breaking Changes
- update pip devcontainers to UCX 1.18 (#6249) @jameslamb
🐛 Bug Fixes
- Remove straggling click option (#6381) @dantegd
- Fix dask logistic regression segfault/hang due to wrongly typed variable (#6281) @dantegd
- Log UMAP arrays at trace verbosity level. (#6274) @csadorf
- Ensure all method signatures are sklearn compatible (#6260) @jcrist
- Fix UMAP transform illegal memory access error when data_on_host=True (#6259) @csadorf
- Ignore cudf's dataframe deprecation. (#6229) @bdice
- Fix for porter stemmer for cuDF change and ARIMA pytest adjustments (#6227) @dantegd
- Avoid duplicate log entries (#6222) @jcrist
- Further fixes for Scipy 1.15 update for PR and nightly CI (#6213) @dantegd
- Update setulb call from Scipy for updated signature of 1.15 (#6207) @dantegd
- Adjust test_kmeans to avoid false positive failures (#6193) @dantegd
- Adjust margin of logistic regression
log_proba
pytest to avoid false positive failures (#6188) @dantegd - Skip flaky test of kernel_density in nightly job of CUDA 12.0.1 (#6184) @dantegd
- Try to reduce network usage in cuML tests. (#6174) @bdice
- cuML dask fixes to unblock CI (#6170) @dantegd
- Remap BATCH_TREE_REORG to TREE_REORG in FIL (#6161) @wphicks
📖 Documentation
- Fixes github link from pyx files (#6202) @thomasjpfan
🚀 New Features
- Allow CUDA ODR violations in 25.02 (#6264) @robertmaynard
- Define block size for sm_120 (#6250) @robertmaynard
- Support
alpha=0
inRidge
(#6236) @jcrist - Add
as_sklearn
andfrom_sklearn
APIs to serialize to CPU sklearn-estimators for supported models (#6102) @dantegd
🛠️ Improvements
- Backport release 25.04 PRs for patch release version 25.02.01 (#6329) @dantegd
- Use
rapids-pip-retry
in CI jobs that might need retries (#6293) @gforsyth - Avoid large device allocation in UMAP with nndescent (#6292) @jcrist
- Revert CUDA 12.8 shared workflow branch changes (#6282) @vyasr
- Build and test with CUDA 12.8.0 (#6266) @bdice
- update pip devcontainers to UCX 1.18 (#6249) @jameslamb
- Drop deprecated thrust features and replace with libcu++ ones (#6248) @miscco
- Add upper bound to prevent usage of numba 0.61.0 (#6244) @galipremsagar
- Normalize whitespace (#6238) @bdice
- Rename cpp/test to cpp/tests. (#6237) @bdice
- Use cuda.bindings layout. (#6233) @bdice
- Skip dispatching to GPU for unimplemented metrics in UMAP (#6224) @betatim
- Use GCC 13 in CUDA 12 conda builds. (#6221) @bdice
- declare cuda-python dependency for wheels, other small packaging changes (#6217) @jameslamb
- Bump Treelite to 4.4.1 (#6212) @hcho3
- Support raft's logger targets (#6208) @vyasr
- Use rapids-cmake for the logger (#6205) @vyasr
- consolidate pytest config in pyproject.toml (#6201) @jameslamb
- introduce libcuml wheels (#6199) @jameslamb
- Check if nightlies have succeeded recently enough (#6196) @vyasr
- Remove sphinx pinning (#6195) @vyasr
- simplify wheel CI scripts, other small packaging changes (#6190) @jameslamb
- Update for raft logger changes (#6187) @vyasr
- update telemetry actions to fluent-bit friendly style (#6186) @msarahan
- HDBSCAN and KMeans API improvements for improving CPU interoperability (#6181) @dantegd
- CPU/GPU interop with RandomForest (#6175) @hcho3
- Update version references in workflow (#6172) @AyodeAwe
- gate telemetry dispatch calls on TELEMETRY_ENABLED env var (#6171) @msarahan
- Use rapids-logger to generate the cuml logger (#6162) @vyasr
- Use estimator tags to improve sparse error handling (#6151) @dantegd
- FEA Add support for accepting a Numpy RandomState (#6150) @betatim
- prefer system install of UCX in pip devcontainers, update outdated RAPIDS references (#6149) @jameslamb
- Improve infrastructure for experimental dispatching of non existing methods in cuML (#6148) @dantegd
- Adapt to rmm logger changes (#6147) @vyasr
- Require approval to run CI on draft PRs (#6145) @bdice
- Add breaking change workflow trigger (#6130) @AyodeAwe
- Switch to native traceback in
cuml
(#6078) @galipremsagar
v24.12.00
🚨 Breaking Changes
- Forward merge Branch 24.10 into 24.12 (#6106) @divyegala
🐛 Bug Fixes
- Fix SSL error. (#6177) @bdice
- Fix
scikit-learn
version specifier (#6158) @trxcllnt - Correctly handle missing categorical data in experimental FIL (#6132) @wphicks
- Put a ceiling on cuda-python (#6131) @bdice
- Don't presume pointers are mutually exclusive for device/host. (#6128) @robertmaynard
- cuml SINGLEGPU now tells cuvs to not build with nccl/mg support (#6127) @robertmaynard
- Remove type from pickle header for CumlArray (#6120) @wphicks
- Forward merge Branch 24.10 into 24.12 (#6106) @divyegala
- Fix Dask estimators serialization prior to training (#6065) @viclafargue
🚀 New Features
- Enable HDBSCAN
gpu
training andcpu
inference (#6108) @divyegala
🛠️ Improvements
- Update FIL tests to use XGBoost UBJSON instead of binary (#6153) @hcho3
- Use sparse knn / distances from cuvs (#6143) @benfred
- Ensure MG to have the same number of allreduce calls in mean_stddev for sparse matrix to avoid hanging (#6141) @lijinf2
- Stop excluding cutlass from symbol exclusion check (#6140) @vyasr
- Optimize MG variance calculation for dataset standardization for logistic regression (#6138) @lijinf2
- enforce wheel size limits, README formatting in CI (#6136) @jameslamb
- Experimental command line interface UX (#6135) @dantegd
- add telemetry (#6126) @msarahan
- Make cuVS optional if CUML_ALGORITHMS is set (#6125) @hcho3
- devcontainer: replace
VAULT_HOST
withAWS_ROLE_ARN
(#6118) @jjacobelli - print sccache stats in builds (#6111) @jameslamb
- fix version in Doxygen docs (#6104) @jameslamb
- make conda installs in CI stricter (#6103) @jameslamb
- Make
get_param_names
a class method on single GPU estimators to match Scikit-learn closer (#6101) @dantegd - Prune workflows based on changed files (#6094) @KyleFromNVIDIA
- Update all rmm imports to use pylibrmm/librmm (#6084) @Matt711
- Merge branch 24.10 into branch 24.12 (#6083) @jameslamb
v24.10.00
🚨 Breaking Changes
🐛 Bug Fixes
- Fix train_test_split for string columns (#6088) @dantegd
- Stop shadowing free function (#6076) @vyasr
- Set default values for conftest options. (#6067) @bdice
- Add license file to conda packages (#6061) @raydouglass
- Fix np.NAN to np.nan. (#6056) @bdice
- Reenable
pytest cuml-dask
for CUDA 12.5 wheel CI tests (#6051) @divyegala - Fix for
simplicial_set_embedding
(#6043) @viclafargue - MAINT: Allow for error message to contain
np.float32(1.0)
(#6030) @seberg - Stop exporting fill_k kernel as that causes ODR violations (#6021) @robertmaynard
- Avoid cudf column APIs after cudf.Series disallows column inputs (#6019) @mroeschke
- Use HDBSCAN package pin to
0.8.38
(#5906) @divyegala
📖 Documentation
- Update UMAP doc (#6064) @viclafargue
- Update README in experimental FIL (#6052) @hcho3
- add docs for simplicial_set (#6042) @Intron7
🚀 New Features
- TSNE CPU/GPU Interop (#6063) @divyegala
- Enable GPU
fit
and CPUtransform
in UMAP (#6032) @divyegala
🛠️ Improvements
- Migrate to use cuVS for vector search (#6085) @benfred
- Support all-zeroes feature vectors for MG sparse logistic regression (#6082) @lijinf2
- Update update-version.sh to use packaging lib (#6081) @AyodeAwe
- Use CI workflow branch 'branch-24.10' again (#6072) @jameslamb
- Update fmt (to 11.0.2) and spdlog (to 1.14.1), add those libraries to libcuml conda host dependencies (#6071) @jameslamb
- Update flake8 to 7.1.1. (#6070) @bdice
- Add support for Python 3.12, update to umap-learn==0.5.6 (#6060) @jameslamb
- Fix compiler warning about signed vs unsigned ints (#6053) @hcho3
- Update rapidsai/pre-commit-hooks (#6048) @KyleFromNVIDIA
- Drop Python 3.9 support (#6040) @jameslamb
- Add use_cuda_wheels matrix entry (#6038) @KyleFromNVIDIA
- Switch debug build to RelWithDebInfo (#6033) @rongou
- Remove NumPy <2 pin (#6031) @seberg
- Remove old dask-glm based logistic regression (#6028) @dantegd
- [FEA] UMAP API for building with batched NN Descent (#6022) @jinsolp
- Enabling CPU/GPU interop for SVM, DBSCAN and KMeans (#6020) @viclafargue
- Update pre-commit hooks (#6016) @KyleFromNVIDIA
- Improve update-version.sh (#6014) @bdice
- Use tool.scikit-build.cmake.version, set scikit-build-core minimum-version (#6012) @jameslamb
- Merge branch-24.08 into branch-24.10 (#5981) @jameslamb
- Use CUDA math wheels (#5966) @KyleFromNVIDIA
v24.08.00
🐛 Bug Fixes
- Fixes for encoders/transformers for cudf.pandas (#5990) @dantegd
- BUG: remove sample parameter from pca call to mean (#5980) @mfoerste4
- Fix segfault and other errors in ForestInference.load_from_sklearn (#5973) @hcho3
- Rename
.devcontainer
s for CUDA 12.5 (#5967) @jakirkham - [MNT] Small NumPy 2 related fixes (#5954) @seberg
- CI Fix: use ld_preload to avoid libgomp issue on ARM jobs (#5949) @dantegd
- Fix for benchmark runner to handle parameter sweeps of multiple data types (#5938) @dantegd
- Avoid extra memory copy when using cp.concatenate in cuml.dask kmeans (#5937) @dantegd
- Assign correct
labels_
incuml.dask.kmeans
(#5931) @dantegd - Fix nightly jobs by updating hypothesis strategies to account for sklearn change (#5925) @dantegd
- Fix for SVC fit_proba not using class weights (#5912) @pablotanner
- Fix
cudf.pandas
failure ontest_convert_input_dtype
(#5885) @dantegd - Fix
cudf.pandas
failure ontest_convert_matrix_order_cuml_array
(#5882) @dantegd - Simplify cuml array (#5166) @wence-
🚀 New Features
- [FEA] Enable UMAP to build knn graph using NN Descent (#5910) @jinsolp
- Allow estimators to accept any dtype (#5888) @dantegd
🛠️ Improvements
- Add support for XGBoost UBJSON in FIL (#6009) @hcho3
- split up CUDA-suffixed dependencies in dependencies.yaml (#5974) @jameslamb
- Use workflow branch 24.08 again (#5970) @KyleFromNVIDIA
- Bump Treelite to 4.3.0 (#5968) @hcho3
- reduce memory_footprint for sparse PCA transform (#5964) @Intron7
- Build and test with CUDA 12.5.1 (#5963) @KyleFromNVIDIA
- Support int64 index type in MG sparse LogisticRegression (#5962) @lijinf2
- Add CUDA_STATIC_MATH_LIBRARIES (#5959) @KyleFromNVIDIA
- skip CMake 3.30.0 (#5956) @jameslamb
- Make
ci/run_cuml_dask_pytests.sh
environment-agnostic again (#5950) @trxcllnt - Use verify-alpha-spec hook (#5948) @KyleFromNVIDIA
- nest cuml one level deeper in python (#5944) @msarahan
- resolve dependency-file-generator warning, other rapids-build-backend followup (#5928) @jameslamb
- Adopt CI/packaging codeowners (#5923) @bdice
- Remove text builds of documentation (#5921) @vyasr
- Fix conflict of forward-merge #5905 of branch-24.06 into branch-24.08 (#5911) @dantegd
- Bump Treelite to 4.2.1 (#5908) @hcho3
- remove unnecessary 'setuptools' dependency (#5901) @jameslamb
- [FEA] PCA Initialization for TSNE (#5897) @aamijar
- Use rapids-build-backend (#5804) @KyleFromNVIDIA
v24.06.01
🐛 Bug Fixes
- [HOTFIX] Fix import of sklearn by using cpu_only_import (#5914) @dantegd
- Fix label binarize for binary class (#5900) @jinsolp
- Fix RandomForestClassifier return type (#5896) @jinsolp
- Fix nightly CI: remove deprecated creation of columns by using explicit dtype (#5880) @dantegd
- Fix DBSCAN allocates rbc index even if deactivated (#5859) @mfoerste4
- Remove gtest from dependencies.yaml (#5854) @robertmaynard
- Support expression-based Dask Dataframe API (#5835) @rjzamora
- Mark all kernels with internal linkage (#5764) @robertmaynard
- Fix build.sh clean command (#5730) @csadorf
📖 Documentation
- Update the developer's guide with new copyright hook (#5848) @KyleFromNVIDIA
🚀 New Features
- Always use a static gtest and gbench (#5847) @robertmaynard
🛠️ Improvements
- [HOTFIX] Add compatibility of imports with multiple Scikit-learn versions (#5922) @dantegd
- Support double precision in MNMG Logistic Regression (#5898) @lijinf2
- Reduce and rename cudf.pandas integrations jobs (#5890) @dantegd
- Fix building cuml with CCCL main (#5886) @trxcllnt
- Add optional CI job for integration tests with cudf.pandas (#5881) @dantegd
- Enable pytest failures on FutureWarnings/DeprecationWarnings (#5877) @mroeschke
- Remove return in test_lbfgs (#5875) @mroeschke
- Avoid dask_cudf.core imports (#5874) @bdice
- Support CPU object for
train_test_split
(#5873) @isVoid - Only use functions in the limited API (#5871) @vyasr
- Replace deprecated disutils.version with packaging.version (#5868) @mroeschke
- Adjust deprecated cupy.sparse usage (#5867) @mroeschke
- Fix numpy 2.0 deprecations (#5866) @mroeschke
- Fix deprecated positional arg usage (#5865) @mroeschke
- Use int instead of float in random.randint (#5864) @mroeschke
- Migrate to
{{ stdlib("c") }}
(#5863) @hcho3 - Avoid deprecated API in notebook (#5862) @rjzamora
- Add dedicated handling for cudf.pandas wrapped Numpy arrays (#5861) @betatim
- Prepend devcontainer name with the username (#5860) @trxcllnt
- add --rm and --name to devcontainer run args (#5857) @trxcllnt
- Update pip devcontainers to UCX v1.15.0 (#5856) @trxcllnt
- Replace rmm::mr::device_memory_resource* with rmm::device_async_resource_ref (#5853) @harrism
- Update scikit-learn to 1.4 (#5851) @betatim
- Prevent undefined behavior when passing handle from Treelite to cuML FIL (#5849) @hcho3
- Adds missing files to
update-version.sh
(#5830) @AyodeAwe - Enable all tests for
arm
arch (#5824) @galipremsagar - Address PytestReturnNotNoneWarning in cuml tests (#5819) @mroeschke
- Handle binary classifier with all-0 labels (#5810) @hcho3
- Use pytest_cases.fixture to fix warnings. (#5798) @bdice
- Enable Dask tests with UCX-Py/UCXX in CI (#5697) @pentschev