Changelog
0.1.0 (2026-07-21)
⚠ BREAKING CHANGES
- fail-fast FlowSystem validation, elements on BaseModel (#229)
- effects: objective_effects no longer accepts a list; penalty is minimized by default (was: tracked but ignored).
- unify field naming to quantity_min/max grammar (#204)
refac
- unify field naming to quantity_min/max grammar (#204) (3459c6c)
Features
- effects: allow per-period values for periodic bounds (#205) (d8dfc4d)
- effects: weighted objective with penalty auto-inclusion (#210) (20cef8f)
- element round-trip (to_dict/from_dict) + ProfileRef (#227) (16a229a)
- fail-fast FlowSystem validation, elements on BaseModel (#229) (2673131)
- flow: add flow_hours and load_factor bounds (#206) (3dd45a7)
- flow: add ramp rate limits (#207) (785875b)
- FlowSystem declarative front door (YAML + data) (#228) (916fb6c)
- pydantic element layer (validation + JSON Schema) (#226) (a3b2f50)
- stats: add StatsAccessor.summary() headline KPI table (#188) (c3540f9)
- storage: add final level bounds and prevent_simultaneous (#208) (643fede)
Bug Fixes
- clarify netcdf read error for non-ASCII paths on Windows (#195) (c1c2ffe)
- keep release-please below 1.0 with bump-minor-pre-major (#232) (fe539d3)
- pass pd.Index coords for linopy 0.8 compatibility (#194) (9179a36)
- reject unknown flow short_ids in conversion_factors (#212) (de7ff7a)
- weight flow-hour aggregates by timestep duration (#211) (4320efe)
0.0.8 (2026-05-31)
Features
- api: allow period-varying flow profiles via DataFrame; rename TimeSeries → Variate (#165) (a8b535c)
Bug Fixes
Miscellaneous Chores
Features
- add component-level status on Storage (#145) (a536e4f)
- cache per-contributor effect contributions in Result (#140) (2f9b8d0)
- piecewise conversion via linopy add_piecewise_formulation (#147) (bf25e39)
Bug Fixes
- ci: let config control prerelease default, dispatch overrides (#111) (aadf16c)
- exclude highspy 1.14.0 due to MIP presolve bug and temporarilly the nevest xarray version (#129) (2f753e4)
- include Investment costs in compute_effect_contributions (#135) (6bc2d4b)
- scale effect per-hour bounds by timestep duration (#127) (3473d9c)
- use xarray-native comparison in effect_contributions validation (#139) (e34d7f7)
Features
- make all effect parameters period-aware (#94) (e0f8e66)
Features
- add Investment for multi-period build-timing optimization (#85) (fe70bf8)
Features
Features
- prepare core for package ecosystem (#59) (0c77bd0)
- replace Bus with Carrier (#60) (c3035e1)
- require explicit carriers in optimize() (#65) (e6b27d6)
- require explicit carriers in optimize() and ModelData.build() (#64) (f07df79)
Changelog