v1.6.0¶
September 2026
28 people have contributed to this release through a collective 102 GitHub Pull Requests.
Highlights¶
LearningShapeletClassifier has been removed, following its deprecation in v1.5.0.
New estimators, including the ExtendedIsolationForest and MADRID anomaly detectors, the TimeSeriesAgglomerative clusterer and PrevalidatedRidgeClassifier.
Significant speed-ups across many estimators and transforms, including HIVE-COTE, interval-based forests, rotation forest, BOSS and cBOSS, TDE, Arsenal and RandomShapeletTransform.
Support for pandas 3, scikit-learn 1.9, and updates to many dependency bounds.
Deprecated for removal in v1.7.0: the use_pycatch22 parameter, and the unused load_lynx, load_shampoo_sales and load_PBS_dataset dataset loaders.
Lots of bug fixes!
Anomaly Detection¶
[ENH] Changes left stampi so fit_is_empty (#3591) @TonyBagnall
[BUG] Fix inverted MERLIN near-constant std check (#3763) @VedantMadane
[BUG] reverse_windowing: make the psutil import optional (#3741) @mkzung
[ENH] Add Extended Isolation Forest anomaly detector (#2113) (#3626) @CedricConday
[ENH] Add MADRID multi-length discord anomaly detector (#3702) @JayeshSuryavanshi
Base¶
[BUG] BaseCollectionEstimator: enforce the capability:univariate tag (#3742) @mkzung
[MNT] Improve coverage for base package (#3516) @TonyBagnall
Classification¶
[BUG] Relegate flat test to a warning (#3598) @TonyBagnall
[BUG] Fix testing sklearn CV splitter to not have empty splits (#3608) @TonyBagnall
[BUG] Fix
MUSEwithscikit-learn1.8 and drop deprecated parameters (#3753) @MatthewMiddlehurst[BUG] Stabilize HIVE-COTE lifecycle test (#3762) @EltonChang1
[BUG] Redcomet fix and testing (#3673) @TonyBagnall
[MNT] Deprecate LearningShapeletClassifier (#3663) @TonyBagnall
[MNT] dimensions -> channels (#3664) @TonyBagnall
[DOC] finish remaining docstring clean-up in unequal_length (#3496) (#3686) @TonyBagnall
[DOC] Fix class_weight description in numerous classifiers. (#3837) @johannfaouzi
[ENH] Speed up interval-based forests (BaseIntervalForest / RandomIntervals) (#3620) @TonyBagnall
[ENH] Speedup BOSS/cBOSS (up to 7x speedup, average 2x-3x) by vectorizing sparse matrix distance computations (#3640) @patrickzib
[ENH] MiniRocketClassifier: change fitted estimator from protected to public (#3713) @montyy123
[ENH] Rocket/MultiRocket/Hydra classifiers: change fitted estimators from protected to public (#3714) @montyy123
[ENH] Speed up rotation forest (#3631) @TonyBagnall
[ENH] Add PrevalidatedRidgeClassifier (#3670) @adam-goose
[ENH] Replace the esig soft dependency with RoughPy (#3754) @MatthewMiddlehurst
[ENH] Speed up TDE (#3625) @TonyBagnall
[ENH] Speed up Arsenal classifier (#3655) @TonyBagnall
[ENH] remove redundant Arsenal test for threaded output (#3829) @TonyBagnall
[ENH] HC2 verbosity (#3644) @TonyBagnall
[MNT] replace REDCOMETS imblearn oversampling with aeon SMOTE/ROS (#3669) @BB0813
[MNT] Make estimator_ and transformers_ attributes public in BaseRIST (#3728) @aashoday
[MNT] Make early_classification estimator_ and estimators_ attributes public (#3731) @aashoday
[MNT] Make estimator and transformer attributes public in interval-based classifiers (#3733) @aashoday
[MNT] Make classification/shapelet_based estimator_ and pipeline_ attributes public (#3730) @aashoday
[MNT] Make estimators_ attribute public in HIVE-COTE classifiers (#3732) @aashoday
[ENH] Speed up DrCIF part 1: Optimise Catch22 transformer (#3618) @TonyBagnall
[BUG] return empty TIC outputs for all-stump forests (#3681) @AshSgDe29071999
Clustering¶
[ENH] add time series agglomerative clusterer (#3553) @SotonSweetXss
[ENH] Add capability:predict tag for Clustering (#3613) @TonyBagnall
[BUG] KASBA fix and clustering tests (#3604) @TonyBagnall
[MNT] Make TimeSeriesAgglomerative estimator_ attribute public (#3695) @aashoday
[MNT] make clustering/feature_based estimator_ attributes public (#3703) @aashoday
[MNT] make clustering/deep_learning estimator_ attributes public (#3718) @aashoday
Datasets¶
[DEP] deprecate unused dataset loaders (#2835) (#3690) @TonyBagnall
[DOC] Clear stale ImportError output from data_unequal notebook (#3748) @AnkitKumarIISERB
Dependencies¶
[ENH] Replace the esig soft dependency with RoughPy (#3754) @MatthewMiddlehurst
[MNT] Declare joblib and threadpoolctl as direct dependencies (#3785) @Obila34
[MNT] Allow scikit 1.9 (#3787) @TonyBagnall
[MNT] Update
pandasupper bound to allow pandas 3 (#3834) @MatthewMiddlehurst[MNT] Update
tslearnandsphinxupper bounds (#3835) @MatthewMiddlehurst
Distances¶
[ENH] Remove dense bounding box from DTW (#3610) @TonyBagnall
Forecasting¶
[BUG] Fix SCUM predict refitting (#3581) @TonyBagnall
[BUG] NaiveForecaster: validate seasonal_period for strategy=’seasonal_last’ (#3615) @CedricConday
[BUG] AutoARIMA: respect max_d in the differencing loop (#3614) @CedricConday
[BUG] Fix iterative forecast when horizon >1 (#3667) @TonyBagnall
[BUG] Fix numpy 2 incompatibilities in ClaSP, TRILITE and NBeats (#3795) @TonyBagnall
[DOC] Rerun sast and forecasting notebooks to clear stale error outputs (#3813) @AnkitKumarIISERB
[ENH] Better examples for CES and AutoCES (#3592) @GiGiKoneti
[ENH] add drift strategy to NaiveForecaster (#3668) @TonyBagnall
[MNT] Enhanced forecasting tests (#3580) @TonyBagnall
[MNT] Forecasting test coverage (#3602) @TonyBagnall
[MNT] Add CI test for correct API entries (#3750) @GiGiKoneti
Regression¶
[BUG] Fix sporadic fail for Inception time file save (#3601) @TonyBagnall
[ENH] Speed up interval-based forests (BaseIntervalForest / RandomIntervals) (#3620) @TonyBagnall
[ENH] Speed up rotation forest (#3631) @TonyBagnall
[ENH] Speed up interval-based forest regressors (#3628) @alexbanwell1
[MNT] make regression estimator_ attributes public (#3712) @aashoday
[MNT] Make estimator_ and transformers_ attributes public in BaseRIST (#3728) @aashoday
[ENH] Speed up DrCIF part 1: Optimise Catch22 transformer (#3618) @TonyBagnall
Similarity Search¶
Transformations¶
[BUG] Padder: validate fill_value and reject array-likes (#3495) (#3585) @CedricConday
[BUG] Fix nightly tests related to SFA failing (#3612) @patrickzib
[BUG] fix outlier_norm using wrong feature indices in pycatch22 path (#3638) @BB0813
[BUG] fix uncommented njit decorator in sfa_fast (#3634) @patrickzib
[BUG] fix ACF, STL and MSTL (#3651) @TonyBagnall
[MNT] Improve transformations/series test coverage (#3533) @TonyBagnall
[BUG] Fix PeriodogramTransformer crash on unequal-length input for non-constant pad_with (#3704) @Hrafz
[BUG]
DiscreteFourierApproximation: keep conjugate-symmetric terms (#3711) @Hrafz[BUG] ScaledLogitSeriesTransformer: apply the scaled logit when a bound is zero (#3740) @mkzung
[BUG] CollectionToSeriesWrapper: return a series, not a collection of one (#3746) @mkzung
[BUG] samplers: ask for the labels transform needs instead of failing on them (#3797) @mkzung
[BUG] Fix numpy 2 incompatibilities in ClaSP, TRILITE and NBeats (#3795) @TonyBagnall
[BUG] Redcomet fix and testing (#3673) @TonyBagnall
[DOC] Fix BaseSeriesTransformer class docstring (#3801) @natsu0529
[DOC] Rerun sast and forecasting notebooks to clear stale error outputs (#3813) @AnkitKumarIISERB
[ENH] Improved coverage for channel selectors (#3522) @TonyBagnall
[ENH] Speed up interval-based forests (BaseIntervalForest / RandomIntervals) (#3620) @TonyBagnall
[ENH] Parallelize SAX and PAA transformers (#2980) @aadya940
[ENH] speed up RandomShapeletTransform (#3574) @TonyBagnall
[ENH] Enhancing the functionality of SAX (#3649) @hadifawaz1999
[MNT] Deprecate pycatch22 (#3642) @TonyBagnall
[ENH] Speed up interval-based forest regressors (#3628) @alexbanwell1
[ENH] Replace the esig soft dependency with RoughPy (#3754) @MatthewMiddlehurst
[ENH] Speed up Arsenal classifier (#3655) @TonyBagnall
[ENH] Skip redundant per-slice input validation in interval feature extraction (#3665) @TonyBagnall
[MNT] Deprecation of StatsModelsACF and StatsModelsPACF (#3653) @TonyBagnall
[MNT] replace REDCOMETS imblearn oversampling with aeon SMOTE/ROS (#3669) @BB0813
[MNT] Expose MSTLSeriesTransformer through public API (#3689) @Solaris-star
[MNT] Expose YeoJohnsonTransformer through public API (#3739) @mkzung
[MNT] Fix a typo in a warning message generated by RandomDilatedShapeletTransform (#3804) @johannfaouzi
[DOC] Fix unequal length transformer docstrings (#3573) @kiwoongyoon
[ENH] Speed up DrCIF part 1: Optimise Catch22 transformer (#3618) @TonyBagnall
Unit Testing¶
[BUG] Use removesuffix(“.py”) when collecting changed files for numba cache invalidation (#3796) @Anai-Guo
[ENH] Speed up interval-based forest regressors (#3628) @alexbanwell1
[MNT] Enhanced forecasting tests (#3580) @TonyBagnall
[MNT] Fix
check_non_state_changing_method(#3412) @MatthewMiddlehurst[MNT] Add CI test for correct API entries (#3750) @GiGiKoneti
Utilities¶
[BUG] Remove unused broken compute_mean_stds_collection_parallel helper (#3734) @kiwoongyoon
[ENH] Add parameters to method timer and stop
fittimer from overwriting the attribute (#3656) @MatthewMiddlehurst[BUG] Znorm utils do not preserve float precision (#3707) @baraline
Visualisations¶
[MNT] Use Agg backend in shapelet plotting tests (#3611) @TonyBagnall
[BUG] Install graphviz for the notebook example runs (#3782) @TonyBagnall
Other¶
[BUG] Uniformize kernelspace name and display_name across notebooks (#3636) @baraline
[DOC] Update changelog.md for 1.5.0 and make requirement to edit this file more explicit (#3597) @TonyBagnall
[DOC] Update funding information in about.md (#3660) @hadifawaz1999
[DOC] Replace “indexes” with “indices” in docstrings for numpy consistency (#3736) @AnkitKumarIISERB
[DOC] Add new papers to papers using aeon (#3786) @TonyBagnall
[DOC] Fix wrong names in See Also sections (#3838) @johannfaouzi
[MNT] Upgrade Python version to 3.13 in ReadTheDocs config (#3635) @MatthewMiddlehurst
Contributors¶
@aadya940, @aashoday, @adam-goose, @alexbanwell1, @Anai-Guo, @AnkitKumarIISERB, @AshSgDe29071999, @baraline, @BB0813, @CedricConday, @EltonChang1, @GiGiKoneti, @hadifawaz1999, @Hrafz, @JayeshSuryavanshi, @johannfaouzi, @kiwoongyoon, @L4XB, @MatthewMiddlehurst, @mkzung, @montyy123, @natsu0529, @Obila34, @patrickzib, @Solaris-star, @SotonSweetXss, @TonyBagnall, @VedantMadane