Skip to content

chore(main): release 8.0.0 - #740

Merged
FBumann merged 1 commit into
mainfrom
release-please--branches--main--components--flixopt
Jul 27, 2026
Merged

chore(main): release 8.0.0#740
FBumann merged 1 commit into
mainfrom
release-please--branches--main--components--flixopt

Conversation

@flixopt-release-bot

@flixopt-release-bot flixopt-release-bot Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

8.0.0 (2026-07-27)

⚠ BREAKING CHANGES

  • the serialized clustering format changed - slice dims are now stored as 'period' (was '_period') plus a new 'dim_names' key. Clustering artifacts saved to JSON/netCDF by an older flixopt no longer load for apply_clustering()/expand() in this version; re-run transform.cluster() to regenerate them. Fresh clustering and same-version round-trips are unaffected. Also raises the minimum tsam_xarray to 0.6.4.

Bug Fixes

  • dimension-aware effect-total consistency check (#745) (2b2720c)
  • load clustered NetCDF files written before flixopt 7.0 (#757) (f8e53bd)
  • load pre-7.0 clustered NetCDF files with legacy original_data refs (#742) (6962e5e)
  • support linopy 0.9.0 (#758) (051480b)

Code Refactoring

  • drop clustering dim-rename layer via tsam-xarray DimNames (#739) (cc56774)

This PR was generated with Release Please. See documentation.

@FBumann
FBumann enabled auto-merge (squash) July 22, 2026 17:24
@flixopt-release-bot
flixopt-release-bot Bot force-pushed the release-please--branches--main--components--flixopt branch 5 times, most recently from c851dcd to e2db012 Compare July 27, 2026 15:16
@FBumann FBumann changed the title chore(main): release 8.0.0 chore(main): release 7.3.0 Jul 27, 2026
@FBumann

FBumann commented Jul 27, 2026

Copy link
Copy Markdown
Member

Maintainer note — this PR was hand-edited, not regenerated.

Release-please produced this as 8.0.0; the branch has been edited down to 7.3.0 (manifest, CITATION.cff, CHANGELOG heading, PR title) and the ⚠ BREAKING CHANGES notice removed.

The major came entirely from the BREAKING CHANGE: footer on #739, which was reverted in #746. Release-please does not pair a revert with its original, so the footer kept counting even though the code is gone.

Evidence there is no breaking change

Artifacts produced by released versions, loaded against current main:

written by loads expands
7.2.3 (plain) yes yes
7.2.3 (multi-period) yes yes
6.2.1 (plain, solved, multi-period, period+scenario) yes (via #757) yes
6.1.0 (plain) yes (via #757) yes

Cluster assignments compare equal per slice, and an expanded solved file reproduces each original cluster from its typical cluster. Serialized clustering is compatible with 7.2.1, and 6.x files that broke under 7.0 load again — strictly more compatible than the predecessor, not less.

Minor rather than patch because the release adds compatibility that did not previously exist: linopy 0.9.0 support (#758) and pre-7.0 clustered file loading (#757).

Before merging

FBumann added a commit that referenced this pull request Jul 27, 2026
* ci: always report lint and test on pull requests

The ruleset on main requires lint and test (3.11-3.14). #562 added a paths
filter to the pull_request trigger, and a workflow that never triggers never
reports its checks, so any PR touching only files outside flixopt/, tests/,
pyproject.toml or .github/workflows/ is permanently blocked. Release PRs
change exactly CHANGELOG.md, .release-please-manifest.json and CITATION.cff,
so #740 cannot merge; #737 predates the filter and ran normally.

The filter moves into a `changes` job that reads the PR's file list, and the
install and pytest steps become conditional on it. The jobs still run and
still report, but a docs-only PR costs a runner start instead of a full
matrix. Detection failures fall back to running the tests, so a bad lookup
wastes CI rather than skipping a real test run.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* ci: fall back to running tests when PR file lookup fails

Steps run under `bash -e`, so `paths=$(gh pr view ...)` aborted the step on a
failed lookup rather than falling through to the empty-listing fallback. The
changes job would fail, test would be skipped via needs, and the required
checks would go unreported - the same block this workflow exists to prevent.
Guarding the assignment lets the intended fallback run.

Also declares least-privilege permissions for the workflow, matching
release.yaml and dependabot-auto-merge.yaml; pull-requests: read is what the
file-list lookup needs.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
@flixopt-release-bot flixopt-release-bot Bot changed the title chore(main): release 7.3.0 chore(main): release 8.0.0 Jul 27, 2026
@flixopt-release-bot
flixopt-release-bot Bot force-pushed the release-please--branches--main--components--flixopt branch from 09734bc to ba70688 Compare July 27, 2026 16:14
@FBumann
FBumann merged commit 125e03c into main Jul 27, 2026
11 checks passed
@flixopt-release-bot

Copy link
Copy Markdown
Contributor Author

🤖 Created releases:

🌻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant