Changelog#

Unreleased#

Release highlights#

Changed#

Added#

Removed#

Fixed#

0.17.0 (2026-04-30)#

Changed#

Added#

0.16.0 (2026-04-20)#

Release highlights#

  • Breaking change: Computing custom metrics on reports is now done by calling EstimatorReport.metrics.add() followed by summarize(). custom_metric() has been removed, and summarize() no longer accepts callables or keyword arguments; only names of registered metrics are supported (which includes the default metrics such as accuracy for classifiers). Example usage is available here. See #2736 by @auguste-probabl.

  • Reports now expose a report.diagnose() method that automatically detects common modeling issues such as overfitting and underfitting.

Changed#

  • Breaking change: cache_predictions no longer accepts n_jobs or response_methods on estimator, cross-validation, and comparison reports. It now infers and caches the relevant prediction outputs automatically. See #2677 by @cakedev0.

  • Breaking change: Computing custom metrics on reports is now done by calling EstimatorReport.metrics.add() followed by summarize(). custom_metric() has been removed, and summarize() no longer accepts callables or keyword arguments; only names of registered metrics are supported (which includes the default metrics such as accuracy for classifiers). Example usage is available here. See #2736 by @auguste-probabl.

  • Python 3.14.4 is now supported, while Python 3.10 support is now deprecated. See #2771 by @thomass-dev.

Added#

0.15.0 (2026-04-02)#

Changed#

  • Breaking change: Display.plot() (and all concrete displays) now returns a matplotlib.figure.Figure instead of storing plotting artifacts on the display. The attributes figure_, ax_, and facet_ are no longer set. Use fig = display.plot(...) and then fig.axes, fig.show(), or rely on the figure’s rich representation in notebooks. #2660 by @glemaitre.

  • Breaking change: EstimatorReport now requires X_test. If X_test is omitted (None), construction raises ValueError. #2673 by @glemaitre.

  • Breaking change: binary classification metrics and curve displays no longer require pos_label to be set, and skore no longer infers it implicitly. When pos_label is left unset, precision and recall metrics, as well as ROC and precision-recall curves, now expose both classes instead of failing. #2663 by @cakedev0.

Added#

0.14.0 (2026-03-19)#

Release highlights#

Changed#

Added#

Removed#

  • Breaking: The data_source="X_y" option has been removed from report classes; "train" and "test" are now the only options. See #2537 by @jeromedockes.

Fixed#

0.13.1 (2026-03-05)#

Release highlights#

Fixed#

  • The figure-level legend is no longer cut off when saving the figure produced by PredictionErrorDisplay.plot(). See #2530 by @MuditAtrey.

0.13.0 (2026-02-26)#

Release highlights#

  • Help menus accessed through help() methods now render as interactive HTML in Jupyter notebooks and IPython environments. See #2316 by @glemaitre.

Changed#

  • Breaking: Reports no longer accept clustering models and only support supervised learning tasks (classification and regression). See #2489 by @GaetandeCast.

  • Breaking: The mode parameter is now required when creating a Project in “hub” mode. See #2401 by @thomass-dev.

  • DataFrame column names in reports now consistently use singular form (e.g., “model” instead of “models”). See #2392 by @Sharkyii.

  • Exceptions raised during the CrossValidationReport fitting process are no longer caught by skore. See #2462 by @glemaitre.

Added#

Fixed#