Version 1.10#

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.10.dev0#

October 2026

Changed models#

Changes impacting many modules#

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.

Callbacks#

sklearn.calibration#

sklearn.cluster#

sklearn.datasets#

sklearn.discriminant_analysis#

  • Efficiency discriminant_analysis.LinearDiscriminantAnalysis is faster to fit: the target is ordinal-encoded once in fit and the number of classes is passed down to the internal helpers, removing a redundant pass over the target to recompute the unique class labels. Computing the class means is up to 1.4x faster for large numbers of samples and classes. By Kiyarash Fazeli. #34475

sklearn.ensemble#

sklearn.feature_selection#

sklearn.impute#

  • API Change impute.IterativeImputer is no longer experimental. It can now be imported directly with from sklearn.impute import IterativeImputer, and importing sklearn.experimental.enable_iterative_imputer is no longer required (doing so now raises a warning and is a no-op). It also no longer raises a exceptions.ConvergenceWarning when max_iter is reached without meeting the tol stopping criterion, as non-convergence of the round-robin imputation is expected. The User Guide now documents why the imputed values are not guaranteed to converge and why investing in better imputation often yields diminishing returns for prediction. By Guillaume Lemaitre. #34214

sklearn.inspection#

  • Enhancement The parameter multiclass_colors was deprecated in favour of target_colors in inspection.DecisionBoundaryDisplay. The attribute multiclass_colors_ was also renamed to target_colors_. Now they can be used for binary problems as well without causing confusion (which will be added in a follow-up PR). By Anne Beyer. #34092

sklearn.linear_model#

sklearn.manifold#

sklearn.metrics#

sklearn.mixture#

sklearn.model_selection#

sklearn.neighbors#

sklearn.pipeline#

  • Fix The default value for the transform_input parameter of Pipeline was changed from None to ("X_val",) so that the validation set, when passed to fit, is always transformed alongside X, to prevent easy to miss mistakes. By Jérémie du Boisberranger. #34263

sklearn.preprocessing#

sklearn.tree#

sklearn.utils#

  • Fix The HTML representation of estimators is now keyboard accessible. The collapsible estimator boxes are built with native <details> and <summary> elements, so they can be reached and toggled with a keyboard. They are announced as disclosure widgets by screen readers. The element with keyboard focus is now shown with a visible outline. By Dea María Léon. #34582

Code and documentation contributors

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

TODO: update at the time of the release.