|
| 1 | +# v1.4.0 |
| 2 | + |
| 3 | +March 2026 |
| 4 | + |
| 5 | +## Highlights |
| 6 | + |
| 7 | +- New native implementations of estimators, including: ROCKAD anomaly detector; K-Shape clusterer; TS-QUAD configuration for in ElasticEnsemble classifier; ETS/AutoETS and DeepARF forecasters; and STL, MSTL and LOWESS transformers |
| 8 | +- Most classification and regression data is now loaded from Zenodo, including from the Multiverse, a relaunched multivariate classification archive |
| 9 | +- Deprecate Python 3.10 and allow Python 3.14, along with altering version bounds for many core derpendencies |
| 10 | +- Plenty of bug fixes and deprecation actions |
| 11 | + |
| 12 | +Thanks to our 28 contributors with 89 pull requests since the last release. |
| 13 | + |
| 14 | +## Anomaly Detection |
| 15 | + |
| 16 | +- [BUG] Fix broken fit_predict in anomaly detection & add tests ({pr}`3185`) {user}`Adityakushwaha2006` |
| 17 | +- [ENH] Add whole-series ROCKAD anomaly detector ({pr}`2871`) {user}`pattplatt` |
| 18 | +- [ENH] Improve and add testing to label validation ({pr}`3310`) {user}`MatthewMiddlehurst` |
| 19 | + |
| 20 | +## Classification |
| 21 | + |
| 22 | +- [BUG] Fix bug in WEASELTransformerV2.fit_transform() method (Issue #3283) ({pr}`3284`) {user}`patrickzib` |
| 23 | +- [BUG] Return TDE and HC2 to expected results test skip ({pr}`3322`) {user}`TonyBagnall` |
| 24 | +- [BUG] Enforce at least one of each class for dummy classifier test ({pr}`3341`) {user}`TonyBagnall` |
| 25 | +- [BUG] Enforce balanced test data for sklearn compatible testing ({pr}`3342`) {user}`TonyBagnall` |
| 26 | +- [DOC] Add missing exceptions to KNeighborsTimeSeriesClassifier Raises section ({pr}`3255`) {user}`Varshinibhargav-17` |
| 27 | +- [ENH] Expose n_shapelets_ attribute in RDST Transformer and Classifier ({pr}`3196`) {user}`satwiksps` |
| 28 | +- [ENH] Implement TS-QUAD configuration option in ElasticEnsemble ({pr}`3126`) {user}`Nithurshen` |
| 29 | +- [ENH] adding type hints for files in aeon/classification/deep_learning ({pr}`3241`) {user}`stephanielees` |
| 30 | +- [ENH] add unequal-length time series support for tsfresh-based methods ({pr}`3187`) {user}`jsquaredosquared` |
| 31 | +- [ENH] Improve and add testing to label validation ({pr}`3310`) {user}`MatthewMiddlehurst` |
| 32 | +- [DOC]: correct load_classification function name from 2023 -> 2021 ({pr}`3346`) {user}`kennaruk` |
| 33 | + |
| 34 | +## Clustering |
| 35 | + |
| 36 | +- [BUG] FIX DRNN load bug ({pr}`3074`) {user}`PipaFlores` |
| 37 | +- [BUG] KASBA bug fixes ({pr}`3120`) {user}`chrisholder` |
| 38 | +- [BUG] Petitjean averaging parallel flag ({pr}`3123`) {user}`chrisholder` |
| 39 | +- [DOC]: fix typo in custom_alignment_path docstring ({pr}`3243`) {user}`devesh-047` |
| 40 | +- [ENH] Validation loss for deep learning clustering #3039 ({pr}`3046`) {user}`PipaFlores` |
| 41 | +- [ENH] add unequal-length time series support for tsfresh-based methods ({pr}`3187`) {user}`jsquaredosquared` |
| 42 | +- [ENH] Port in kshape ({pr}`3314`) {user}`TonyBagnall` |
| 43 | +- [ENH] deprecate TSLearnKShape ({pr}`3343`) {user}`TonyBagnall` |
| 44 | +- [ENH] Cluster initialisation refactor ({pr}`3122`) {user}`chrisholder` |
| 45 | +- [MNT] Update tslearn dependency to >=0.7.0 and fix kshape tests ({pr}`3119`) {user}`Nithurshen` |
| 46 | +- [MNT] Add missing load_model test for deep clusterers (Fixes #3080) ({pr}`3111`) {user}`satwiksps` |
| 47 | +- [MNT] Update expected results for tslearn kshape ({pr}`3305`) {user}`MatthewMiddlehurst` |
| 48 | +- [BUG] MSM bug fixes ({pr}`3121`) {user}`chrisholder` |
| 49 | + |
| 50 | +## Datasets |
| 51 | + |
| 52 | +- [BUG] Add load_regression encoding parameter ({pr}`3087`) {user}`Cyril-Meyer` |
| 53 | +- [BUG] Fix imports for .ts saver and defaults for unequal transforms ({pr}`3089`) {user}`MatthewMiddlehurst` |
| 54 | +- [ENH] Add new datasets to monash list. ({pr}`3118`) {user}`alexbanwell1` |
| 55 | +- [BUG] Fix #3203 - Use proper file names in load_regression method ({pr}`3204`) {user}`Lucky-Lodhi2004` |
| 56 | +- [ENH] Update download_all_regression to use extended TSER 2024 archive ({pr}`3240`) {user}`devesh-047` |
| 57 | +- [ENH] Add loaders for Monster datasets with hugging_face dependency ({pr}`3141`) {user}`rwtarpit` |
| 58 | +- [ENH] Multiverse: change all loaders to zenodo, include new problems ({pr}`3304`) {user}`TonyBagnall` |
| 59 | +- [DEP] deprecate loader arguments ({pr}`3355`) {user}`TonyBagnall` |
| 60 | +- [DOC] Tidy up TSC lists ({pr}`3354`) {user}`TonyBagnall` |
| 61 | + |
| 62 | +## Distances |
| 63 | + |
| 64 | +- [BUG] MSM bug fixes ({pr}`3121`) {user}`chrisholder` |
| 65 | +- [ENH] Implement O(N) space complexity for dtw_distance ({pr}`3258`) {user}`raphaelgimenezneto` |
| 66 | +- [DOC] dtw_distance window parameter doc ({pr}`#3200`) {user}`Lucky-Lodhi2004` |
| 67 | + |
| 68 | +## Forecasting |
| 69 | + |
| 70 | +- [BUG] Fix ETS bug ({pr}`3286`) {user}`alexbanwell1` |
| 71 | +- [ENH] ETS/AutoETS docs ({pr}`3295`) {user}`TonyBagnall` |
| 72 | +- [ENH] Added `DeepARForecaster` to aeon/toolkit ({pr}`3051`) {user}`lucifer4073` |
| 73 | +- [ENH] Implement series_to_series forecaster mixin ({pr}`3146`) {user}`rwtarpit` |
| 74 | +- [ENH] Add Working AutoETS algorithm ({pr}`3253`) {user}`alexbanwell1` |
| 75 | +- [ENH] Make the ACF function more efficient ({pr}`3296`) {user}`TonyBagnall` |
| 76 | +- [ENH] Add exogenous variable support to ARIMA ({pr}`3116`) {user}`satwiksps` |
| 77 | + |
| 78 | +## Networks |
| 79 | + |
| 80 | +- [BUG] Cast numpy scalars to int for Dense layer units ({pr}`3182`) {user}`Adityakushwaha2006` |
| 81 | +- [ENH] Added `DeepARForecaster` to aeon/toolkit ({pr}`3051`) {user}`lucifer4073` |
| 82 | +- [ENH] Validation loss for deep learning clustering #3039 ({pr}`3046`) {user}`PipaFlores` |
| 83 | +- [BUG] Initialize _metrics in build_model for all Deep Learning estimators ({pr}`3198`) {user}`satwiksps` |
| 84 | +- [ENH] Added NBeatsNetwork to aeon/networks ({pr}`3057`)) {user}`lucifer4073` |
| 85 | + |
| 86 | +## Regression |
| 87 | + |
| 88 | +- [ENH] add unequal-length time series support for tsfresh-based methods ({pr}`3187`) {user}`jsquaredosquared` |
| 89 | +- [ENH] Improve and add testing to label validation ({pr}`3310`) {user}`MatthewMiddlehurst` |
| 90 | +- [ENH] Add Feature load_model to Deep Regressor Ensembles ({pr}`3130`) {user}`rwtarpit` |
| 91 | +- [DOC] Add Raises section to KNeighborsTimeSeriesRegressor docstring ({pr}`3337`) {user}`Varshinibhargav-17` |
| 92 | + |
| 93 | +## Segmentation |
| 94 | + |
| 95 | +- [BUG] Fix zero-distance instability in Hidalgo (#3068) ({pr}`3115`) {user}`satwiksps` |
| 96 | +- [BUG] Fix HidalgoSegmenter IndexError with empty sampling (Fixes #3168) ({pr}`3169`) {user}`samay2504` |
| 97 | +- [ENH] Add primitive type hints to segmentation module ({pr}`3252`) {user}`vickysharma-prog` |
| 98 | + |
| 99 | +## Transformations |
| 100 | + |
| 101 | +- [BUG] Fix imports for .ts saver and defaults for unequal transforms ({pr}`3089`) {user}`MatthewMiddlehurst` |
| 102 | +- [BUG] Fix bug in WEASELTransformerV2.fit_transform() method (Issue #3283) ({pr}`3284`) {user}`patrickzib` |
| 103 | +- [ENH] Expose n_shapelets_ attribute in RDST Transformer and Classifier ({pr}`3196`) {user}`satwiksps` |
| 104 | +- [ENH] Make transformers inherit `TransformerMixin` and add `CollectionToSeriesWrapper` ({pr}`2812`) {user}`MatthewMiddlehurst` |
| 105 | +- [ENH] add unequal-length time series support for tsfresh-based methods ({pr}`3187`) {user}`jsquaredosquared` |
| 106 | +- [ENH] Optimize ROCKET GPU PPV calculation for 1.45× speedup ({pr}`3232`) {user}`Adityakushwaha2006` |
| 107 | +- [ENH] STL and MSTL transformer ({pr}`2960`) {user}`TinaJin0228` |
| 108 | +- [ENH] Separate inverse_transform as a mixin for transformers ({pr}`3018`) {user}`MatthewMiddlehurst` |
| 109 | +- [ENH] LOWESS smoother ({pr}`3321`) {user}`TonyBagnall` |
| 110 | + |
| 111 | +## Visualisations |
| 112 | + |
| 113 | +- [ENH] MCM plot function tidy. ({pr}`3099`) {user}`MatthewMiddlehurst` |
| 114 | +- [ENH] text overrun on plot_critical_difference #3098 ({pr}`3138`) {user}`Lucky-Lodhi2004` |
| 115 | +- [ENH] Temporal importance curves with sklearn decision trees ({pr}`3327`) {user}`MatthewMiddlehurst` |
| 116 | + |
| 117 | +## Other |
| 118 | + |
| 119 | +### Bugs |
| 120 | + |
| 121 | +- [BUG] Handling series with extremely small scale ({pr}`3315`) {user}`MatthewMiddlehurst` |
| 122 | + |
| 123 | +### Deprecation |
| 124 | + |
| 125 | +- [DEP] Remove deprecated data savers, validation methods and transform update method ({pr}`3309`) {user}`MatthewMiddlehurst` |
| 126 | + |
| 127 | +### Documentation |
| 128 | + |
| 129 | +- [Doc] A fix to inconsistent ticks in Base module ({pr}`2734`) {user}`Ahmed-Zahran02` |
| 130 | +- [DOC] Fix 15 broken estimator links by refactoring path resolution logic ({pr}`3172`) {user}`Adityakushwaha2006` |
| 131 | +- [DOC] Update community support channels to include Discord ({pr}`3129`) {user}`hadifawaz1999` |
| 132 | +- [DOC] Discord links and small workflow fix ({pr}`3256`) {user}`MatthewMiddlehurst` |
| 133 | +- [DOC] Fix typo in contributing guide ({pr}`3281`) {user}`NikVince` |
| 134 | +- [DOC] Add examples to validation utility functions ({pr}`3225`) {user}`nimra06` |
| 135 | +- [DOC] Add some AI policy documents and citation file ({pr}`3251`) {user}`MatthewMiddlehurst` |
| 136 | +- [DOC] Revise aeon paper citation and hyperlink ({pr}`3303`) {user}`MatthewMiddlehurst` |
| 137 | +- [DOC] Remove links to X/Twitter ({pr}`3317`) {user}`MatthewMiddlehurst` |
| 138 | + |
| 139 | +### Enhancements |
| 140 | + |
| 141 | +- [ENH] Add type hints to get_unchanged_and_required_params_as_str ({pr}`3229`) {user}`nimra06` |
| 142 | +- [ENH] Add n_timepoints in the metadata stored by BaseSeriesEstimator ({pr}`3163`) {user}`satwiksps` |
| 143 | +- [ENH] Record `fit` time in class attributes ({pr}`3331`) {user}`MatthewMiddlehurst` |
| 144 | + |
| 145 | +### Maintenance |
| 146 | + |
| 147 | +- [MNT] Update slack link ({pr}`3103`) {user}`MatthewMiddlehurst` |
| 148 | +- [MNT] Restrict tslearn version range in pyproject.toml ({pr}`3107`) {user}`hadifawaz1999` |
| 149 | +- [MNT] Replace platform-dependent np.int_ with np.intp to prevent Windows overflows ({pr}`3202`) {user}`Adityakushwaha2006` |
| 150 | +- [MNT] Install aeon all_extras for expected results action ({pr}`3094`) {user}`MatthewMiddlehurst` |
| 151 | +- [MNT] Update `numba` versioning ({pr}`3246`) {user}`MatthewMiddlehurst` |
| 152 | +- [MNT] `numpy` and `scipy` upper bound updates ({pr}`3247`) {user}`MatthewMiddlehurst` |
| 153 | +- [MNT] Change stale branch check to run monthly, wait longer and stop tagging people ({pr}`3280`) {user}`MatthewMiddlehurst` |
| 154 | +- [MNT] Parallelize Example Notebook Runs in CI ({pr}`3162`) {user}`satwiksps` |
| 155 | +- [MNT] Update MANIFEST.in ({pr}`3298`) {user}`MatthewMiddlehurst` |
| 156 | +- [MNT] Deprecate Python 3.10 and allow Python 3.14 ({pr}`3245`) {user}`MatthewMiddlehurst` |
| 157 | +- [MNT] raise scikit requirement to 1.6 or higher ({pr}`3340`) {user}`TonyBagnall` |
| 158 | +- [BUG] Enforce balanced test data for sklearn compatible testing ({pr}`3342`) {user}`TonyBagnall` |
| 159 | +- [MNT] Check HC2 and TDE expected results testing ({pr}`3307`) {user}`MatthewMiddlehurst` |
| 160 | +- [MNT] Skip tsfresh multithreading test ({pr}`3325`) {user}`MatthewMiddlehurst` |
| 161 | +- [REF] Refactor numba thread decorator ({pr}`3332`) {user}`MatthewMiddlehurst` |
| 162 | +- [MNT] Update dependencies and configuration in pyproject.toml ({pr}`3167`) {user}`TUSHARDHOKRIYA` |
| 163 | +- [DOC] Fix typos and enhance clarity in getting_started.md ({pr}`3134`) {user}`PoojasPatel013` |
| 164 | + |
| 165 | +## Contributors |
| 166 | + |
| 167 | +The following have contributed to this release through a collective 89 GitHub Pull Requests: |
| 168 | + |
| 169 | +{user}`Adityakushwaha2006`, |
| 170 | +{user}`Ahmed-Zahran02`, |
| 171 | +{user}`alexbanwell1`, |
| 172 | +{user}`chrisholder`, |
| 173 | +{user}`Cyril-Meyer`, |
| 174 | +{user}`devesh-047`, |
| 175 | +{user}`hadifawaz1999`, |
| 176 | +{user}`jsquaredosquared`, |
| 177 | +{user}`kennaruk`, |
| 178 | +{user}`lucifer4073`, |
| 179 | +{user}`Lucky-Lodhi2004`, |
| 180 | +{user}`MatthewMiddlehurst`, |
| 181 | +{user}`NikVince`, |
| 182 | +{user}`nimra06`, |
| 183 | +{user}`Nithurshen`, |
| 184 | +{user}`patrickzib`, |
| 185 | +{user}`pattplatt`, |
| 186 | +{user}`PipaFlores`, |
| 187 | +{user}`PoojasPatel013`, |
| 188 | +{user}`raphaelgimenezneto`, |
| 189 | +{user}`rwtarpit`, |
| 190 | +{user}`samay2504`, |
| 191 | +{user}`satwiksps`, |
| 192 | +{user}`stephanielees`, |
| 193 | +{user}`TinaJin0228`, |
| 194 | +{user}`TonyBagnall`, |
| 195 | +{user}`TUSHARDHOKRIYA`, |
| 196 | +{user}`Varshinibhargav-17`, |
| 197 | +{user}`vickysharma-prog` |
0 commit comments