Skip to content

Releases: frequenz-floss/frequenz-sdk-python

v1.0.0-rc1400

29 Nov 11:04
v1.0.0-rc1400
ecd5580
Compare
Choose a tag to compare

Frequenz Python SDK Release Notes

Summary

This is a minor release with just a few bug fixes but also one breaking change in the ConfigManagingActor.

Upgrading

  • The ConfigManagingActor now only reacts to CREATE and MODIFY events. DELETE is not supported anymore and are ignored.
  • Remove the event_types argument from the ConfigManagingActor constructor.

Bug Fixes

  • Fix bugs with ConfigManagingActor:
    • Raising unhandled exceptions when any file in config directory was deleted.
    • Raising unhandled exception if not all config files exist.
    • Eliminate recursive actor crashes when all config files were missing.

What's Changed

Full Changelog: v1.0.0-rc1302...v1.0.0-rc1400

v1.0.0-rc1302

29 Nov 09:09
v1.0.0-rc1302
5d337b6
Compare
Choose a tag to compare
v1.0.0-rc1302 Pre-release
Pre-release

Frequenz Python SDK Release Notes

Improvements

  • Many tasks, senders and receivers now have proper names for easier debugging.
  • The resample log was improved to show more details.
  • The Sample class now has a nice __str__ representation.

Bug Fixes

  • Fix a bug in the resampler that could end up with an IndexError: list index out of range exception when a new resampler was added while awaiting the existing resampler to finish resampling.

What's Changed

  • Fix IndexError: list index out of range in resampler by @llucax in #1117
  • Small debugging enhancements by @Marenz in #1119

Full Changelog: v1.0.0-rc1301...v1.0.0-rc1302

v1.0.0-rc1301

22 Nov 11:22
v1.0.0-rc1301
dd7c65f
Compare
Choose a tag to compare
v1.0.0-rc1301 Pre-release
Pre-release

Frequenz Python SDK Release Notes

Bug Fixes

  • Fix bug with LoggingConfigUpdater not updating root logger level.
  • The frequenz-quantities dependency requirement was widened to allow any v1.x version (it was pinned to 1.0.0rc3 before).

What's Changed

Full Changelog: v1.0.0-rc1300...v1.0.0-rc1301

v1.0.0-rc1300

19 Nov 14:08
v1.0.0-rc1300
53792f2
Compare
Choose a tag to compare
v1.0.0-rc1300 Pre-release
Pre-release

Frequenz Python SDK Release Notes

Summary

Upgrading

New Features

  • The MicrogridApiClient was updated to the latest version.

Bug Fixes

What's Changed

Full Changelog: v1.0.0-rc1200...v1.0.0-rc1300

v1.0.0-rc1200

18 Nov 10:21
v1.0.0-rc1200
cd289a1
Compare
Choose a tag to compare
v1.0.0-rc1200 Pre-release
Pre-release

Frequenz Python SDK Release Notes

Upgrading

New Features

  • frequenz.sdk.config.load_config() can now use a base schema to customize even further how data is loaded.

What's Changed

Full Changelog: v1.0.0-rc1100...v1.0.0-rc1200

v1.0.0-rc1100

11 Nov 11:29
v1.0.0-rc1100
5b54cf4
Compare
Choose a tag to compare
v1.0.0-rc1100 Pre-release
Pre-release

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:

    # 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_dataclasses 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

Full Changelog: v1.0.0-rc1000...v1.0.0-rc1100

v1.0.0-rc1000

18 Oct 15:52
v1.0.0-rc1000
2f62b64
Compare
Choose a tag to compare
v1.0.0-rc1000 Pre-release
Pre-release

Frequenz Python SDK Release Notes

Summary

The SDK starts using the frequenz-quantities package with this release.

A new method for streaming reactive power at the grid connection point has been added, and the ConfigManagingActor has been improved.

Upgrading

  • Replace Quantity and its sub-classes (Power, Current, etc.) in the frequenz.sdk.timeseries module with the external frequenz-quantities package. Please add the new library as a dependency and adapt your imports if you are using these types.
  • The QuantityT has been moved to the frequenz.sdk.timeseries._base_types module.
  • The QuantityT doesn't include itself (QuantityT) anymore.

New Features

  • ConfigManagingActor: The file polling mechanism is now forced by default. Two new parameters have been added:

    • force_polling: Whether to force file polling to check for changes. Default is True.
    • polling_interval: The interval to check for changes. Only relevant if polling is enabled. Default is 1 second.
  • Add a new method microgrid.grid().reactive_power to stream reactive power at the grid connection point.

Bug Fixes

  • Many long running async tasks including metric streamers in the BatteryPool now have automatic recovery in case of exceptions.

What's Changed

Full Changelog: v1.0.0-rc901...v1.0.0-rc1000

v1.0.0-rc901

16 Sep 09:41
v1.0.0-rc901
ec96e90
Compare
Choose a tag to compare
v1.0.0-rc901 Pre-release
Pre-release

Frequenz Python SDK Release Notes

Bug Fixes

  • ConfigManagingActor: Fixed an issue where the actor was unable to process events after being restarted.

What's Changed

Full Changelog: v1.0.0-rc900...v1.0.0-rc901

v1.0.0-rc900

02 Sep 10:06
v1.0.0-rc900
bba0b5b
Compare
Choose a tag to compare
v1.0.0-rc900 Pre-release
Pre-release

Frequenz Python SDK Release Notes

Summary

This release mainly introduces a new feature that allows fallback components to be used in generated formulas, but it also fixes a few bugs and gets rid of betterproto/grpclib and goes back to Google's implementation.

Upgrading

  • The frequenz-client-microgrid dependency was bumped to 0.5.0. This can cause dependency issues if you are using other API clients and the frequenz-client-base dependencies don't match.

New Features

  • Fallback components are used in generated formulas. If primary components is unavailable, formula will generate metric from fallback components. Fallback formulas are implemented for:
    • PVPowerFormula
    • ProducerPowerFormula
    • BatteryPowerFormula
    • ConsumerPowerFormula
    • GridPowerFormula

Bug Fixes

  • Allow setting api_power_request_timeout in microgrid.initialize().

  • Fix an issue where in grid meters could be identified as {pv/ev/battery/chp} meters in some component graph configurations.

What's Changed

Full Changelog: v1.0.0-rc800...v1.0.0-rc900

v1.0.0-rc801

22 Aug 11:00
v1.0.0-rc801
7f0a3b7
Compare
Choose a tag to compare
v1.0.0-rc801 Pre-release
Pre-release

Frequenz Python SDK Release Notes

Bug Fixes

  • Bump the grpclib dependency to pull a fix for using IPv6 addresses.

What's Changed

  • Force grpclib to be at least 0.4.8rc2 by @llucax in #1012
  • Merge v1.0.0-rc7xx into v1.0.0-rc8xx by @shsms in #1048

Full Changelog: v1.0.0-rc800...v1.0.0-rc801