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_scoretest oncudf.pandasbuild (#6439) @jcrist - Support positional args in
cuml.accelestimators (#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_alphaandlearning_ratein 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
LinearSVCsupports 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
KernelDensitywithepanechnikov(#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
metricandmetric_kwdsthrough to UMAP withnn_descent(#6304) @jcrist - Use
L2Expanded/L2SqrtExpandedinstead of the*Unexpandedvariants (#6303) @jcrist - Fix UMAP issues with large inputs (#6245) @viclafargue
- Fix
LogisticRegression.decision_functionoutput 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_TESTOOMs 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-cpubuilds (#6466) @jcrist - Fix template argument of
DeviceSegmentedReducekernels (#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_scorecompatibility withsklearn. (#6406) @jcrist - Drop
cub{Min, Max}(#6405) @miscco - Move
accelimplementation fully tocuml.accel(#6401) @jcrist - cuml-cpu: fix import issues, enable conda import tests (#6400) @jameslamb
- Drop
numba_utils(#6396) @jakirkham - Simplify
cpu_to_gpuandgpu_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
KernelRidgefromcuml.accel(#6361) @jcrist - Enable UVM in cuml.accel (#6359) @wphicks
- Drop deprecated
CUBiterators in favor ofThrustiterators (#6356) @miscco - Adjust accel verbosity (#6353) @csadorf
- Avoid importing
umapwithimport cuml(#6352) @jcrist - Make proxy module patching skip patching if patched library is not installed (#6348) @dantegd
- Add new
cuml.accelmodule (#6347) @jcrist - Support non-trivial
classes_inLogisticRegression(#6346) @jcrist - Make
r2_scorecompatible 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_ARCHargument 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-codeownershook (#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