Skip to content

Releases: frequenz-floss/frequenz-api-microgrid

v0.19.0

30 Apr 09:24
Immutable release. Only release title and notes can be modified.
v0.19.0
4ba4bc6

Choose a tag to compare

Frequenz Microgrid API Release Notes

Summary

This release introduces a new preview API version, v1alpha19, alongside the stable v1 API.

The v1 API remains unchanged to ensure backward compatibility. All new features are available exclusively in the new v1alpha19 package.


Stable v1 and v1alpha18 APIs

The v1 and v1alpha18 APIs are stable and have not been changed in this release. Users currently on these API versions do not need to make any changes, beyond potentially updating python dependencies.


New v1alpha19 Preview API

A new package, frequenz.api.microgrid.v1alpha19, has been introduced to provide access to the latest features. The v1alpha19 API introduces a more streamlined and robust interface compared to the stable v1 API.


Upgrading to the v0.19.0 release

1. Dependency Updates

Despite the v1 API remaining unchanged, your project's dependencies may need to be updated, due to the following python dependency updates:


Upgrading to the v1alpha19 API

Alongside upgrading to the v0.19.0 release, you can also upgrade to the new v1alpha19 API, which includes several significant changes and improvements.


1. Symbol Renaming

Numerous symbols were renamed. The changes are primarily for clarity and consistency with the new frequenz-api-common API. The changes are listed below:

Type Old Name New Name
Message ReceiveElectricalComponentTelemetryStreamRequest.ComponentTelemetryStreamFilter ReceiveElectricalComponentTelemetryStreamRequest.ElectricalComponentTelemetryStreamFilter

What's Changed

  • Add v1alpha19 API and rename ComponentTelemetryStreamFilter by @tiyash-basu-frequenz in #347
  • Bump mkdocs-material from 9.6.15 to 9.6.16 in the patch group by @dependabot[bot] in #349
  • Bump mypy from 1.16.1 to 1.17.1 in the minor group by @dependabot[bot] in #350
  • Bump the compatible group with 2 updates by @dependabot[bot] in #348
  • Bump actions/labeler from 5.0.0 to 6.0.1 by @dependabot[bot] in #354
  • Bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #355
  • Bump actions/checkout from 4 to 5 by @dependabot[bot] in #356
  • Bump the patch group with 3 updates by @dependabot[bot] in #357
  • Bump pydoclint from 0.6.6 to 0.7.3 by @dependabot[bot] in #360
  • Bump setuptools-scm[toml] from 8.3.1 to 9.2.0 by @dependabot[bot] in #361
  • Bump the minor group with 4 updates by @dependabot[bot] in #358
  • Bump setuptools-scm[toml] from 9.2.0 to 9.2.1 in the patch group by @dependabot[bot] in #363
  • Bump mkdocstrings-python from 1.16.12 to 1.18.2 by @dependabot[bot] in #362
  • Bump the patch group with 5 updates by @dependabot[bot] in #368
  • Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #366
  • Bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #367
  • Bump pylint from 3.3.8 to 4.0.2 by @dependabot[bot] in #370
  • Bump nox from 2025.5.1 to 2025.10.16 in the minor group by @dependabot[bot] in #369
  • Bump pydoclint from 0.7.3 to 0.7.6 by @dependabot[bot] in #371
  • Bump isort from 6.0.1 to 7.0.0 by @dependabot[bot] in #365
  • Add power-source selection for hybrid inverter controls by @tiyash-basu-frequenz in #382
  • Add repo-config auto-migration workflow by @llucax in #383
  • Bump the minor group across 1 directory with 4 updates by @dependabot[bot] in #386
  • Bump the compatible group across 1 directory with 2 updates by @dependabot[bot] in #384
  • Bump actions/create-github-app-token from 2.2.1 to 3.0.0 by @dependabot[bot] in #389
  • Bump actions/checkout from 5 to 6 by @dependabot[bot] in #373
  • Bump the patch group across 1 directory with 3 updates by @dependabot[bot] in #385
  • Bump actions/upload-artifact from 5 to 7 by @dependabot[bot] in #390
  • Bump actions/download-artifact from 6 to 8 by @dependabot[bot] in #388
  • Bump the compatible group across 1 directory with 2 updates by @dependabot[bot] in #391
  • Bump protobuf from 6.31.1 to 6.33.5 by @dependabot[bot] in #394
  • Bump pydoclint from 0.8.1 to 0.8.3 by @dependabot[bot] in #379
  • Bump black from 25.9.0 to 26.3.1 by @dependabot[bot] in #395
  • Revert "Add power-source selection for hybrid inverter controls" by @tiyash-basu-frequenz in #392
  • Add grpc-stubs dependency for mkdocs by @llucax in #404
  • Bump frequenz-repo-config from 0.13.6 to 0.17.0 in the repo-config group across 1 directory by @dependabot[bot] in #398
  • Bump isort from 7.0.0 to 8.0.1 by @dependabot[bot] in #399
  • Bump mypy from 1.19.1 to 1.20.2 in the minor group across 1 directory by @dependabot[bot] in #397
  • Bump mkdocstrings-python from 1.18.2 to 2.0.3 by @dependabot[bot] in #400
  • Bump pytest from 8.4.2 to 9.0.3 by @dependabot[bot] in #393
  • Bump mkdocs-gen-files from 0.5.0 to 0.6.1 by @dependabot[bot] in #403
  • Bump setuptools from 80.9.0 to 82.0.1 by @dependabot[bot] in #402
  • Bump nox from 2025.10.16 to 2026.4.10 by @dependabot[bot] in #401
  • Add dependabot grpc update fix workflow by @llucax in #405
  • Build(deps): Bump the compatible group with 5 updates by @dependabot[bot] in #406
  • Build(deps): Bump actions/create-github-app-token from 2.2.1 to 3.1.1 by @dependabot[bot] in #407
  • Build(deps): Bump frequenz-floss/gh-action-setup-python-with-deps from 0d0d77eac3b54799f31f25a1060ef2c6ebdf9299 to e4d0b2ef8f5a1612d7827f3abaef17c931d2b946 by @dependabot[bot] in #408
  • Build(deps): Bump frequenz-floss/gh-action-setup-git from 16952aac3ccc01d27412fe0dea3ea946530dcace to f9d86a01228ee1cadaac5224d4d7626f1eb23f90 by @dependabot[bot] in #409
  • Build(deps-dev): Bump setuptools-scm from 9.2.2 to 10.0.5 by @dependabot[bot] in #412
  • Build(deps): Bump the grpc-compatible group across 1 directory with 3 updates by @dependabot[bot] in #413
  • Update frequenz-api-common to v0.8.3 by @tiyash-basu-frequenz in #396
  • Update frequenz-api-common submodule from v0.8.3 to v0.8.4 by @tiyash-basu-frequenz in #414

