Skip to content

v0.3.8

Choose a tag to compare

@github-actions github-actions released this 10 Jun 08:44
· 423 commits to v0.x.x since this release
Immutable release. Only release title and notes can be modified.
v0.3.8
66b8903

Frequenz Client Common Library Release Notes

Summary

This release adds a new grid package for delivery area definitions, introduces explicit v1alpha8 protobuf conversion helpers across public modules (metrics, streaming, electrical_components, pagination, grid), and reorganises a number of subpackages to mirror the established proto/v1alpha8/ layout. Several legacy conversion entry points have been deprecated in favour of new free functions.

New Features

  • Added a new frequenz.client.common.grid package with DeliveryArea and EnergyMarketCodeType definitions for representing energy delivery areas.
  • Added v1alpha8 conversion functions for DeliveryArea and EnergyMarketCodeType in frequenz.client.common.grid.proto.v1alpha8, preserving unrecognized code types as raw int values.
  • Added v1alpha8 conversion functions for MetricConnectionCategory, Event, and the electrical component enums.
  • Added v1alpha8 conversion functions for PaginationInfo in frequenz.client.common.pagination.proto.v1alpha8 (pagination_info_from_proto, pagination_info_to_proto).
  • Added new enum values up to frequenz-api-common 0.8.4.
  • Added a new frequenz.client.common.test package with an enum_parity module providing a convenient class to test for protobuf-Python enum parity.

Deprecations

Important

Passing enum values directly to build protobuf messages is now deprecated, but it does NOT emit a deprecation warning, so migration needs to be done manually. Use the new conversion functions to convert enum values to their protobuf equivalents before passing them to message builders.

Implicit conversions will fail type checking in v0.4.0.

  • frequenz.client.common.metrics.proto is deprecated; use frequenz.client.common.metrics.proto.v1alpha8 instead.
  • frequenz.client.common.pagination.PaginationInfo.from_proto is deprecated; use frequenz.client.common.pagination.proto.v1alpha8.pagination_info_from_proto instead.
  • frequenz.client.common.pagination.PaginationInfo.to_proto is deprecated; use frequenz.client.common.pagination.proto.v1alpha8.pagination_info_to_proto instead.
  • frequenz.client.common.pagination.PaginationInfo.to_proto_v1alpha8 is deprecated; use frequenz.client.common.pagination.proto.v1alpha8.pagination_info_to_proto instead.
  • frequenz.client.common.microgrid.electrical_components.ElectricalComponentCategory.from_proto() is deprecated; use frequenz.client.common.microgrid.electrical_components.proto.v1alpha8.electrical_component_category_from_proto instead.
  • frequenz.client.common.microgrid.electrical_components.ElectricalComponentCategory.to_proto() is deprecated; use frequenz.client.common.microgrid.electrical_components.proto.v1alpha8.electrical_component_category_to_proto instead.
  • frequenz.client.common.microgrid.electrical_components.ElectricalComponentStateCode.from_proto() is deprecated; use frequenz.client.common.microgrid.electrical_components.proto.v1alpha8.electrical_component_state_code_from_proto instead.
  • frequenz.client.common.microgrid.electrical_components.ElectricalComponentStateCode.to_proto() is deprecated; use frequenz.client.common.microgrid.electrical_components.proto.v1alpha8.electrical_component_state_code_to_proto instead.
  • frequenz.client.common.microgrid.electrical_components.ElectricalComponentDiagnosticCode.from_proto() is deprecated; use frequenz.client.common.microgrid.electrical_components.proto.v1alpha8.electrical_component_diagnostic_code_from_proto instead.
  • frequenz.client.common.microgrid.electrical_components.ElectricalComponentDiagnosticCode.to_proto() is deprecated; use frequenz.client.common.microgrid.electrical_components.proto.v1alpha8.electrical_component_diagnostic_code_to_proto instead.
  • frequenz.client.common.enum_proto.enum_from_proto is deprecated; use frequenz.client.common.proto.enum_from_proto instead.
  • frequenz.client.common.metric.Metric (based on the deprecated frequenz.api.common.v1 namespace) is deprecated; use frequenz.client.common.metrics.Metric instead.
  • frequenz.client.common.microgrid.components.ComponentCategory (based on the deprecated frequenz.api.common.v1 namespace) is deprecated; use frequenz.client.common.microgrid.electrical_components.ElectricalComponentCategory instead.
  • frequenz.client.common.microgrid.components.ComponentStateCode (based on the deprecated frequenz.api.common.v1 namespace) is deprecated; use frequenz.client.common.microgrid.electrical_components.ElectricalComponentStateCode instead.
  • frequenz.client.common.microgrid.components.ComponentErrorCode (based on the deprecated frequenz.api.common.v1 namespace) is deprecated; use frequenz.client.common.microgrid.electrical_components.ElectricalComponentDiagnosticCode instead.
  • frequenz.client.common.microgrid.components.ComponentId is deprecated; use frequenz.client.common.microgrid.electrical_components.ElectricalComponentId instead.

