Skip to content

Commit d81bd29

Browse files
authored
Prepare release notes for the v0.21.0 release (frequenz-floss#421)
- Add missing release notes about new metric naming - Add missing release note about removing `sympy` - Remove mention to the (internal) ring buffer - Improve release notes summary - Add fixing of examples to the release notes - Reorder release notes to have the most important changes first - Add missing release note about the BatteryPool control interface
2 parents 6bb5bbf + b30e762 commit d81bd29

File tree

1 file changed

+28
-11
lines changed

1 file changed

+28
-11
lines changed

RELEASE_NOTES.md

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,12 @@
22

33
## Summary
44

5-
This release drops support for Python versions older than 3.11.
5+
This release main introduces the new `PeriodicFeatureExtractor`, the control interface to the `BatteryPool`, and a new naming scheme for retrieving `LogicalMeter` and `BatteryPool` metrics. It also drops support for Python versions older than 3.11.
66

77
## Upgrading
88

99
* Now Python 3.11 is the minimum supported version. All users must upgrade to Python 3.11 (including virtual environments used for development).
1010

11-
* Now `float` is used everywhere for representing power (before power metrics were `float` but setting power was done using `int`).
12-
* `frequenz.sdk.actor.power_distributing`: the `power` attribute of the `Request` class has been updated from `int` to a `float`.
13-
* `frequenz.sdk.microgrid`: the `set_power()` method of both the `MicrogridApiClient` and `MicrogridGrpcClient` classes now expect a `float` value for the `power_w` parameter instead of `int`.
14-
15-
* The `LogicalMeter` no longer takes a `component_graph` parameter.
16-
17-
* Now `frequenz.sdk.timeseries.Sample` uses a more sensible comparison. Before this release `Sample`s were compared only based on the `timestamp`. This was due to a limitation in Python versions earlier than 3.10. Now that the minimum supported version is 3.11 this hack is not needed anymore and `Sample`s are compared using both `timestamp` and `value` as most people probably expects.
18-
1911
* `BatteryPool` metric streaming interfaces have changed for `soc`, `capacity` and `power_bounds`:
2012

2113
```python
@@ -24,18 +16,43 @@ This release drops support for Python versions older than 3.11.
2416
soc_rx = battery_pool.soc.new_receiver() # new
2517
```
2618

19+
* Formulas now follow the new naming scheme.
20+
21+
- `BatteryPool.{power, production_power, consumption_power}`
22+
- `EVChargerPool.{power, production_power, consumption_power}`
23+
- `LogicalMeter`:
24+
- `consumer_power`
25+
- `grid_power`
26+
- `grid_production_power`
27+
- `grid_consumption_power`
28+
- `chp_power`
29+
- `chp_production_power`
30+
- `chp_consumption_power`
31+
2732
* A power request can now be forced by setting the `include_broken` attribute. This is especially helpful as a safety measure when components appear to be failing, such as when battery metrics are unavailable. Note that applications previously relying on automatic fallback to all batteries when none of them was working will now require the `include_broken` attribute to be explicitly set in the request.
2833

34+
* Now `float` is used everywhere for representing power (before power metrics were `float` but setting power was done using `int`).
35+
* `frequenz.sdk.actor.power_distributing`: the `power` attribute of the `Request` class has been updated from `int` to a `float`.
36+
* `frequenz.sdk.microgrid`: the `set_power()` method of both the `MicrogridApiClient` and `MicrogridGrpcClient` classes now expect a `float` value for the `power_w` parameter instead of `int`.
37+
38+
* The `LogicalMeter` no longer takes a `component_graph` parameter.
39+
40+
* Now `frequenz.sdk.timeseries.Sample` uses a more sensible comparison. Before this release `Sample`s were compared only based on the `timestamp`. This was due to a limitation in Python versions earlier than 3.10. Now that the minimum supported version is 3.11 this hack is not needed anymore and `Sample`s are compared using both `timestamp` and `value` as most people probably expects.
41+
42+
* The dependency to `sympy` was unused and thus removed from the SDK. If you used it indirectly without declaring the dependency in your project you should do it now.
43+
2944
## New Features
3045

31-
* The `MovingWindow` as well as the OrderedRingBuffer are having new public methods that are returning the oldest and newest timestamp of all stored samples.
46+
* The `MovingWindow` has new public methods that return the oldest and newest timestamp of all stored samples.
3247

3348
* The `PeriodicFeatureExtractor` has been added.
3449

3550
This is a tool to create certain profiles out of periodic reoccurring windows inside a `MovingWindow`.
3651

3752
As an example one can create a daily profile of specific weekdays which will be returned as numpy arrays.
3853

54+
* The `BatteryPool` can now be used to control the batteries in it via the new methods `charge()`, `discharge()`, and `set_power()`.
55+
3956
## Bug Fixes
4057

41-
<!-- Here goes notable bug fixes that are worth a special mention or explanation -->
58+
* Fixed many examples in the documentation.

0 commit comments

Comments
 (0)