Changelog#
Unreleased#
Release highlights#
Changed#
Added#
Removed#
Fixed#
0.14.0 (2026-03-19)#
Release highlights#
skore.evaluate()andskore.compare()are new top-level dispatcher functions that create the appropriate report class from an estimator in a single function call. See #2573 by @raotalha71 and #2604 by @glemaitre.skore can now integrate with MLflow by passing
mode="mlflow"and the newtracking_urioption toProject. Example usage is available here. See #2527 by @cakedev0.
Changed#
Breaking: The filtering and display arguments previously accepted by
.summarize(), e.g.aggregate,flat_index,favorability, have been moved toframe(), for every report. See #2536, #2545, and #2566 by @auguste-probabl.Breaking:
Display.set_style()now returnsNoneinstead ofself. Method chaining such asdisplay.set_style(...).plot()is no longer supported. See #2579 by @direkkakkar319-ops.Breaking:
pos_labelcan no longer be overridden when calling a metric or a display; it must be set when creating the report. See #2588 by @jeromedockes.Breaking: The
nameparameter ofComparisonReport.create_estimator_report()has been renamed toreport_key. See #2561 by @GaetandeCast.
Added#
PermutationImportanceDisplaynow supports alevelparameter to select which level of a multi-index DataFrame to use for feature names. See #2565 by @GaetandeCast.CoefficientsDisplaynow supports aggregation via anaggregateparameter inframe(), following the same pattern asImpurityDecreaseDisplay. See #2552 by @MuditAtrey.PermutationImportanceDisplayandImpurityDecreaseDisplaynow support parametersselect_kandsorting_order, with the same behaviour already available inCoefficientsDisplay. Passingselect_k=0now raises a clearer error. See #2591 by @GaetandeCast.
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#
CrossValidationReport.metrics.summarizenow raises aNotImplementedErrorupondata_source="both". See #2548 by @auguste-probabl.Passing sparse matrices to data accessors now raises a
NotImplementedErrorinstead of crashing with an unhelpful error. See #2543 by @KaranSinghDev.
0.13.1 (2026-03-05)#
Release highlights#
ComparisonReportnow supports permutation importance throughpermutation_importance(). See #2511 by @GaetandeCast.ImpurityDecreaseDisplay.frame()now supports aggregation through anaggregateparameter. See #2539 by @MuditAtrey.
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
modeparameter is now required when creating aProjectin “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
CrossValidationReportfitting process are no longer caught by skore. See #2462 by @glemaitre.
Added#
The documentation now includes a short example illustrating local usage of
skore.Project. See #2481 by @glemaitre.The documentation now includes a short example explaining the design philosophy of the skore API. See #2480 by @glemaitre.
The report URL is now printed after uploading to Skore Hub. See #2488 by @rouk1.
Reports now support setting
pos_labelafter initialization, enabling users to change the positive class for binary classification metrics. See #2438 by @glemaitre.CrossValidationReportnow supports permutation feature importance throughpermutation_importance(). See #2370 by @glemaitre.ComparisonReportnow supports mean decrease in impurity (MDI) feature importance throughimpurity_decrease(). See #2387 by @auguste-probabl.ConfusionMatrixDisplaynow supportsthreshold_value="all"to display confusion matrices for all available thresholds. See #2463 by @glemaitre.
Fixed#
Tab completion now works correctly for reports in IPython. See #2427 by @jeromedockes.
PredictionErrorDisplaynow supports multioutput regression models. See #2434 by @GaetandeCast.CoefficientsDisplaynow uses separate y-axes for each model when comparing models with different features. See #2403 by @GaetandeCast.Reports no longer crash when
yis provided as a list or tuple. See #2433 by @cakedev0.skore.train_test_split()is now more robust to large inputs. See #2404 by @cakedev0.Data normalization in the data accessor is now more robust when converting various input formats to DataFrames. See #2440 by @cakedev0.
Project names are now limited to 64 characters when interacting with Skore Hub. See #2454 by @auguste-probabl.
An error is now raised earlier and more clearly when a report is pushed to Skore Hub without a
pos_label. See #2436 by @glemaitre.Empty project names are no longer allowed when interacting with Skore Hub. See #2453 by @auguste-probabl.
pandas.Timestampobjects no longer crash uploading a report to Skore Hub. See #2484 by @thomass-dev.