|
2 | 2 |
|
3 | 3 | ## Summary |
4 | 4 |
|
5 | | -This release includes a new `ConfigManager` class to simplify managing the configuration, and ships other improvements and fixes to the config system in general. |
| 5 | +<!-- Here goes a general summary of what this release is about --> |
6 | 6 |
|
7 | 7 | ## Upgrading |
8 | 8 |
|
9 | | -- `frequenz.sdk.config` |
10 | | - |
11 | | - * `LoggingConfigUpdater` |
12 | | - |
13 | | - + Renamed to `LoggingConfigUpdatingActor` to follow the actor naming convention. |
14 | | - + The actor must now be constructed using a `ConfigManager` instead of a receiver. |
15 | | - + Make all arguments to the constructor keyword-only, except for the `config_manager` argument. |
16 | | - + If the configuration is removed, the actor will now load back the default configuration. |
17 | | - |
18 | | - * `LoggingConfig` |
19 | | - |
20 | | - + The `load()` method was removed. Please use `frequenz.sdk.config.load_config()` instead. |
21 | | - + The class is now a standard `dataclass` instead of a `marshmallow_dataclass`. |
22 | | - + The class is now immutable. |
23 | | - + The constructor now accepts only keyword arguments. |
24 | | - |
25 | | - * `LoggerConfig` |
26 | | - |
27 | | - + The class is now a standard `dataclass` instead of a `marshmallow_dataclass`. |
28 | | - + The class is now immutable. |
29 | | - + The constructor now accepts only keyword arguments. |
30 | | - |
31 | | - * `load_config()`: |
32 | | - |
33 | | - + The `base_schema` argument is now keyword-only and defaults to `BaseConfigSchema` (and because of this, it uses `unknown=EXCLUDE` by default). |
34 | | - + The arguments forwarded to `marshmallow.Schema.load()` now must be passed explicitly via the `marshmallow_load_kwargs` argument, as a `dict`, to improve the type-checking. |
35 | | - + Will now raise a `ValueError` if `unknown` is set to `INCLUDE` in `marshmallow_load_kwargs`. |
36 | | - |
37 | | - * `ConfigManagingActor`: Raise a `ValueError` if the `config_files` argument an empty sequence. |
| 9 | +<!-- Here goes notes on how to upgrade from previous versions, including deprecations and what they should be replaced with --> |
38 | 10 |
|
39 | 11 | ## New Features |
40 | 12 |
|
41 | | -- `frequenz.sdk.config` |
42 | | - |
43 | | - - Logging was improved in general. |
44 | | - |
45 | | - - Added documentation and user guide. |
46 | | - |
47 | | - - `LoggingConfigUpdatingActor` |
48 | | - |
49 | | - * Added a new `name` argument to the constructor to be able to override the actor's name. |
50 | | - |
51 | | - - `ConfigManager`: Added a class to simplify managing the configuration. It takes care of instantiating the config actors and provides a convenient method for creating receivers with a lot of common functionality. |
52 | | - |
53 | | - - `BaseConfigSchema`: Added a `marshmallow` base `Schema` that includes custom fields for `frequenz-quantities`. In the futute more commonly used fields might be added. |
54 | | - |
55 | | - - `wait_for_first()`: Added a function to make it easy to wait for the first configuration to be received with a timeout. |
56 | | - |
57 | | - - `ConfigManagingActor`: Allow passing a single configuration file. |
| 13 | +<!-- Here goes the main new features and examples or instructions on how to use them --> |
58 | 14 |
|
59 | 15 | ## Bug Fixes |
60 | 16 |
|
61 | | -- Fix a bug in `BackgroundService` where it won't try to `self.cancel()` and `await self.wait()` if there are no internal tasks. This prevented to properly implement custom stop logic without having to redefine the `stop()` method too. |
62 | | - |
63 | | -- Fix a bug where if a string was passed to the `ConfigManagingActor` it would be interpreted as a sequence of 1 character strings. |
64 | | - |
65 | | -- Remove a confusing log message in the power distributing actor. |
66 | | - |
67 | | -- Close all receivers owned by a *pool when stopping the pool. |
| 17 | +<!-- Here goes notable bug fixes that are worth a special mention or explanation --> |
0 commit comments