Skip to content

v0.8.0

Latest

Choose a tag to compare

@github-actions github-actions released this 01 Sep 16:06
· 4 commits to v0.x.x since this release
Immutable release. Only release title and notes can be modified.
v0.8.0
54f9a31

Frequenz Gridpool Library Release Notes

Summary

This release rounds out gridpool-cli for the assets config layout and adds
gridpool enterprise ownership to the config model. The CLI can now generate,
validate, patch, and query merged config files.

Upgrading

  • The legacy config layouts are no longer migrated on load: top-level microgrid
    IDs and meta-nested microgrid fields are gone. A file with no assets table
    now loads as empty and contributes nothing to a merge, rather than having its
    top-level keys read as microgrid IDs. This lets a mixed list of files (some
    carrying an [app] table for their own config, some an assets table) be
    passed to AssetsConfig.load_from_files / load_configs, which reads only the
    assets-bearing ones. Rebuild any legacy-layout files with generate-config.

  • generate-config now writes the assets.microgrids layout and stamps
    assets.version, instead of the legacy layout. Regenerate configs to get the
    current format; generated files then load back without a migration.

  • generate-config --inplace refuses legacy-layout files (top-level or
    meta-nested), which it would duplicate rather than edit. Rebuild those from
    scratch.

New Features

  • gridpool-cli validate <files> checks config files offline and exits
    non-zero on the first error, to gate config-repo CI. Each file must be valid
    on its own, so a record names its own key and required fields; the files are
    then checked merged, for the cross-record checks.

  • gridpool-cli accepts FREQUENZ_API_KEY and FREQUENZ_API_SECRET as a
    fallback pair for ASSETS_API_AUTH_KEY and ASSETS_API_SIGN_SECRET.

  • Gridpools are described under assets.gridpools, each entry naming the
    enterprise that owns the gridpool. AssetsConfig.find_enterprise(gridpool_id)
    returns the configured owner.
    gridpool-cli find-enterprise <gridpool_id> <files> prints it from the config.
    AssetsConfig.check enforces the one-enterprise-per-gridpool invariant: a
    gridpool's microgrids may not disagree on it, and a declared enterprise must
    match the inferred one.

  • A config derived from the Assets API now carries each microgrid's
    enterprise_id.

  • generate-config --inplace refreshes managed values while preserving
    formatting; --fill-missing only adds absent values. Generated patches are
    validated before writing.

Bug Fixes

  • Config files with validity periods now load under marshmallow 3, not only
    marshmallow 4. tomllib yields native datetime objects, which marshmallow
    3's DateTime field rejected. marshmallow is now a direct dependency so the
    minimum-version test exercises this path.

What's Changed

  • build(deps-dev): bump the patch group with 4 updates by @dependabot[bot] in #133
  • build(deps-dev): bump nox from 2026.7.11 to 2026.8.17 in the minor group by @dependabot[bot] in #134
  • build(deps-dev): bump setuptools from 83.0.0 to 84.0.0 by @dependabot[bot] in #137
  • build(deps-dev): bump flake8-datetimez from 20.10.0 to 26.8.1 by @dependabot[bot] in #138
  • feat(config)!: drop legacy layouts and support marshmallow 3 by @cwasicki in #132

Full Changelog: v0.7.1...v0.8.0