Frequenz Python SDK Release Notes
Summary
This release focus on improving the config management, but also introduces other minor improvements and fixes an important bug.
Upgrading
- The `ConfigManagingActor` now takes multiple configuration files as input, and the argument was renamed from `config_file` to `config_files`. If you are using this actor, please update your code. For example:
python
Old
actor = ConfigManagingActor(config_file="config.toml")
New
actor = ConfigManagingActor(config_files=["config.toml"])
- The `MovingWindow` now take all arguments as keyword-only to avoid mistakes.
- The `frequenz-quantities` dependency was bumped to `1.0.0rc3`.
- The `ComponentMetricsRequest` now produces a channel name without the `start_date` if the `start_date` is `None`. If you are somehow relying on the old behavior, please update your code.
New Features
- The `ConfigManagingActor` can now take multiple configuration files as input, allowing to override default configurations with custom configurations.
- A new `frequenz.sdk.config.load_config()` function is available to load configurations using `marshmallow_dataclass`es with correct type hints.
- Implement and standardize logging configuration with the following changes:
* Add `LoggerConfig` and `LoggingConfig` to standardize logging configuration.
* Create `LoggingConfigUpdater` to handle runtime config updates.
* Support individual log level settings for each module.
Bug Fixes
- Fixes an issue where PV and EV system bounds were not available to the Power Manager sometimes when requested after startup.
What's Changed
* Clear release notes by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1090
* config: Allow reading from multiple files by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1091
* Store the original `Component` and `Connection` in the component graph by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1093
* Bump the required group across 1 directory with 12 updates by dependabot in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1094
* Implement and standardize logging configuration via config file by ela-kotulska-frequenz in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1095
* Bump dependency to 1.0.0rc3 by ela-kotulska-frequenz in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1096
* Add a function to load configurations with correct type hints by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1097
* Improve `ComponentMetricsRequest` documentation by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1092
* Update bound-streaming channels to resend latest to new receivers by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1098
* Prepare release notes for rc1100 by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1099
**Full Changelog**: https://github.com/frequenz-floss/frequenz-sdk-python/compare/v1.0.0-rc1000...v1.0.0-rc1100