Version 1.8#

Legend for changelogs

  • Major Feature something big that you couldn’t do before.

  • Feature something that you couldn’t do before.

  • Efficiency an existing feature now may not require as much computation or memory.

  • Enhancement a miscellaneous minor improvement.

  • Fix something that previously didn’t work as documented – or according to reasonable expectations – should now work.

  • API Change you will need to change your code to have the same effect in the future; or a feature will be removed in the future.

Version 1.8.dev0#

October 2025

Changes impacting many modules#

  • Efficiency Improved CPU and memory usage in estimators and metric functions that rely on weighted percentiles and better match NumPy and Scipy (un-weighted) implementations of percentiles. By Lucy Liu #31775

Support for Array API#

Additional estimators and functions have been updated to include support for all Array API compliant inputs.

See Array API support (experimental) for more details.

Metadata routing#

Refer to the Metadata Routing User Guide for more details.

  • Fix Fixed an issue where passing sample_weight to a Pipeline inside a GridSearchCV would raise an error with metadata routing enabled. By Adrin Jalali. #31898

sklearn.base#

sklearn.calibration#

sklearn.cluster#

sklearn.covariance#

sklearn.decomposition#

sklearn.ensemble#

sklearn.gaussian_process#

sklearn.linear_model#

sklearn.manifold#

sklearn.metrics#

sklearn.multiclass#

sklearn.preprocessing#

sklearn.tree#

sklearn.utils#

  • Efficiency The function sklearn.utils.extmath.safe_sparse_dot was improved by a dedicated Cython routine for the case of a @ b with sparse 2-dimensional a and b and when a dense output is required, i.e., dense_output=True. This improves several algorithms in scikit-learn when dealing with sparse arrays (or matrices). By Christian Lorentzen. #31952

  • Enhancement The parameter table in the HTML representation of all scikit-learn estimators and more generally of estimators inheriting from base.BaseEstimator now displays the parameter description as a tooltip and has a link to the online documentation for each parameter. By Dea María Léon. #31564

  • Enhancement sklearn.utils._check_sample_weight now raises a clearer error message when the provided weights are neither a scalar nor a 1-D array-like of the same size as the input data. By Kapil Parekh. #31873

  • Enhancement sklearn.utils.estimator_checks.parametrize_with_checks now lets you configure strict mode for xfailing checks. Tests that unexpectedly pass will lead to a test failure. The default behaviour is unchanged. By Tim Head. #31951

  • Enhancement Fixed the alignment of the “?” and “i” symbols and improved the color style of the HTML representation of estimators. By Guillaume Lemaitre. #31969

  • Fix Changes the way color are chosen when displaying an estimator as an HTML representation. Colors are not adapted anymore to the user’s theme, but chosen based on theme declared color scheme (light or dark) for VSCode and JupyterLab. If theme does not declare a color scheme, scheme is chosen according to default text color of the page, if it fails fallbacks to a media query. By Matt J.. #32330

  • API Change :function:`utils.extmath.stable_cumsum` is deprecated and will be removed in v1.10. Use np.cumulative_sum with the desired dtype directly instead. By Tiziano Zito #32258. #32258

Code and documentation contributors

Thanks to everyone who has contributed to the maintenance and improvement of the project since version 1.7, including:

TODO: update at the time of the release.