Skip to content

v0.5.0

Latest

Choose a tag to compare

@github-actions github-actions released this 17 Jul 13:31
Immutable release. Only release title and notes can be modified.
v0.5.0
4f22034

Frequenz Microgrid Component Graph Library Release Notes

Summary

This release updates the underlying Rust crate to v0.6.0, which brings a rewritten formula fallback engine. Generated formula strings can differ from the previous release. The default source order in per-category formulas is now component-first, and graph validation errors use a new message format. It also bumps PyO3 to 0.29 to fix a security advisory. See the Upgrading section for details.

Upgrading

  • Bumped PyO3 to 0.29 to pull in the fix for RUSTSEC out-of-bounds read advisory GHSA-36hh-v3qg-5jq4 (nth/nth_back on list/tuple iterators).

  • Updated the frequenz-microgrid-component-graph Rust crate to v0.6.0. This changes some outputs that are visible from Python:

    • The formula fallback engine was rewritten. Formulas can now contain meter-subtraction and diamond terms. Exact formula strings can differ from the previous release, even for the same graph.

    • The consumer formula now measures the non-consumer components behind one internal meter as one group: it subtracts COALESCE(#meter, component readings...) instead of each component on its own. Note: if such a meter also carries a load that is not in the component graph, that load is now subtracted together with the group while the meter reading is used.

    • Graph validation failures now raise InvalidGraphError with a message that starts with Graph validation failed:, followed by one indented line per problem. The old format was InvalidGraph: <description>. Note: some errors found while building the graph, for example a missing grid component, still use the old format. Code that matches on the message text of validation failures must be updated.

  • prefer_meters_in_component_formulas now defaults to False: per-category formulas use the component reading as the primary source and the meter as the fallback. Set it to True to restore the old meter-first order. This changes only the order of the sources; the new fallback terms from v0.6.0 are used either way.

What's Changed

  • Clear release notes by @shsms in #74
  • Add tests for steam boilers by @simonvoelcker in #71
  • Bump the compatible group with 3 updates by @dependabot[bot] in #75
  • Bump frequenz-floss/gh-action-setup-python-with-deps from 0d0d77eac3b54799f31f25a1060ef2c6ebdf9299 to e4d0b2ef8f5a1612d7827f3abaef17c931d2b946 by @dependabot[bot] in #76
  • Bump pytest-asyncio from 1.3.0 to 1.4.0 by @dependabot[bot] in #80
  • Bump pydoclint from 0.8.3 to 0.8.5 by @dependabot[bot] in #82
  • Bump mypy from 1.20.2 to 2.1.0 by @dependabot[bot] in #81
  • Bump frequenz-floss/gh-action-setup-git from 16952aac3ccc01d27412fe0dea3ea946530dcace to f9d86a01228ee1cadaac5224d4d7626f1eb23f90 by @dependabot[bot] in #77
  • Bump nox from 2025.10.16 to 2026.4.10 by @dependabot[bot] in #83
  • Bump isort from 7.0.0 to 8.0.1 by @dependabot[bot] in #84
  • Update frequenz-client-assets requirement from <0.3,>=0.1.0 to >=0.1.0,<0.4 by @dependabot[bot] in #86
  • Bump types-markdown from 3.10.2.20260408 to 3.10.2.20260518 by @dependabot[bot] in #85
  • Bump black from 26.3.1 to 26.5.1 in the minor group across 1 directory by @dependabot[bot] in #78
  • Bump frequenz-repo-config from 0.17.0 to 0.18.0 in the repo-config group across 1 directory by @dependabot[bot] in #79
  • Bump pydoclint from 0.8.5 to 0.8.6 by @dependabot[bot] in #87
  • Bump the compatible group with 3 updates by @dependabot[bot] in #88
  • Bump pyo3 from 0.27.1 to 0.29.0 in the cargo group across 1 directory by @dependabot[bot] in #89
  • Opt into FromPyObject derive for Clone pyclasses under PyO3 0.29 by @shsms in #90
  • Bump actions/checkout from 6.0.3 to 7.0.0 by @dependabot[bot] in #93
  • Bump the patch group with 2 updates by @dependabot[bot] in #94
  • Bump pydoclint from 0.8.6 to 0.9.0 by @dependabot[bot] in #96
  • Bump pytest from 9.0.3 to 9.1.1 in the minor group across 1 directory by @dependabot[bot] in #95
  • Bump the compatible group across 1 directory with 2 updates by @dependabot[bot] in #92
  • Build against component-graph v0.6.0 by @shsms in #91
  • Bump version to 0.5.0 by @shsms in #97

Full Changelog: v0.4.1...v0.5.0