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