|
2 | 2 |
|
3 | 3 | ## Summary |
4 | 4 |
|
5 | | -This release introduces several breaking changes, new features, and improvements to the existing API. The most significant changes include renaming and restructuring of the `components` package to `electrical_components`, the introduction of new diagnostic codes, and the addition of new messages for communication components and streaming events. |
| 5 | +<!-- Here goes a general summary of what this release is about --> |
6 | 6 |
|
7 | 7 | ## Upgrading |
8 | 8 |
|
9 | | -- Removed: |
10 | | - |
11 | | - + `microgrid.components.ComponentStatus`, use `microgrid.electrical_components.ElectricalComponentControlMode` instead |
12 | | - + `ComponentErrorCode.UNDERVOLTAGE_SHUTDOWN`, use `ElectricalComponentDiagnosticCode.UNDERVOLTAGE` instead |
13 | | - + `microgrid.sensors.SensorMetric`, use `metrics.Metric` instead |
14 | | - + `microgrid.sensors.SensorMetricSample`, use `metrics.MetricSample` instead |
15 | | - + `microgrid.sensors.SensorCategory`, since it was not useful and potentially confusing |
16 | | - |
17 | | - Sensors can report different sensor metrics, and they could belong to several of these categories simultaneously. This defeats the purpose of having singular categories for sensors. Some more useful categorization may be introduced again in the future. |
18 | | - |
19 | | -- Renamed several symbols to increase consistency and clarity: |
20 | | - |
21 | | - + `microgrid.components`: |
22 | | - |
23 | | - * The whole package and all proto files, messages, field, enums were renamed to `electrical_components` |
24 | | - * `ComponentCategoryMetadataVariant` to `ElectricalComponentCategorySpecificInfo` |
25 | | - * `ComponentCategory` to `ElectricalComponentCategory` |
26 | | - * `Component.category_type` to `ElectricalComponent.category_specific_info` |
27 | | - * `ComponentCategoryMetadataVariant.metadata` to `ElectricalComponentCategorySpecificInfo.kind` |
28 | | - * `ComponentErrorCode` to `ElectricalComponentDiagnosticCode` |
29 | | - * `ComponentState` to `ElectricalComponentStateSnapshot` |
30 | | - * `ComponentState.sampled_at` to `ElectricalComponentStateSnapshot.origin_time` |
31 | | - * `ComponentData` to `ElectricalComponentTelemetry` (to better specify its purpose of encapsulating general telemetry data from electrical components) |
32 | | - * `ComponentData.states` to `ElectricalComponentTelemetry.state_snapshots` |
33 | | - * Grid-related terms to clarify their meaning and purpose: |
34 | | - |
35 | | - + `COMPONENT_CATEGORY_GRID` to `ELECTRICAL_COMPONENT_CATEGORY_GRID_CONNECTION_POINT` |
36 | | - + `ComponentCategoryMetadataVariant.metadata.grid` to `ElectricalComponentCategorySpecificInfo.kind.grid_connection_point` |
37 | | - * `InverterType.INVERTER_TYPE_SOLAR` to `InverterType.INVERTER_TYPE_PV` (to align with the more colloquial term "PV inverter") |
38 | | - * `ComponentCategory.COMPONENT_CATEGORY_RELAY` to `ElectricalComponentCategory.ELECTRICAL_COMPONENT_CATEGORY_BREAKER` (to better align with the common terminology used in electrical engineering). |
39 | | - * All contents of all the files in the `electrical_components` directory (previously `components`) are now moved into the `electrical_components.proto` file. |
40 | | - |
41 | | - + `microgrid.sensors`: |
42 | | - |
43 | | - * `SensorErrorCode` to `SensorDiagnosticCode` |
44 | | - * `SensorData` to `SensorTelemetry` (to better specify its purpose of encapsulating general telemetry data from sensors) |
45 | | - * `SensorState` to `SensorStateSnapshot` |
46 | | - * `SensorData.states` to `SensorTelemetry.state_snapshots` |
47 | | - * `SensorState.sampled_at` to `SensorStateSnapshot.origin_time` |
48 | | - * `SensorStateCode.SENSOR_STATE_CODE_ON` to `SensorStateCode.SENSOR_STATE_CODE_OK` (to better indicate that we do not control on/off state of sensors) |
49 | | - |
50 | | - + `metrics`: |
51 | | - |
52 | | - * The file `metric_sample.proto` to `metrics.proto` |
53 | | - * `MetricSample.source` to `MetricSample.connection` |
54 | | - * `MetricSample.sampled_at` to `sample_time` |
55 | | - |
56 | | - + `metrics.Metric`: |
57 | | - |
58 | | - * The enum variants to follow a more consistent naming scheme of core-concept to modifier. |
59 | | - * `METRIC_AC_APPARENT_POWER*` to `METRIC_AC_POWER_APPARENT*` |
60 | | - * `METRIC_AC_ACTIVE_POWER*` to `METRIC_AC_POWER_ACTIVE*` |
61 | | - * `METRIC_AC_REACTIVE_POWER*` to `METRIC_AC_POWER_REACTIVE*` |
62 | | - * `METRIC_AC_APPARENT_ENERGY*` to `METRIC_AC_ENERGY_APPARENT*` |
63 | | - * `METRIC_AC_ACTIVE_ENERGY*` to `METRIC_AC_ENERGY_ACTIVE*` |
64 | | - * `METRIC_AC_REACTIVE_ENERGY*` to `METRIC_AC_ENERGY_REACTIVE*` |
65 | | - |
66 | | - + `types`: |
67 | | - |
68 | | - * The whole package has been renamed to `type`. |
69 | | - |
70 | | -- Renumbered some enum values to remove unnecessary gaps: |
71 | | - |
72 | | - + `microgrid.components.ComponentCategory` (`microgrid.electrical_components.ElectricalComponentCategory`) |
73 | | - + `microgrid.components.ComponentErrorCode` (`microgrid.electrical_components.ElectricalComponentDiagnosticCode`) |
74 | | - + `metrics.Metric` |
75 | | - |
76 | | -- The minimum allowed version of `protobuf` and `grpcio` has been updated to 6.31.1 and 1.72.1 respectively, you might also need to bump your dependencies accordingly. |
77 | | - |
78 | | -- The file `location.proto` has been moved to the `types` package, moving the message `Location` to `types.Location`. |
79 | | - |
80 | | -- The type of the field `metrics.MetricSample.connection` has been changed from `string` to `metrics.MetricConnection`. The latter is a newly added message that provides a better categorization of the connection type. |
81 | | - |
82 | | -- The `v1` package has been renamed to `v1alpha7`. The current `v1` package now consists of the contents the same directory from the v0.6.x branch, which is the latest stable version of the API. |
83 | | - |
84 | | -- The enum `ComponentCategory` (now `ElectricalComponentCategory`) has been extended with new variants. |
| 9 | +<!-- Here goes notes on how to upgrade from previous versions, including deprecations and what they should be replaced with --> |
85 | 10 |
|
86 | 11 | ## New Features |
87 | 12 |
|
88 | | -Added many new messages and enum values: |
89 | | - |
90 | | -- `microgrid.communication_components`: Package with message definitions for communication components |
91 | | - |
92 | | - + `CommunicationComponentDiagnostic`: Message to represent warnings and errors in microgrid communication components |
93 | | - + `CommunicationComponentStateSnapshot`: Message to represent the state of communication components |
94 | | - |
95 | | -- `microgrid.electrical_components` (previously `microgrid.components`) |
96 | | - |
97 | | - + `ElectricalComponentDiagnostic`: Message to represent warnings and errors in microgrid electrical components |
98 | | - + `ElectricalComponentDiagnosticCode` (previously `ComponentErrorCode`): New diagnostic codes to cover more cases, especially for inverters |
99 | | - + `InverterType.INVERTER_TYPE_WIND_TURBINE`: Enum value to represent wind turbine inverters |
100 | | - |
101 | | -- `microgrid.ElectricalComponentCategory` (previously `microgrid.ComponentCategory`) has been extended with new enum values: |
102 | | - + `ELECTRICAL_COMPONENT_CATEGORY_PLC` |
103 | | - + `ELECTRICAL_COMPONENT_CATEGORY_STATIC_TRANSFER_SWITCH` |
104 | | - + `ELECTRICAL_COMPONENT_CATEGORY_UNINTERRUPTIBLE_POWER_SUPPLY` |
105 | | - + `ELECTRICAL_COMPONENT_CATEGORY_CAPACITOR_BANK` |
106 | | - + `ELECTRICAL_COMPONENT_CATEGORY_SMART_LOAD` |
107 | | - + `ELECTRICAL_COMPONENT_CATEGORY_WIND_TURBINE` |
108 | | - |
109 | | -- `microgrid.sensors` |
110 | | - |
111 | | - + Message linking microgrid and sensor IDs |
112 | | - + `SensorDiagnostic`: Message to represent warnings and errors in microgrid sensors |
113 | | - + Added warnings to sensor `SensorState` |
114 | | - |
115 | | -- `streaming`: Package with message definitions for streaming events |
116 | | - |
117 | | - + `Event`: Enum to represent different types of streaming events (Created, Deleted, Updated) |
118 | | - |
119 | | -- `types` |
120 | | - |
121 | | - + `Interval`: Message to standardize time interval filtering across APIs |
| 13 | +- A new package `frequenz.api.common.v1alpha8` has been added. |
122 | 14 |
|
123 | | - This uses `start_time` (inclusive) and `end_time` (exclusive) fields, aligning with ISO 8601 and common programming conventions. |
| 15 | +## Bug Fixes |
124 | 16 |
|
| 17 | +<!-- Here goes notable bug fixes that are worth a special mention or explanation --> |
0 commit comments