From 377909bd4f4c1fd0f4b20528fd7fc23173f8cd30 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 12 Jun 2026 23:19:53 +0000 Subject: [PATCH 1/3] chore(release): 10.0.0-rc.1 [skip ci] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## [10.0.0-rc.1](https://github.com/sequential-parameter-optimization/spotforecast2/compare/v9.0.0...v10.0.0-rc.1) (2026-06-12) ### ⚠ BREAKING CHANGES * **tasks:** the spotforecast2.tasks subpackage is removed. Import the data loaders from spotforecast2_safe.data.entsoe_loader, the LightGBM factory from spotforecast2_safe.multitask.factories, and the CLI module as spotforecast2.entsoe_cli. The spotforecast2-entsoe console script is unaffected. Co-Authored-By: Claude Fable 5 ### Features * **tasks:** remove the tasks subpackage; relocate ENTSO-E CLI to spotforecast2.entsoe_cli ([0a9bc66](https://github.com/sequential-parameter-optimization/spotforecast2/commit/0a9bc666442a7010c42cedc7707773636bbbb8d2)) --- CHANGELOG.md | 16 ++++++++++++++++ pyproject.toml | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb4f4a5e..3f039e2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ +## [10.0.0-rc.1](https://github.com/sequential-parameter-optimization/spotforecast2/compare/v9.0.0...v10.0.0-rc.1) (2026-06-12) + +### ⚠ BREAKING CHANGES + +* **tasks:** the spotforecast2.tasks subpackage is removed. +Import the data loaders from spotforecast2_safe.data.entsoe_loader, the +LightGBM factory from spotforecast2_safe.multitask.factories, and the +CLI module as spotforecast2.entsoe_cli. The spotforecast2-entsoe console +script is unaffected. + +Co-Authored-By: Claude Fable 5 + +### Features + +* **tasks:** remove the tasks subpackage; relocate ENTSO-E CLI to spotforecast2.entsoe_cli ([0a9bc66](https://github.com/sequential-parameter-optimization/spotforecast2/commit/0a9bc666442a7010c42cedc7707773636bbbb8d2)) + ## [9.0.0](https://github.com/sequential-parameter-optimization/spotforecast2/compare/v8.1.1...v9.0.0) (2026-06-12) ### ⚠ BREAKING CHANGES diff --git a/pyproject.toml b/pyproject.toml index 72c4ef2a..0586640e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "spotforecast2" -version = "9.0.0" +version = "10.0.0-rc.1" description = "Forecasting with spot" readme = "README.md" license = { text = "AGPL-3.0-or-later" } From 2b2150a3e951bf2225d4eb8a23e3500833d6381d Mon Sep 17 00:00:00 2001 From: bartzbeielstein <32470350+bartzbeielstein@users.noreply.github.com> Date: Sat, 13 Jun 2026 08:57:02 +0200 Subject: [PATCH 2/3] chore(deps): sync uv.lock self-version to 10.0.0 Co-Authored-By: Claude Fable 5 --- uv.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uv.lock b/uv.lock index c3e6c040..ac86b90b 100644 --- a/uv.lock +++ b/uv.lock @@ -3491,7 +3491,7 @@ wheels = [ [[package]] name = "spotforecast2" -version = "9.0.0" +version = "10.0.0" source = { editable = "." } dependencies = [ { name = "astral" }, From 32af8acff930130acbe55982bec9fdf73c2268f5 Mon Sep 17 00:00:00 2001 From: bartzbeielstein <32470350+bartzbeielstein@users.noreply.github.com> Date: Sat, 13 Jun 2026 19:18:02 +0200 Subject: [PATCH 3/3] chore(deps): drop upper version caps; resolve spotforecast2-safe 22.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove the upper version caps per the tbb-skills4agents no-upper-cap dependency policy: - spotforecast2-safe: ">=22.3.0,<23" -> ">=22.3.0" - spotoptim[torch]: ">=1.0.0,<2" -> ">=1.0.0" - build-system uv_build: ">=0.9.18,<0.10.0" -> ">=0.9.18" uv.lock regenerated; spotforecast2-safe resolves to 22.4.0 (just released), which adds opt-in per-zone weather for the ENTSO-E four-zone pipeline — available to sf2 by inheritance (ConfigEntsoe.per_zone_weather), no sf2 code change required. Full sf2 suite green against 22.4.0 (1247 passed). Co-Authored-By: Claude Opus 4.8 (1M context) --- pyproject.toml | 6 +++--- uv.lock | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 0230751b..297df32e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,12 +34,12 @@ dependencies = [ # 22.0.0 made warm_start_lags the seed lag list itself (default # DEFAULT_WARM_START_LAGS, None disables) — consumed by SpotOptimStrategy. # 21.2.0 added max_time_spotoptim, forwarded as SpotOptim's max_time. - "spotforecast2-safe>=22.3.0,<23", + "spotforecast2-safe>=22.3.0", # spotoptim 1.0 is sequential-only and lean: torch/tensorboard moved to its # ``[torch]`` extra. sf2 forwards tensorboard_* kwargs into SpotOptim, so we # pin the extra to keep the TensorBoard tuning dashboards working (they were # always available via spotoptim's old hard torch dependency). - "spotoptim[torch]>=1.0.0,<2", + "spotoptim[torch]>=1.0.0", "tqdm>=4.67.2", # Directly imported by spotforecast2.entsoe_cli (and the xgb forecaster # model). Previously satisfied transitively; declared explicitly now that @@ -48,7 +48,7 @@ dependencies = [ ] [build-system] -requires = ["uv_build>=0.9.18,<0.10.0"] +requires = ["uv_build>=0.9.18"] build-backend = "uv_build" [dependency-groups] diff --git a/uv.lock b/uv.lock index ac86b90b..c3808dc7 100644 --- a/uv.lock +++ b/uv.lock @@ -3571,8 +3571,8 @@ requires-dist = [ { name = "safety", marker = "extra == 'dev'", specifier = ">=3.0.0" }, { name = "scikit-learn", specifier = ">=1.8.0" }, { name = "shap", specifier = ">=0.49.1" }, - { name = "spotforecast2-safe", specifier = ">=22.3.0,<23" }, - { name = "spotoptim", extras = ["torch"], specifier = ">=1.0.0,<2" }, + { name = "spotforecast2-safe", specifier = ">=22.3.0" }, + { name = "spotoptim", extras = ["torch"], specifier = ">=1.0.0" }, { name = "tqdm", specifier = ">=4.67.2" }, { name = "ty", marker = "extra == 'dev'", specifier = ">=0.0.29" }, { name = "xgboost", specifier = ">=3.2.0" }, @@ -3590,7 +3590,7 @@ dev = [ [[package]] name = "spotforecast2-safe" -version = "22.3.0" +version = "22.4.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "astral" }, @@ -3607,9 +3607,9 @@ dependencies = [ { name = "statsmodels" }, { name = "tqdm" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/65/04/4f366dad3f78214f6d7564c883e77f67e8c734c807ac49f17c8cd1528d45/spotforecast2_safe-22.3.0.tar.gz", hash = "sha256:71ddb0215489f9042b050dda50e4eb8c0afea598ccb5c7796216073dff436e27", size = 20661753, upload-time = "2026-06-12T22:49:46.389Z" } +sdist = { url = "https://files.pythonhosted.org/packages/2c/e9/edc0dc1f975784a1ee69b19dc4a041923c0824560b4e601bf3e7d5566659/spotforecast2_safe-22.4.0.tar.gz", hash = "sha256:63758037d7c9afbe1be2300bc9f874cffafff1295d5f1627a5ca319310235e3b", size = 20665970, upload-time = "2026-06-13T17:06:09.364Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1d/10/249f41e69a3b8d9803b40b721487180cea24e4d0a152fe267e1387ab0ec9/spotforecast2_safe-22.3.0-py3-none-any.whl", hash = "sha256:0791cb055e36a54deb5124bdcd8e2545ffa1ae200a89563966ac99d43891665c", size = 20731775, upload-time = "2026-06-12T22:49:43.719Z" }, + { url = "https://files.pythonhosted.org/packages/2e/42/cee160babb0371ddd649370748b00b6bd954fc6ff613af31c4f298cc2ea2/spotforecast2_safe-22.4.0-py3-none-any.whl", hash = "sha256:5740269c7fda23106ca5d15ee101f087af8f9c1721654531a40bf954db0adc78", size = 20736039, upload-time = "2026-06-13T17:06:05.502Z" }, ] [[package]]