|
| 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` |
0 commit comments