Full Changelog: v0.18.0...v0.19.0

v0.15.6

18 Aug 10:21
v0.15.6
872a685

Choose a tag to compare

Frequenz Microgrid API Release Notes

Summary

This release relaxes the dependency constraint for frequenz-api-common to allow for newer versions.

What's Changed

  • Relax frequenz-api-common dependency constraint to allow newer versions by @Copilot in #352

New Contributors

  • @Copilot made their first contribution in #352

Full Changelog: v0.15.5...v0.15.6

v0.18.0

11 Jul 10:21
Immutable release. Only release title and notes can be modified.
v0.18.0
0e5529e

Choose a tag to compare

Frequenz Microgrid API Release Notes

Summary

This release introduces a new preview API version, v1alpha18, alongside the stable v1 API, and updates the underlying frequenz-api-common dependency to v0.8.0.

The v1 API remains unchanged to ensure backward compatibility. All new features, including a more unified power-setting RPC and alignment with frequenz-api-common v0.8.0, are available exclusively in the new v1alpha18 package.


Stable v1 API

The v1 API is stable and has not been changed in this release. Users currently on v1 do not need to make any changes, beyond potentially updating python dependencies as described below.

The upgrade to frequenz-api-common v0.8.0 does not affect the v1 API, and it remains fully compatible with existing implementations.


New v1alpha18 Preview API

A new package, frequenz.api.microgrid.v1alpha18, has been introduced to provide access to the latest features. The v1alpha18 API introduces a more streamlined and robust interface compared to the stable v1 API.


Upgrading to the v0.18.0 release

1. Dependency Updates

Despite the v1 API remaining unchanged, your project's dependencies may need to be updated, due to the following python dependency updates:

  • The minimum supported version of protobuf is now 6.31.1.
  • The minimum supported version of grpcio is now 1.72.1.

Upgrading to the v1alpha18 API

Alongside upgrading to the v0.18.0 release, you can also upgrade to the new v1alpha18 API, which includes several significant changes and improvements.

1. Dependency Updates

frequenz-api-common v0.8.0: The frequenz-api-common dependency has been updated from v0.6.1 to v0.8.0. The v1alpha18 API uses the frequenz.api.common.v1alpha8 API from the frequenz-api-common v0.8.0 dependency, which includes several improvements and changes compared to the previous version. Please consult the release notes in frequenz-api-common's for details:


