Skip to content

Commit e5c37bb

Browse files
authored
Release 1.5.0 (#3571)
* Release 1.5.0 * ypdate changelog * fix unusual test case
1 parent 86909bc commit e5c37bb

4 files changed

Lines changed: 167 additions & 3 deletions

File tree

aeon/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
"""aeon toolkit."""
22

3-
__version__ = "1.4.0"
3+
__version__ = "1.5.0"

aeon/clustering/deep_learning/tests/test_deep_clusterer_io.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,13 @@
3131
@pytest.mark.parametrize("cls", ALL_DEEP_CLUSTERERS)
3232
def test_deep_clusterer_load_model(cls):
3333
"""Test that all deep autoencoder clusterers load saved Keras models correctly."""
34-
X = np.random.randn(4, 1, 10).astype(np.float32)
34+
X = (
35+
np.linspace(-1.0, 1.0, 10, dtype=np.float32)[None, None, :]
36+
+ np.arange(4, dtype=np.float32)[:, None, None]
37+
)
3538
params = cls._get_test_params()[0]
3639
params["n_epochs"] = 1
40+
params["random_state"] = 0
3741
params["save_best_model"] = True
3842

3943
with tempfile.TemporaryDirectory() as tmp:

docs/changelogs/v1.5.md

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
# v1.5.0
2+
3+
June 2026
4+
5+
31 people have contributed to this release through a collective 73 GitHub Pull
6+
Requests.
7+
8+
## Highlights
9+
10+
- New native implementations of estimators, including: forecasters NBeats, complex
11+
exponentional smoothing (CES), dynamic optimised theta model (DOTM), a general
12+
purpose forecasting ensemble and SCUM; TSelect channel selector;
13+
- New notebooks for the new forecasters
14+
- Documentation improvements and bug fixes
15+
16+
## Anomaly Detection
17+
18+
- [BUG] Rockad doctest fail fix ({pr}`3520`) {user}`Ton`yBagnall`
19+
20+
## Classification
21+
22+
- [ENH] Fix k-nn predict for k>1 ({pr}`3442`) {user}`TonyBagnall`
23+
- [BUG] ClassifierChannelEnsemble with remainder crashes ({pr}`3429`) {user}`SotonSweetXss`
24+
- [BUG] Fix predict_proba on unequal-length list input in Catch22 and TSFresh classifiers (#3427) ({pr}`3446`) {user}`gaoflow`
25+
- [BUG] Support callable weights in KNeighborsTimeSeriesClassifier ({pr}`3445`) {user}`gaoflow`
26+
- [DOC] Add Raises sections to BaseClassifier docstrings ({pr}`3363`) {user} `Nandinisingh07`
27+
- [DOC] Fix classification docstring typos ({pr}`3443`) {user}`titanniya542-spec`
28+
- [ENH] Vectorize OOB divisor counting in RotationForest with np.bincount ({pr}`3457`) {user}`islem-esi`
29+
- [ENH] Deprecates LearningShapeletClassifier ({pr}`3485`) {user}`TonyBagnall`
30+
- [ENH] Refactor HIVE-COTE V1 and V2 to use a modular BaseHIVECOTE framework ({pr}`3386`) {user}`li-f8`
31+
- [ENH] remove prefer="threads" from Parallel in BaseIntervalForest ({pr}`3361`) {user}`TonyBagnall`
32+
- [BUG] use len(X) instead of X.shape[0] for list input in ShapeletTransformClassifier (fixes #3447) ({pr}`3465`) {user}`gaoflow`
33+
34+
## Clustering
35+
36+
- [BUG] Fix `TimeSeriesKernelKMeans` mutating `kernel` when `kernel="kdtw"` ({pr}`3424`) {user}`maxime2476`
37+
- [BUG] Validate uniqueness of custom medoid initialisation indices ({pr}`3430`) {user}`Booyaka101`
38+
- [BUG] Fix TimeSeriesCLARA sampling ({pr}`3456`) {user}`adam-goose`
39+
- [BUG] Reject array init for TimeSeriesCLARA ({pr}`3459`) {user}`ProfTrader`
40+
- [DOC] Fix clustering documentation typos ({pr}`3444`) {user}`SSDWGG`
41+
- [MNT] Deprecate TimeSeriesKShape wrapper from tslearn ({pr}`3381`) {user}`TonyBagnall`
42+
43+
## Datasets
44+
45+
- [BUG] Fix error in soft dependencies for HF hub in monster loader ({pr}`3408`) {user}`Cyril-Meyer`
46+
- [BUG] Security issues for data loading ({pr}`3333`) {user}`MatthewMiddlehurst`
47+
- [BUG] Skip Monster dataset loader tests during PR CI (fixes #3466) ({pr}`3480`) {user}`gaoflow`
48+
- [BUG] Fix rehab loader ({pr}`3521`) {user}`TonyBagnall`
49+
- [DEP] deprecation for 1.5 see #3440 ({pr}`3441`) {user}`TonyBagnall`
50+
51+
## Distances
52+
53+
- [DOC] Add Examples sections to ShapeDTW distance functions ({pr}`3486`) {user}
54+
`laurapiro17`
55+
- [ENH] Add Dynamic Alphabet Sizes for SFA ({pr}`2844`) {user}`patrickzib`
56+
57+
## Forecasting
58+
59+
- [BUG] clone regressor in RegressionForecaster to prevent mutation (fixes #3448) ({pr}`3464`) {user}`gaoflow`
60+
- [BUG] Fix forecasting regression test: make _LastFeatureRegressor sklearn-clone-compatible ({pr}`3469`) {user}`TonyBagnall`
61+
- [BUG] Force ETS to fit seasonal when given period, ({pr}`3477`) {user}`TonyBagnall`
62+
- [BUG] Fixes AutoETS.iterative_forecast ({pr}`3482`) {user}`TonyBagnall`
63+
- [ENH] NBeats forecaster added ({pr}`3357`) {user}`lucifer4073`
64+
- [ENH] Update iterative signature for theta ({pr}`3468`) {user}`TonyBagnall`
65+
- [ENH] Implement Complex Exponential Smoothing (CES) forecaster ({pr}`3463`) {user}`TonyBagnall`
66+
- [ENH] General purpose forecast ensemble ({pr}`3452`) {user}`TonyBagnall`
67+
- [ENH] Add noise to ets test ({pr}`3546`) {user}`TonyBagnall`
68+
- [ENH] Refactor iterative_forecast for fit/predict differentiation and exog support ({pr}`3454`) {user}`TonyBagnall`
69+
- [ENH] Fix ETS instability through bounds and limits to multiplicative ({pr}`3450`) {user}`TonyBagnall`
70+
- [ENH] Dynamic Optimised Theta Model (DOTM) forecaster ({pr}`3455`) {user}`TonyBagnall`
71+
- [ENH] Implement SCUM, the Simple Combination of Univariate Models forecaster ({pr}`3472`) {user}`TonyBagnall`
72+
- [DOC] Forecasting notebooks ({pr}`3550`) {user}`TonyBagnall`
73+
74+
## Networks
75+
76+
- [MNT] Apply precommit auto-fix from ruff ({pr}`3384`) {user}`SebastianSchmidl`
77+
- [MNT] Update `tensorflow` and refactor `networks` ({pr}`3308`) {user}`MatthewMiddlehurst`
78+
79+
## Regression
80+
81+
- [ENH] Vectorize OOB divisor counting in RotationForest with np.bincount ({pr}`3457`) {user}`islem-esi`
82+
83+
## Similarity Search
84+
85+
- [ENH] Improve coverage for similarity search ({pr}`3539`) {user}`TonyBagnall`
86+
87+
## Transformations
88+
89+
- [BUG] ShapletTransform contract bug and minor improvements ({pr}`3370`) {user}`TonyBagnall`
90+
- [BUG] Fix ESMOTE sample generation ({pr}`3504`) {user}`LinGinQiu`
91+
- [BUG] OHIT: seed sample generation and stop mutating k/kapa ({pr}`3505`) {user}`SAY-5`
92+
- [BUG] Stratify TSelect validation split ({pr}`3492`) {user}`nightcityblade`
93+
- [BUG] Respect requested distance in elbow class selector ({pr}`3493`) {user}`nightcityblade`
94+
- [BUG] Fix Padder add_noise for integer input ({pr}`3511`) {user}`gaoflow`
95+
- [BUG] Fix rocket random state ({pr}`3438`) {user}`TonyBagnall`
96+
- [BUG] Fix AutocorrelationFunctionTransformer crash with default n_lags=None ({pr}`3552`) {user}`glitch-ux`
97+
- [DOC] Fix imbalance transformer docstrings ({pr}`3509`) {user}`terminalchai`
98+
- [DOC] Fix docstring inaccuracies and typos in unequal_length package ({pr}`3528`) {user}`vir-cipher`
99+
- [DOC] Fix pad_length/truncated_length naming and test docstring in unequal_length ({pr}`3536`) {user}`gaurav-init`
100+
- [ENH] ShapeletTransform block transform for threads ({pr}`3372`) {user}`TonyBagnall`
101+
- [ENH]: add primitive type hints to LogTransformer ({pr}`3367`) {user}`Nandinisingh07`
102+
- [ENH]: add primitive type hints to BoxCoxTransformer - relates to #1454 ({pr}`3368`) {user}`Nandinisingh07`
103+
- [ENH] Enhanced verbose mode for RandomShapeletTransformer ({pr}`3383`) {user}`TonyBagnall`
104+
- [MNT] Improve test coverage for transformations/collection/dictionary_based (PAA, SAX, SFAWhole) ({pr}`3535`) {user}`TonyBagnall`
105+
- [ENH] Implement Tselect channel selection algorithm ({pr}`3402`) {user}`TonyBagnall`
106+
- [DOC] Fix docstring typos and inaccuracies in channel_selection (#3491) ({pr}`3530`){user}`MHJanny`
107+
- [BUG] fix(unequal_length): validate integer target lengths reject bool and non-positive values ({pr}`3507`) {user}`axelray-dev`
108+
- [BUG] fix: move RandomChannelSelector p validation from --init-- to _fit ({pr}`3541`) {user}`BB0813`
109+
110+
## Other
111+
112+
- [BUG] Restrict shapelet visualisation to 1D series ({pr}`3436`) {user}`TonyBagnall`
113+
- [BUG] Remove test exclusion for RDST #2290 ({pr}`3435`) {user}`TonyBagnall`
114+
- [MNT] Replace Flake8 with Ruff in pre-commit ({pr}`3161`) {user}`satwiksps`
115+
- [MNT] Add test to check that soft dependency skipping is working as intended ({pr}`3411`) {user}`MatthewMiddlehurst`
116+
- [BUG] fix soft deps ignoring PR_TESTING ({pr}`3404`) {user}`TonyBagnall`
117+
- [ENH] Add suggested fix field to bug template ({pr}`3556`) {user}`ProfTrader`
118+
- [DOC] Fix save_to_ts_file API reference (#3391) ({pr}`3393`) {user}`li-f8`
119+
- [DOC] Revised readme.md ({pr}`3388`) {user}`TonyBagnall`
120+
- [DOC] add HC2 to readme list ({pr}`3439`) {user}`TonyBagnall`
121+
- [DOC] Add automated mini-gallery examples for API pages ({pr}`3334`) {user}`Kaustbh`
122+
- [DOC] Update Code of Conduct reporting link to Monday form ({pr}`3478`) {user}`Copilot`
123+
- [MNT] change precommit yml ({pr}`3394`) {user}`TonyBagnall`
124+
- [MNT] Update `scikit-learn` upper bound ({pr}`3250`) {user}`MatthewMiddlehurst`
125+
126+
127+
## Contributors
128+
129+
130+
{user}`adam-goose`,
131+
{user}`axelray-dev`,
132+
{user}`BB0813`,
133+
{user}`Booyaka101`,
134+
{user}`Copilot`,
135+
{user}`Cyril-Meyer`,
136+
{user}`gaoflow`,
137+
{user}`gaurav-init`,
138+
{user}`glitch-ux`,
139+
{user}`islem-esi`,
140+
{user}`Kaustbh`,
141+
{user}`laurapiro17`,
142+
{user}`li-f8`,
143+
{user}`LinGinQiu`,
144+
{user}`lucifer4073`,
145+
{user}`MatthewMiddlehurst`,
146+
{user}`maxime2476`,
147+
{user}`MHJanny`,
148+
{user}`Nandinisingh07`,
149+
{user}`nightcityblade`,
150+
{user}`patrickzib`,
151+
{user}`ProfTrader`,
152+
{user}`satwiksps`,
153+
{user}`SAY-5`,
154+
{user}`SebastianSchmidl`,
155+
{user}`SotonSweetXss`,
156+
{user}`SSDWGG`,
157+
{user}`terminalchai`,
158+
{user}`titanniya542-spec`,
159+
{user}`TonyBagnall`,
160+
{user}`vir-cipher`

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "aeon"
7-
version = "1.4.0"
7+
version = "1.5.0"
88
description = "A toolkit for time series machine learning"
99
authors = [
1010
{name = "aeon developers", email = "contact@aeon-toolkit.org"},

0 commit comments

Comments
 (0)