v0.3.8
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.gridpackage withDeliveryAreaandEnergyMarketCodeTypedefinitions for representing energy delivery areas. - Added v1alpha8 conversion functions for
DeliveryAreaandEnergyMarketCodeTypeinfrequenz.client.common.grid.proto.v1alpha8, preserving unrecognized code types as rawintvalues. - Added v1alpha8 conversion functions for
MetricConnectionCategory,Event, and the electrical component enums. - Added v1alpha8 conversion functions for
PaginationInfoinfrequenz.client.common.pagination.proto.v1alpha8(pagination_info_from_proto,pagination_info_to_proto). - Added new enum values up to
frequenz-api-common0.8.4. - Added a new
frequenz.client.common.testpackage with anenum_paritymodule 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.protois deprecated; usefrequenz.client.common.metrics.proto.v1alpha8instead.frequenz.client.common.pagination.PaginationInfo.from_protois deprecated; usefrequenz.client.common.pagination.proto.v1alpha8.pagination_info_from_protoinstead.frequenz.client.common.pagination.PaginationInfo.to_protois deprecated; usefrequenz.client.common.pagination.proto.v1alpha8.pagination_info_to_protoinstead.frequenz.client.common.pagination.PaginationInfo.to_proto_v1alpha8is deprecated; usefrequenz.client.common.pagination.proto.v1alpha8.pagination_info_to_protoinstead.frequenz.client.common.microgrid.electrical_components.ElectricalComponentCategory.from_proto()is deprecated; usefrequenz.client.common.microgrid.electrical_components.proto.v1alpha8.electrical_component_category_from_protoinstead.frequenz.client.common.microgrid.electrical_components.ElectricalComponentCategory.to_proto()is deprecated; usefrequenz.client.common.microgrid.electrical_components.proto.v1alpha8.electrical_component_category_to_protoinstead.frequenz.client.common.microgrid.electrical_components.ElectricalComponentStateCode.from_proto()is deprecated; usefrequenz.client.common.microgrid.electrical_components.proto.v1alpha8.electrical_component_state_code_from_protoinstead.frequenz.client.common.microgrid.electrical_components.ElectricalComponentStateCode.to_proto()is deprecated; usefrequenz.client.common.microgrid.electrical_components.proto.v1alpha8.electrical_component_state_code_to_protoinstead.frequenz.client.common.microgrid.electrical_components.ElectricalComponentDiagnosticCode.from_proto()is deprecated; usefrequenz.client.common.microgrid.electrical_components.proto.v1alpha8.electrical_component_diagnostic_code_from_protoinstead.frequenz.client.common.microgrid.electrical_components.ElectricalComponentDiagnosticCode.to_proto()is deprecated; usefrequenz.client.common.microgrid.electrical_components.proto.v1alpha8.electrical_component_diagnostic_code_to_protoinstead.frequenz.client.common.enum_proto.enum_from_protois deprecated; usefrequenz.client.common.proto.enum_from_protoinstead.frequenz.client.common.metric.Metric(based on the deprecatedfrequenz.api.common.v1namespace) is deprecated; usefrequenz.client.common.metrics.Metricinstead.frequenz.client.common.microgrid.components.ComponentCategory(based on the deprecatedfrequenz.api.common.v1namespace) is deprecated; usefrequenz.client.common.microgrid.electrical_components.ElectricalComponentCategoryinstead.frequenz.client.common.microgrid.components.ComponentStateCode(based on the deprecatedfrequenz.api.common.v1namespace) is deprecated; usefrequenz.client.common.microgrid.electrical_components.ElectricalComponentStateCodeinstead.frequenz.client.common.microgrid.components.ComponentErrorCode(based on the deprecatedfrequenz.api.common.v1namespace) is deprecated; usefrequenz.client.common.microgrid.electrical_components.ElectricalComponentDiagnosticCodeinstead.frequenz.client.common.microgrid.components.ComponentIdis deprecated; usefrequenz.client.common.microgrid.electrical_components.ElectricalComponentIdinstead.
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
v1alpha8enums 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
gridpackage with delivery area definitions by @llucax in #182 - Reorganise subpackages to mirror the
proto/v1alpha8layout by @llucax in #193 - Restore backwards compatibility and finish deprecations by @llucax in #194
Full Changelog: v0.3.7...v0.3.8