Changelog¶
This file gets automatically updated in ZEN-garden’s continuous integration procedures. Do not edit the file manually.
[v2.13.0] - 2026-07-01¶
New Features ✨¶
Infer the time step type from the index sets in
extract_input_data(), and removetime_stepargument. Align the time step naming internally toset_hoursandset_yearsto make them clearer [🔀 PR #1282 @jacob-mannhardt]
[v2.12.2] - 2026-06-17¶
Bug Fixes 🐛¶
make code compatible with Pandas v3.0.0. [🔀 PR #1278 @csfunke]
Maintenance Tasks 🧹¶
upgrade
blackto patch security vulnerability. [🔀 PR #1276 @csfunke]Add a test for the comparisons module to
test_4a[🔀 PR #1269 @jacob-mannhardt]
[v2.12.1] - 2026-06-03¶
Bug Fixes 🐛¶
Fix a small bug in the comparison module that broke the routine. [🔀 PR #1267 @jacob-mannhardt]
[v2.12.0] - 2026-05-19¶
New Features ✨¶
install
pre-committo runruff --fixandblackbefore creating new commits. [🔀 PR #1258 @manud99]
Documentation Changes 📝¶
update links in plugin documentation [🔀 PR #1254 @JeanWi]
add plugin architecture to api reference [🔀 PR #1254 @JeanWi]
[v2.11.0] - 2026-04-10¶
New Features ✨¶
implement a plugin architecture that allows easy extension of the core ZEN-garden code. [🔀 PR #1252 @csfunke]
[v2.10.0] - 2026-04-08¶
New Features ✨¶
add option to export reduced costs to reduced_costs_dict.h5 [🔀 PR #1231 @JeanWi]
Documentation Changes 📝¶
Fix wrong country index in tutorial example. The capacity_DE variable in docs/files/tutorial/01_analyze_outputs.rst was mistakenly using “CH” instead of “DE” as the index argument in r.get_total(…), which would have returned Swiss instead of German capacity. [🔀 PR #1244 @felixduemig]
[v2.9.8] - 2026-03-27¶
Bug Fixes 🐛¶
remove lines causing TypeError in ZEN-temple [🔀 PR #1233 @manud99]
Documentation Changes 📝¶
fix tuorial on adding technologies and carriers. The exercise questions previously did not match the solution. [🔀 PR #1232 @jojoethz]
update the contribution guide to include new rules on formatting and linting. [🔀 PR #1234 @csfunke]
create a new section in the developer guide on testing. [🔀 PR #1234 @csfunke]
add warnings and link to Python. New Python users find a link to Python.org. Also added warnings for the following issues: File paths that exceed 260 characters may lead to errors with Windows and special characters are not compatible with ZEN-garden. [🔀 PR #1228 @johburger]
Maintenance Tasks 🧹¶
remove test dataset that was accidentally pushed to the ZEN-garden root directory. [🔀 PR #1239 @csfunke]
[v2.9.7] - 2026-02-10¶
Bug Fixes 🐛¶
make the solver dir path relative to the config path, not the cwd. [🔀 PR #1226 @jacob-mannhardt]
Documentation Changes 📝¶
Format docstrings so that equations and line breaks are consistent. Also replace
\mathrm{}for text within equations with\text{}[🔀 PR #1224 @johburger]
[v2.9.6] - 2026-02-09¶
Bug Fixes 🐛¶
Fixes bug when data folder is not in the cwd but in a different location. Allows the path to be different and saves the results there. [🔀 PR #1222 @jacob-mannhardt]
Maintenance Tasks 🧹¶
reformat and lint ZEN-garden code to match style guidelines. The code now passes checks from the formatter
Blackand the linterRuff. [🔀 PR #1220 @csfunke]enforce code formatting (via
Black) and linting (viaRuff). All future pull requests must pass these checks to be eligible for merge into themainbranch of ZEN-garden. These checks can be tested locally in a terminal by (i) activating the ZEN-garden environment, (ii) navigating the the ZEN-garden root folder, and (iii) typingblack .andruff --check .. [🔀 PR #1220 @csfunke]
[v2.9.5] - 2026-02-06¶
Bug Fixes 🐛¶
fix result extraction from hdf files when there is a single column. [🔀 PR #1216 @csfunke]
[v2.9.4] - 2026-02-06¶
Bug Fixes 🐛¶
fix version check from
2.9.1to2.9.2for new results. [🔀 PR #1213 @jacob-mannhardt]
[v2.9.3] - 2026-02-06¶
Bug Fixes 🐛¶
add error catch for when extracting the units in the new format without updating the environment before. [🔀 PR #1211 @jacob-mannhardt]
[v2.9.2] - 2026-02-06¶
Bug Fixes 🐛¶
Make result reading faster by splitting the
valueandunitcolumns into two keys in the.h5file. [🔀 PR #1209 @jacob-mannhardt]
[v2.9.1] - 2026-02-05¶
Bug Fixes 🐛¶
Set
macosversion tolatestinstead ofmacos13because deprecated [🔀 PR #1207 @jacob-mannhardt]Skip
read_componentswhen the scenario does not exist [🔀 PR #1207 @jacob-mannhardt]Create
ureg(including reading in the user units) only for one scenario, not for all [🔀 PR #1207 @jacob-mannhardt]Move the components construction outside the initialization of the scenarios. The components are only created upon requests when the data is actually read. [🔀 PR #1207 @jacob-mannhardt]
[v2.9.0] - 2026-01-22¶
New Features ✨¶
implement
zen-operationwrapper. This wrapper allows users to seamlessly run operation-only scenarios using the capacity values of a previous simulation. Users may provide a newscenarios_opfile that specifies the operational scenarios to run. This new feature replaces the old configurationinclude_operation_only_phase, which has now been removed. [🔀 PR #1204 @csfunke]
Documentation Changes 📝¶
implement detailed Google-style docstrings for the
UnitHandlingclass. [🔀 PR #1204 @csfunke]improve tutorial of operation-only simulations and update the tutorial to include the new
zen-operationwrapper. [🔀 PR #1204 @csfunke]
Maintenance Tasks 🧹¶
create test cases for the new
zen-operationwrapper. [🔀 PR #1204 @csfunke]suppress
Pintpackage output on redefining units. This output was previously printed to the terminal whenever a newResultsobject was initialized. [🔀 PR #1204 @csfunke]
[v2.8.13] - 2026-01-19¶
Bug Fixes 🐛¶
return empty series when there are no series to concatenate in
_combine_dataseriesinsolution_loader.py. [🔀 PR #1201 @manud99]
Documentation Changes 📝¶
fix broken links in the README file. Some of the documentation links were outdated and not longer worked. [🔀 PR #1196 @csfunke]
Maintenance Tasks 🧹¶
add continuous integration workflow that checks code formatting, linting, and type checking. Uses the packages
blackfor formatting,rufffor linting, andmypyfor type checking. Errors are reported but not enforced initially, allowing developers time to clean up the existing codebase. Enforcement will be enabled once all errors are resolved. [🔀 PR #1199 @csfunke]
[v2.8.12] - 2026-01-14¶
Bug Fixes 🐛¶
fix overwriting the values for a specific year when only one year is selected [🔀 PR #1193 @jacob-mannhardt]
Maintenance Tasks 🧹¶
delete
.bumpversion.cfgfile. It is now obsolete, as version bumping is performed via a custom Python script rather than the bump2version package. [🔀 PR #1190 @csfunke]correct spelling in changelog. In previous changelog versions, the header “Maintenance Tasks” was spelled wrong. [🔀 PR #1190 @csfunke]
skip release in CI workflow when no version bump occurs. [🔀 PR #1188 @csfunke]
[v2.8.11] - 2026-01-06¶
Bug Fixes 🐛¶
fix bug when extracting
get_full_ts("storage_level",year=2022)for a solution with rolling horizon. [🔀 PR #1186 @jacob-mannhardt]
Documentation Changes 📝¶
clean changelog. [🔀 PR #1184 @csfunke]
[v2.8.10] - 2026-01-05¶
Bug Fixes 🐛¶
fix PyPi release by adding env variable in
create_tag[🔀 PR #1182 @jacob-mannhardt]
[v2.8.9] - 2026-01-05¶
Bug Fixes 🐛¶
fix PyPi release by making the NEW_VERSION string accessible across jobs [🔀 PR #1180 @jacob-mannhardt]
[v2.8.8] - 2026-01-05¶
Maintenance Tasks 🧹¶
test release to PyPi [🔀 PR #1177 @jacob-mannhardt]
[v2.8.7] - 2026-01-05¶
Bug Fixes 🐛¶
fix bug in or myopic foresight results when yearly series is empty (index returns empty results). Returns empty Series. [🔀 PR #1172 @jacob-mannhardt]
Documentation Changes 📝¶
add changelog to documentation. The changelog now gets copied to the
docs/files/api/generatedfolder when the documentation is built. This allows it to be shown in the “References” section of the documentation. [🔀 PR #1169 @csfunke]
Maintenance Tasks 🧹¶
fix branch deletion in continuous integration pipeline. The previous pipeline attempted to delete a branch which is no longer in use. [🔀 PR #1173 @csfunke]
update pull request template to match changelog automation. [🔀 PR #1169 @csfunke]
implement semantic version bumping. Major version bumps are now triggered upon breaking changes; minor version bumps are triggered by new features; patch version bumps are triggered by bug fixes. [🔀 PR #1169 @csfunke]
automate change log. Information for the change log is now taken from the
Detailed list of changessection of the pull request body. [🔀 PR #1169 @csfunke]
[v0.1.0] - [v2.8.4]¶
No release notes exist for ZEN garden versions 0.1.0 -> 2.8.4.