Frequenz Common API Release Notes
Summary
This release contains
* additions of data definitions to the common specs, that are intended to be used by the Frequenz APIs.
* refactors of existing definitions, in order to make them more consistent and easier to use.
Upgrading
- `lower` and `upper` bounds fields in the `Bounds` message are now `optional`
- `rated_bounds` field has been removed from the messages `Metric` and `MetricAggregation`
- `component_bounds` field has been removed from the messages `Metric` and `MetricAggregation`
- Inclusion and exclusion bounds have been removed from the metric definitions. These have been replaced with an array of inclusion bounds. This simplifies the message definition, and removes the requirement of clients having to check if a parameter is _not_ in a given pair of bounds. This also extends the possibility of having more than 2 pairs bounds for a given metric.
- Fields in `MetricAggregation` message have been suffixed with `_value`, to make them consistent with the `Metric` message.
- Timestamps have been introduced in the metric messages. This makes it easier to use these messages in a timeseries context.
- Renamed `Metric` message to `SimpleMetricSample`
- Renamed `MetricAggregation` message to `AggregatedMetricSample`
- Added a union type message `MetricSampleVariant` to represent both
`SimpleMetricSample` and `AggregatedMetricSample`
- Added a message `MetricSample` to represent a metric sample with a timestamp
and bounds.
- Added a message to represent metrics sampled from components.
- Added a message `SensorData` to represent metrics sampled from sensors.
- Added a message `Lifetime` as a wrapper over the start and end timestamps of an entity.
- Added a message `Sensor` to represent sensors installed in a microgrid.
- Added a message `Component` to represent components installed in a microgrid.
- Added a message `ComponentCategoryMetadataVariant` to represent the different types of sub-categories that can be associated with a component category.
- Added a message `ComponentConnection` to represent electrical connection between two components installed in a microgrid.
- Added a message `DeliveryArea` to represent a market contract delivery area.
- Added a message `Microgrid` to represent a microgrid.
- Updated the package name of `location.proto` to `frequenz.api.common.v1`.
- Added messages to support pagination in APIs.
- Removed `metrics/electrical.proto`, since it is no longer needed.
What's Changed
* Make lower and upper bounds optional in the Bounds message by tiyash-basu-frequenz in https://github.com/frequenz-floss/frequenz-api-common/pull/104
* Bump mypy from 1.5.1 to 1.6.1 by dependabot in https://github.com/frequenz-floss/frequenz-api-common/pull/109
* Bump black from 23.9.1 to 23.10.0 by dependabot in https://github.com/frequenz-floss/frequenz-api-common/pull/110
* Bump mkdocs-material from 9.4.2 to 9.4.6 by dependabot in https://github.com/frequenz-floss/frequenz-api-common/pull/107
* Add a message 'Pagination' to define pagination parameters by TalweSingh in https://github.com/frequenz-floss/frequenz-api-common/pull/99
* Bump black from 23.10.0 to 23.10.1 by dependabot in https://github.com/frequenz-floss/frequenz-api-common/pull/116
* Bump pytest from 7.4.2 to 7.4.3 by dependabot in https://github.com/frequenz-floss/frequenz-api-common/pull/117
* Update the metrics package by tiyash-basu-frequenz in https://github.com/frequenz-floss/frequenz-api-common/pull/114
* Bump repo config to v0.6.2 by TalweSingh in https://github.com/frequenz-floss/frequenz-api-common/pull/102
* Bump the optional group with 1 update by dependabot in https://github.com/frequenz-floss/frequenz-api-common/pull/118
* Bump yoheimuta/action-protolint from 1.0.0 to 1.1.0 by dependabot in https://github.com/frequenz-floss/frequenz-api-common/pull/120
* Bump the optional group with 1 update by dependabot in https://github.com/frequenz-floss/frequenz-api-common/pull/121
* Bump grpc-stubs from 1.53.0.2 to 1.53.0.3 by dependabot in https://github.com/frequenz-floss/frequenz-api-common/pull/119
* Update `metrics` and `component.data` packages by tiyash-basu-frequenz in https://github.com/frequenz-floss/frequenz-api-common/pull/122
* Bump actions/checkout from 3 to 4 by dependabot in https://github.com/frequenz-floss/frequenz-api-common/pull/72
* Add messages to stream sensor data by tiyash-basu-frequenz in https://github.com/frequenz-floss/frequenz-api-common/pull/125
* Move `ComponentData` message to `components.proto` by tiyash-basu-frequenz in https://github.com/frequenz-floss/frequenz-api-common/pull/126
* Bump the optional group with 3 updates by dependabot in https://github.com/frequenz-floss/frequenz-api-common/pull/129
* Bump pylint from 2.17.6 to 3.0.2 by dependabot in https://github.com/frequenz-floss/frequenz-api-common/pull/115
* Add messages describing microgrid entities by tiyash-basu-frequenz in https://github.com/frequenz-floss/frequenz-api-common/pull/127
* Refactor protobuf messages and files to establish a standard packaging scheme by tiyash-basu-frequenz in https://github.com/frequenz-floss/frequenz-api-common/pull/131
* Remove unnecessary items and add a test by tiyash-basu-frequenz in https://github.com/frequenz-floss/frequenz-api-common/pull/132
* Cleanup RELEASE_NOTES.md for release v0.5.0 by tiyash-basu-frequenz in https://github.com/frequenz-floss/frequenz-api-common/pull/133
New Contributors
* TalweSingh made their first contribution in https://github.com/frequenz-floss/frequenz-api-common/pull/99
**Full Changelog**: https://github.com/frequenz-floss/frequenz-api-common/compare/v0.4.0...v0.5.0