2. Removals

  • Sensor categories: These have been removed entirely, aligning with the underlying frequenz-api-common v0.8.0 dependency.
  • RPCs: SetComponentPowerActive and SetComponentPowerReactive have been removed. Use the new SetElectricalComponentPower RPC instead (see below).

3. Major Breaking Change: New Power-Setting RPC

The RPCs SetComponentPowerActive and SetComponentPowerReactive have been replaced by a single, more robust RPC: SetElectricalComponentPower.

  • Unified Interface: The new request message, SetElectricalComponentPowerRequest, includes a power_type field to specify whether you are setting ACTIVE or REACTIVE power.
  • Streaming Response: This RPC returns a stream of SetElectricalComponentPowerResponse messages, providing ongoing status updates about the power-setting operation.

4. Symbol Renaming

Numerous symbols were renamed. The changes are primarily for clarity and consistency with the new frequenz-api-common API. The changes are listed below:

Type Old Name New Name
RPC GetMicrogridMetadata GetMicrogrid
Message GetMicrogridMetadataResponse GetMicrogridResponse
RPC ListComponents ListElectricalComponents
Message ListComponentsRequest ListElectricalComponentsRequest
Field ListComponentsRequest.component_ids ListElectricalComponentsRequest.electrical_component_ids
Field ListComponentsRequest.categories ListElectricalComponentsRequest.electrical_component_categories
Message ListComponentsResponse ListElectricalComponentsResponse
Field ListComponentsResponse.components ListElectricalComponentsResponse.electrical_components
RPC ListConnections ListElectricalComponentConnections
Message ListConnectionsRequest ListElectricalComponentConnectionsRequest
Field ListConnectionsRequest.starts ListElectricalComponentConnectionsRequest.source_electrical_component_ids
Field ListConnectionsRequest.ends ListElectricalComponentConnectionsRequest.destination_electrical_component_ids
Message ListConnectionsResponse ListElectricalComponentConnectionsResponse
Field ListConnectionsResponse.connections ListElectricalComponentConnectionsResponse.electrical_component_connections
RPC ReceiveComponentDataStream ReceiveElectricalComponentTelemetryStream
Message ReceiveComponentDataStreamRequest ReceiveElectricalComponentTelemetryStreamRequest
Field ReceiveComponentDataStreamRequest.component_id ReceiveElectricalComponentTelemetryStreamRequest.electrical_component_ids
Message ReceiveComponentDataStreamRequest.ComponentDataStreamFilter ReceiveElectricalComponentTelemetryStreamRequest.ComponentTelemetryStreamFilter
Message ReceiveComponentDataStreamResponse ReceiveElectricalComponentTelemetryStreamResponse
Field ReceiveComponentDataStreamResponse.data ReceiveElectricalComponentTelemetryStreamResponse.telemetry
RPC ReceiveSensorDataStream ReceiveSensorTelemetryStream
Message ReceiveSensorDataStreamRequest ReceiveSensorTelemetryStreamRequest
Message ReceiveSensorDataStreamResponse ReceiveSensorTelemetryStreamResponse
Field ReceiveSensorDataStreamResponse.data ReceiveSensorTelemetryStreamResponse.telemetry
RPC AddComponentBounds AugmentElectricalComponentBounds
Message AddComponentBoundsRequest AugmentElectricalComponentBoundsRequest
Field AddComponentBoundsRequest.validity_duration AugmentElectricalComponentBoundsRequest.request_lifetime
Message AddComponentBoundsResponse AugmentElectricalComponentBoundsResponse
Field AddComponentBoundsResponse.ts AugmentElectricalComponentBoundsResponse.valid_until_time
RPC StartComponent StartElectricalComponent
Message StartComponentRequest StartElectricalComponentRequest
Field StartComponentRequest.component_id StartElectricalComponentRequest.electrical_component_id
RPC PutComponentInStandby PutElectricalComponentInStandby
Message PutComponentInStandbyRequest PutElectricalComponentInStandbyRequest
Field PutComponentInStandbyRequest.component_id PutElectricalComponentInStandbyRequest.electrical_component_id
RPC StopComponent StopElectricalComponent
Message StopComponentRequest StopElectricalComponentRequest
Field StopComponentRequest.component_id StopElectricalComponentRequest.electrical_component_id
RPC AckComponentError AckElectricalComponentError
Message AckComponentErrorRequest AckElectricalComponentErrorRequest
Field AckComponentErrorRequest.component_id AckElectricalComponentErrorRequest.electrical_component_id

