Releases: frequenz-floss/frequenz-api-common
v0.5.4
Frequenz Common API Release Notes
New Features
-
Add a energy message for electricity trading markets
-
Add backwards compatibility with v0.3.x
This release includes the top-level files present in the v0.3.x release, so the Microgrid API v0.15.x can depend on a newer version of the Common API.
What's Changed
- Add Energy message for electricity trading markets by @matthias-wende-frequenz in #161
- Prepare release notes for release by @matthias-wende-frequenz in #162
- Bump the optional group with 9 updates by @dependabot in #164
- Bump submodules/api-common-protos from
51555datof6b54cdby @dependabot in #166 - Bump submodules/api-common-protos from
f6b54cdto86f7539by @dependabot in #168 - Bump the optional group with 2 updates by @dependabot in #169
- Bump flake8 from 6.1.0 to 7.0.0 by @dependabot in #170
- Bump grpc-stubs from 1.53.0.3 to 1.53.0.5 by @dependabot in #171
- Add backwards compatibility with v0.3.x by @llucax in #179
- Bump black from 23.12.1 to 24.1.1 by @dependabot in #176
New Contributors
- @matthias-wende-frequenz made their first contribution in #161
Full Changelog: v0.5.2...v0.5.4
v0.5.3
Frequenz Common API Release Notes
New Features
- Add a energy message for electricity trading markets
What's Changed
- Add Energy message for electricity trading markets by @matthias-wende-frequenz in #161
Full Changelog: v0.5.2...v0.5.3
v0.5.2
Frequenz Common API Release Notes
Summary
This release adds new features, and fixes the documentation of a few messages.
Upgrading
- This release does not contain breaking changes in terms of protobuf definitions.
However, when upgrading, applications may need to be adjusted to work with the new additions.
New Features
-
Adds ability to specify static bounds in the
Componentmessage. -
Adds protobuf definition necessary for Electricity Trading (and for Ancillary Services Market).
Bug Fixes
- Fixes
SensorDataandComponentDatadoc examples to correctly reflect differences in respective values.
What's Changed
- Clear release notes by @stefan-brus-frequenz in #138
- Bump mypy from 1.7.0 to 1.7.1 by @dependabot in #140
- Bump actions/setup-python from 4 to 5 by @dependabot in #146
- Fix doc examples for
SensorDataandComponentDataby @thea-leake in #150 - Add Max charge and discharge values for a component. by @thea-leake in #149
- Add definitions for Electricity Trading API by @camille-bouvy-frequenz in #148
- Update release notes by @tiyash-basu-frequenz in #157
- Bump actions/upload-artifact from 3 to 4 by @dependabot in #153
- Bump actions/download-artifact from 3 to 4 by @dependabot in #154
- Bump submodules/api-common-protos from
c8dbdd0to51555daby @dependabot in #158
New Contributors
- @thea-leake made their first contribution in #150
- @camille-bouvy-frequenz made their first contribution in #148
Full Changelog: v0.5.1...v0.5.2
v0.5.1
Frequenz Common API Release Notes
Summary
- Added
MicrogridComponentIDsmessage, which groups a microgrid ID together with
a list of component IDs.
New Features
- Added
MicrogridComponentIDsmessage, which groups a microgrid ID together with
a list of component IDs.
v0.5.0
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
-
lowerandupperbounds fields in theBoundsmessage are nowoptional -
rated_boundsfield has been removed from the messagesMetricandMetricAggregation -
component_boundsfield has been removed from the messagesMetricandMetricAggregation -
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
MetricAggregationmessage have been suffixed with_value, to make them consistent with theMetricmessage. -
Timestamps have been introduced in the metric messages. This makes it easier to use these messages in a timeseries context.
-
Renamed
Metricmessage toSimpleMetricSample -
Renamed
MetricAggregationmessage toAggregatedMetricSample -
Added a union type message
MetricSampleVariantto represent both
SimpleMetricSampleandAggregatedMetricSample -
Added a message
MetricSampleto represent a metric sample with a timestamp
and bounds. -
Added a message to represent metrics sampled from components.
-
Added a message
SensorDatato represent metrics sampled from sensors. -
Added a message
Lifetimeas a wrapper over the start and end timestamps of an entity. -
Added a message
Sensorto represent sensors installed in a microgrid. -
Added a message
Componentto represent components installed in a microgrid. -
Added a message
ComponentCategoryMetadataVariantto represent the different types of sub-categories that can be associated with a component category. -
Added a message
ComponentConnectionto represent electrical connection between two components installed in a microgrid. -
Added a message
DeliveryAreato represent a market contract delivery area. -
Added a message
Microgridto represent a microgrid. -
Updated the package name of
location.prototofrequenz.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 #104
- Bump mypy from 1.5.1 to 1.6.1 by @dependabot in #109
- Bump black from 23.9.1 to 23.10.0 by @dependabot in #110
- Bump mkdocs-material from 9.4.2 to 9.4.6 by @dependabot in #107
- Add a message 'Pagination' to define pagination parameters by @TalweSingh in #99
- Bump black from 23.10.0 to 23.10.1 by @dependabot in #116
- Bump pytest from 7.4.2 to 7.4.3 by @dependabot in #117
- Update the metrics package by @tiyash-basu-frequenz in #114
- Bump repo config to v0.6.2 by @TalweSingh in #102
- Bump the optional group with 1 update by @dependabot in #118
- Bump yoheimuta/action-protolint from 1.0.0 to 1.1.0 by @dependabot in #120
- Bump the optional group with 1 update by @dependabot in #121
- Bump grpc-stubs from 1.53.0.2 to 1.53.0.3 by @dependabot in #119
- Update
metricsandcomponent.datapackages by @tiyash-basu-frequenz in #122 - Bump actions/checkout from 3 to 4 by @dependabot in #72
- Add messages to stream sensor data by @tiyash-basu-frequenz in #125
- Move
ComponentDatamessage tocomponents.protoby @tiyash-basu-frequenz in #126 - Bump the optional group with 3 updates by @dependabot in #129
- Bump pylint from 2.17.6 to 3.0.2 by @dependabot in #115
- Add messages describing microgrid entities by @tiyash-basu-frequenz in #127
- Refactor protobuf messages and files to establish a standard packaging scheme by @tiyash-basu-frequenz in #131
- Remove unnecessary items and add a test by @tiyash-basu-frequenz in #132
- Cleanup RELEASE_NOTES.md for release v0.5.0 by @tiyash-basu-frequenz in #133
New Contributors
- @TalweSingh made their first contribution in #99
Full Changelog: v0.4.0...v0.5.0
v0.4.0
Frequenz Common API Release Notes
Summary
Added versioning to the API, added new component category variants, and split
sensors out of components.
Upgrading
-
The package names have been changed from
frequenz.api.common.<package>to
frequenz.api.common.v1.<package>.v1is the API's major version, and will
be incremented for breaking changes. -
Added
frequenz.api.common.sensorspackage, containing the enums
SensorCategoryandSensorType. Removed the component category variant
COMPONENT_CATEGORY_SENSORand the enumSensorTypefrom
frequenz.api.common.components. -
The component category variant
PRECHARGE_MODULEhas been renamed to
PRECHARGER.
New Features
-
Added a new component category variant:
COMPONENT_CATEGORY_FUSE. -
Added a new component category variant:
COMPONENT_CATEGORY_VOLTAGE_TRANSFORMER.
What's Changed
- Clear release notes by @llucax in #55
- Bump mypy from 1.4.1 to 1.5.0 by @dependabot in #56
- Bump mypy from 1.5.0 to 1.5.1 by @dependabot in #57
- Upgrade to repo-config v0.5.2 by @llucax in #59
- Bump mkdocs-material from 9.1.21 to 9.2.1 by @dependabot in #63
- Bump mkdocs-material from 9.2.1 to 9.2.3 by @dependabot in #64
- Bump mkdocs-section-index from 0.3.5 to 0.3.6 by @dependabot in #74
- Bump mkdocstrings[python] from 0.22.0 to 0.23.0 by @dependabot in #68
- Bump pytest from 7.4.0 to 7.4.2 by @dependabot in #76
- Bump black from 23.7.0 to 23.9.1 by @dependabot in #77
- Bump mkdocs-literate-nav from 0.6.0 to 0.6.1 by @dependabot in #78
- Bump mkdocs-material from 9.2.3 to 9.3.1 by @dependabot in #79
- Bump mkdocs-section-index from 0.3.6 to 0.3.7 by @dependabot in #81
- Bump mkdocs-material from 9.3.1 to 9.3.2 by @dependabot in #84
- Bump mkdocs-section-index from 0.3.7 to 0.3.8 by @dependabot in #87
- Bump pylint from 2.17.5 to 2.17.6 by @dependabot in #89
- Bump mkdocs-material from 9.3.2 to 9.4.2 by @dependabot in #88
- Add versioning to common proto files by @tiyash-basu-frequenz in #90
- Introduce new component categories by @tiyash-basu-frequenz in #92
- Add new sensor category and metric enums by @tiyash-basu-frequenz in #93
- Rename
PRECHARGE_MODULEtoPRECHARGERby @tiyash-basu-frequenz in #91 - Clean up release notes for release v0.4.0 by @tiyash-basu-frequenz in #94
Full Changelog: v0.3.1...v0.4.0
v0.3.1
Frequenz Common API Release Notes
New Features
-
Added a new message named
Location, representing the co-ordinates of a
geographical location and the corresponding country-code. -
Added a new variant
COMPONENT_CATEGORY_RELAYto theComponentCategory
enum. -
Added a new variant
COMPONENT_CATEGORY_PRECHARGE_MODULEto the
ComponentCategoryenum.
What's Changed
- Bump pytest from 7.3.1 to 7.3.2 by @dependabot in #25
- Bump mypy from 1.3.0 to 1.4.0 by @dependabot in #26
- Bump pytest from 7.3.2 to 7.4.0 by @dependabot in #27
- Bump mypy from 1.4.0 to 1.4.1 by @dependabot in #28
- Bump actions/labeler from 4.1.0 to 4.2.0 by @dependabot in #29
- Upgrade to repo-config v0.3.0 by @llucax in #31
- Bump mkdocs-material from 9.1.16 to 9.1.18 by @dependabot in #33
- Replace protolint check with yoheimuta/action-protolint by @llucax in #32
- Bump black from 23.3.0 to 23.7.0 by @dependabot in #35
- Bump mkdocs-material from 9.1.18 to 9.1.19 by @dependabot in #38
- Bump pylint from 2.17.4 to 2.17.5 by @dependabot in #39
- Regenerate repository using repo-config v0.4.0 by @llucax in #37
- Bump mkdocs-material from 9.1.19 to 9.1.21 by @dependabot in #40
- Bump actions/labeler from 4.2.0 to 4.3.0 by @dependabot in #34
- Configure the protobuf include paths by @llucax in #41
- Update protobuf file headers by @tiyash-basu-frequenz in #47
- Add a message
Locationto represent geo co-ordinates by @tiyash-basu-frequenz in #48 - Add new component categories for relays and precharge modules by @tiyash-basu-frequenz in #49
- Revert "Update protobuf file headers" by @llucax in #50
- Add country code to the Location message by @tiyash-basu-frequenz in #53
- Remove empty section from the release notes by @llucax in #54
New Contributors
Full Changelog: v0.3.0...v0.3.1
v0.3.0
Frequenz Common API Release Notes
Summary
This release includes renaming the EVChargerType enum to EvChargerType and
the addition of the MetricAggregation message.
Upgrading
-
The submodule URL was changed to use HTTPS instead of SSH (to avoid problems trying to unlock SSH keys to do updates, etc.).
Make sure you sync your submodules to the new URL:
$ git submodule sync Synchronizing submodule url for 'submodules/api-common-protos'
-
The enum with the oder variants was compiled into the following rust enum
(by prost):pub enum EvChargerType { /// Default type. EvchargerTypeUnspecified = 0, /// The EV charging station supports AC charging only. EvchargerTypeAc = 1, /// The EV charging station supports DC charging only. EvchargerTypeDc = 2, /// The EV charging station supports both AC and DC. EvchargerTypeHybrid = 3, }
Here the enum variants were unnecessarily prefixed with
EvchargerType.
This lead to accessing the enum variants in a very verbose manner, e.g.,
EvChargerType::EvchargerTypeHybrid.The changed version of the enum in this commit results in the following
rust enum:pub enum EvChargerType { /// Default type. Unspecified = 0, /// The EV charging station supports AC charging only. Ac = 1, /// The EV charging station supports DC charging only. Dc = 2, /// The EV charging station supports both AC and DC. Hybrid = 3, }
Here the unnecessary prefix
EvchargerTypeis absent. This reduces the
verbosity while accessing the enum variants, making the resulting rust code
more readable, e.g., asEvChargerType::Hybrid.This change also leads to renaming the enum from
EVChargerTypeto
EvChargerType, to satisfy protolint requirements.
New Features
-
Added
MetricAggregationmessageThe message
MetricAggregationhas been copied from frequenz-api-microgrid
into this repository, so that it can be used by other APIs as well.
Bug Fixes
None
What's Changed
- Use HTTPS URL for the submodule by @leandro-lucarella-frequenz in #17
- Bump actions/labeler from 4.0.3 to 4.0.4 by @dependabot in #18
- Bump frequenz-repo-config[api] from 0.1.0 to 0.2.0 by @dependabot in #19
- Bump actions/labeler from 4.0.4 to 4.1.0 by @dependabot in #20
- Refactor
EVChargerTypeenum variants by @tiyash-basu-frequenz in #21 - Add
MetricAggregationmessage by @tiyash-basu-frequenz in #22 - Prepare for release v0.3.0 by @tiyash-basu-frequenz in #23
New Contributors
- @tiyash-basu-frequenz made their first contribution in #21
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Frequenz Common API Release Notes
Summary
- Various build system fixes
- Improved smoothness of using this as a dependency
What's Changed
- Pin build dependencies and add dependabot by @leandro-lucarella-frequenz in #7
- Bump actions/labeler from 4.0.1 to 4.0.3 by @dependabot in #9
- Bump nox from 2022.11.21 to 2023.4.22 by @dependabot in #12
- Bump pylint from 2.17.1 to 2.17.4 by @dependabot in #13
- Bump pytest from 7.2.2 to 7.3.1 by @dependabot in #10
- Bump mypy from 1.1.1 to 1.3.0 by @dependabot in #11
- Remove erroneous "microgrid" references by @stefan-brus-frequenz in #14
- Fix some more microgrid copy&paste errors by @leandro-lucarella-frequenz in #15
New Contributors
- @dependabot made their first contribution in #9
Full Changelog: v0.1.0...v0.2.0
v0.1.0
Frequenz Common API Release Notes
Summary
This is the first release, including packages for common metrics types, electrical metrics and components.
What's Changed
- Add initial common microgrid definitions & boilerplate by @stefan-brus-frequenz in #3
- Fix CI and migrate to repo-config by @leandro-lucarella-frequenz in #5
- Move
electricalpackage tometrics.electricalby @leandro-lucarella-frequenz in #4 - Create and publish releases to PyPI by @leandro-lucarella-frequenz in #6
New Contributors
- @stefan-brus-frequenz made their first contribution in #3
- @leandro-lucarella-frequenz made their first contribution in #5
Full Changelog: https://github.com/frequenz-floss/frequenz-api-common/commits/v0.1.0