What's Changed

  • Clear release notes by @llucax in #129
  • Build(deps-dev): Bump the minor group across 1 directory with 8 updates by @dependabot[bot] in #144
  • Upgrade and migrate to repo-config v0.14.0 by @llucax in #145
  • Build(deps-dev): Bump the patch group across 1 directory with 2 updates by @dependabot[bot] in #143
  • Build(deps): Bump actions/checkout from 5 to 6 by @dependabot[bot] in #139
  • Build(deps): Bump frequenz-floss/gh-action-nox from 1.0.1 to 1.1.0 in the compatible group by @dependabot[bot] in #138
  • Build(deps-dev): Bump pytest-asyncio from 1.2.0 to 1.3.0 by @dependabot[bot] in #136
  • Build(deps): Bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #120
  • Build(deps): Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #119
  • Build(deps-dev): Bump pydoclint from 0.7.6 to 0.8.3 by @dependabot[bot] in #134
  • Build(deps-dev): Bump mkdocstrings[python] from 0.30.1 to 1.0.0 by @dependabot[bot] in #137
  • Build(deps-dev): Bump mkdocstrings-python from 1.18.2 to 2.0.3 by @dependabot[bot] in #155
  • Build(deps): Bump the compatible group with 2 updates by @dependabot[bot] in #146
  • Build(deps-dev): Bump the patch group with 6 updates by @dependabot[bot] in #149
  • Build(deps-dev): Bump setuptools from 80.10.2 to 82.0.0 by @dependabot[bot] in #150
  • Build(deps-dev): Bump pytest from 8.4.2 to 9.0.2 by @dependabot[bot] in #156
  • Build(deps): Bump actions/upload-artifact from 5 to 7 by @dependabot[bot] in #148
  • Build(deps): Bump actions/download-artifact from 6 to 8 by @dependabot[bot] in #147
  • Build(deps-dev): Bump isort from 6.1.0 to 8.0.1 by @dependabot[bot] in #154
  • Add repo-config auto-migration workflow by @llucax in #157
  • Add black auto-migrate workflow by @llucax in #167
  • Build(deps-dev): Bump black from 25.9.0 to 26.3.1 by @dependabot[bot] in #162
  • Build(deps-dev): Bump async-solipsism from 0.8 to 0.9 by @dependabot[bot] in #163
  • Build(deps-dev): Bump nox from 2025.11.12 to 2026.2.9 by @dependabot[bot] in #166
  • Build(deps-dev): Bump mkdocs-gen-files from 0.5.0 to 0.6.1 by @dependabot[bot] in #165
  • Build(deps-dev): Bump setuptools-scm from 9.2.2 to 10.0.3 by @dependabot[bot] in #164
  • Build(deps-dev): Bump types-protobuf from 6.32.1.20251105 to 6.32.1.20260221 by @dependabot[bot] in #151
  • Build(deps): Bump the compatible group across 1 directory with 3 updates by @dependabot[bot] in #168
  • Build(deps): Bump actions/create-github-app-token from 2.2.1 to 3.0.0 by @dependabot[bot] in #159
  • Build(deps-dev): Bump the patch group across 1 directory with 4 updates by @dependabot[bot] in #160
  • Build(deps-dev): Bump hypothesis from 6.151.9 to 6.151.10 in the patch group by @dependabot[bot] in #169
  • Build(deps-dev): Bump mypy from 1.19.1 to 1.20.0 in the minor group by @dependabot[bot] in #170
  • Build(deps-dev): Bump types-protobuf from 6.32.1.20260221 to 7.34.1.20260402 by @dependabot[bot] in #171
  • Build(deps-dev): Bump frequenz-repo-config from 0.14.0 to 0.17.0 in the repo-config group by @dependabot[bot] in #172
  • Build(deps): Update protobuf requirement from <7,>=6.33.1 to >=6.33.1,<8 by @dependabot[bot] in #152
  • Build(deps): Bump the compatible group with 4 updates by @dependabot[bot] in #173
  • Build(deps): Bump actions/create-github-app-token from 2.2.1 to 3.1.1 by @dependabot[bot] in #174
  • Build(deps): Bump frequenz-floss/gh-action-setup-python-with-deps from 0d0d77eac3b54799f31f25a1060ef2c6ebdf9299 to e4d0b2ef8f5a1612d7827f3abaef17c931d2b946 by @dependabot[bot] in #176
  • Build(deps-dev): Bump the patch group with 3 updates by @dependabot[bot] in #177
  • Build(deps): Bump frequenz-floss/gh-action-setup-git from 16952aac3ccc01d27412fe0dea3ea946530dcace to f9d86a01228ee1cadaac5224d4d7626f1eb23f90 by @dependabot[bot] in #175
  • Build(deps-dev): Bump the minor group with 3 updates by @dependabot[bot] in #178
  • Build(deps-dev): Bump types-protobuf from 7.34.1.20260402 to 7.34.1.20260408 by @dependabot[bot] in #180
  • Build(deps-dev): Bump types-markdown from 3.10.2.20260211 to 3.10.2.20260408 by @dependabot[bot] in #179
  • Add metric from/to protobuf v1alpha8 conversion by @llucax in #140
  • Forbid implicit Metric to protobuf conversion by @llucax in #142
  • Add conversion for the remaining v1alpha8 enums by @llucax in #181
  • Build(deps): Bump the compatible group with 4 updates by @dependabot[bot] in #183
  • Build(deps-dev): Bump the minor group with 2 updates by @dependabot[bot] in #184
  • Build(deps-dev): Bump pydoclint from 0.8.3 to 0.8.5 by @dependabot[bot] in #186
  • Build(deps-dev): Bump types-markdown from 3.10.2.20260408 to 3.10.2.20260518 by @dependabot[bot] in #188
  • Build(deps-dev): Bump pytest-asyncio from 1.3.0 to 1.4.0 by @dependabot[bot] in #189
  • Build(deps-dev): Bump mypy from 1.20.2 to 2.1.0 by @dependabot[bot] in #187
  • Build(deps-dev): Bump types-protobuf from 7.34.1.20260408 to 7.34.1.20260518 by @dependabot[bot] in #190
  • Build(deps-dev): Bump frequenz-repo-config from 0.17.0 to 0.18.0 in the repo-config group across 1 directory by @dependabot[bot] in #185
  • Build(deps): Bump the compatible group with 3 updates by @dependabot[bot] in #191
  • Build(deps-dev): Bump pydoclint from 0.8.5 to 0.8.6 by @dependabot[bot] in #192
  • Add a new grid package with delivery area definitions by @llucax in #182
  • Reorganise subpackages to mirror the proto/v1alpha8 layout by @llucax in #193
  • Restore backwards compatibility and finish deprecations by @llucax in #194

Full Changelog: v0.3.7...v0.3.8