What's Changed

  • Bump the api-common dependency to v0.5.4 by @llucax in #205
  • Clear release notes by @llucax in #206
  • Bump the required group with 5 updates ...
Read more

v0.17.2

11 Jun 08:23
v0.17.2
fba8152

Choose a tag to compare

Frequenz Microgrid API Release Notes

Bug Fixes

  • Fix a dependency issue by pinning the grpcio version and related libraries.

What's Changed

  • Bump protobuf-related dependencies by @llucax in #315

Full Changelog: v0.17.1...v0.17.2

v0.15.5

10 Jun 12:17
v0.15.5
35c5a99

Choose a tag to compare

Frequenz Microgrid API Release Notes

Bug Fixes

  • Bump the protobuf minimum supported version to 5.26.1, and the maximum version to 7.0.0
  • Bump the grpcio and grpcio-tools minimum supported versions to 1.63.0
  • Bump the googleapis-common-protos minimum supported version to 1.63.1

What's Changed

  • Bump the protobuf-related dependencies by @llucax in #308

Full Changelog: v0.15.4...v0.15.5

v0.15.4

13 Sep 12:51
v0.15.4
ac7c7a1

Choose a tag to compare

Frequenz Microgrid API Release Notes

Bug Fixes

  • Fix a dependency issue by pinning the grpcio version and related libraries.

What's Changed

Full Changelog: v0.15.3...v0.15.4

v0.17.1

10 Sep 13:13
v0.17.1
f5c4161

Choose a tag to compare

Frequenz Microgrid API Release Notes

Bug Fixes

  • Fix a dependency issue by pinning the grpcio version and related libraries.

What's Changed

Full Changelog: v0.17.0...v0.17.1

v0.17.0

10 May 15:09
v0.17.0
b12e4d9

Choose a tag to compare

Frequenz Microgrid API Release Notes

Summary

In this release, the Microgrid API has been updated to use the latest version of frequenz-api-common, in addition to a few improvements and a bug fix.

Upgrading

  • This release upgrades frequenz-api-common to version v0.6.1. Please refer to the release notes for v0.6.0 and v0.6.1 of frequenz-api-common for more information.

  • A new RPC named AddComponentBounds has been introduced, which accepts only inclusive bounds. The old RPCs AddComponentInclusionBounds and AddComponentExclusionBounds have been removed.

  • The enum ComponentBoundsTargetMetric has been removed in favour of the Metric enum from frequenz-api-common.

  • The polarity of reactive power has been changed to follow the IEEE 1459-2010 standard definitions. In this standard, positive reactive power is inductive (current is lagging the voltage), and negative reactive power is capacitive (current is leading the voltage).

New Features

  • The AddComponentBoundsRequest message has a field validity_duration which allows the user to specify the duration for which the bounds are valid. The bounds will be automatically removed after the specified duration. The client can select between 5 seconds, 1 minute, 5 minutes, and 15 minutes. If set to UNSPECIFIED, the bounds will be valid for a default duration of 5 seconds.

  • The request messages SetComponentPowerActiveRequest and SetComponentPowerReactiveRequest have a new field named request_lifetime which allows the user to specify the duration for which the power setpoints are valid. If this field is not specified in a request, the power setpoint will be valid for 60 seconds.

Bug Fixes

  • The CI was unable to catch unused imports in the proto file before. This has been fixed by adding a new step to the CI to build using protoc with the --fatal-warnings flag.

What's Changed

Full Changelog: v0.16.1...v0.17.0

v0.16.1

25 Mar 17:15
v0.16.1
32ec80e

Choose a tag to compare

Frequenz Microgrid API Release Notes

Summary

This release cleans up of unused imports and fixes field names in HTTP annotations.

Bug Fixes

  • Removed unused imports

  • Fixed field names in HTTP annotations

What's Changed

Read more

v0.15.3

01 Feb 10:04
v0.15.3
2332734

Choose a tag to compare

Frequenz Microgrid API Release Notes

Summary

This release bumps the frequenz-api-common dependency to v0.5.3, allowing downstream projects to use a newer frequenz-api-common version too.

Please note that the googleapis-common-protos dependency is also bumped to v1.56.4, which is the version that api-common v0.5.4 depends on.

Strictly speaking, this is a breaking change, as you might need to bump your googleapis-common-protos dependency to v1.56.4 too if it is specified explicitly, but this is highly unlikely to happen and very easy to fix.

What's Changed

  • Bump the api-common dependency to v0.5.4 by @llucax in #205

Full Changelog: v0.15.2...v0.15.3