Skip to content

Releases: frequenz-floss/frequenz-sdk-python

v1.0.0-rc2203

16 Dec 15:19
Immutable release. Only release title and notes can be modified.
v1.0.0-rc2203
bcc902e

Choose a tag to compare

v1.0.0-rc2203 Pre-release
Pre-release

Frequenz Python SDK Release Notes

Bug fixes

  • FormulaEngine and FormulaEngine3Phase are now type aliases to Formula and Formula3Phase, fixing a typing issue introduced in v1.0.0-rc2202.

What's Changed

  • Replace FormulaEngine subclasses with type aliases by @shsms in #1331

Full Changelog: v1.0.0-rc2202...v1.0.0-rc2203

v1.0.0-rc2202

16 Dec 14:29
Immutable release. Only release title and notes can be modified.
v1.0.0-rc2202
f539389

Choose a tag to compare

v1.0.0-rc2202 Pre-release
Pre-release

Frequenz Python SDK Release Notes

Upgrading

  • The FormulaEngine is now replaced by a newly implemented Formula type. This doesn't affect the high level interfaces. FormulaEngine is now a deprecated wrapper to Formula.

  • The ComponentGraph has been replaced by the frequenz-microgrid-component-graph package, which provides python bindings for the rust implementation.

New Features

  • The power manager algorithm for batteries can now be changed from the default ShiftingMatryoshka, by passing it as an argument to microgrid.initialize()

What's Changed

  • Clear release notes by @llucax in #1320
  • Make battery power manager algorithm configurable by @shsms in #1323
  • Switch to the rust component graph by @shsms in #1295
  • Implement lazy subscription for Coalesce function by @shsms in #1322
  • Revert unreleased interface changes by @shsms in #1330

Full Changelog: v1.0.0-rc2201...v1.0.0-rc2202

v1.0.0-rc2201

08 Dec 09:36
Immutable release. Only release title and notes can be modified.
v1.0.0-rc2201
1fd91a2

Choose a tag to compare

Frequenz Python SDK Release Notes

Note

This version is just a re-publishing of version v1.0.0-rc2200, because we had some issue with publishing that versin to PyPI.

Summary

This is a major upgrade, as the underlying version of the microgrid API was changed to use v0.18.x instead.

Upgrading

  • The SDK now depends on the frequenz-client-microgrid v0.18.x series.

    • Check the release notes for the client v0.18.
    • There were a lot of changes, so it might be also worth having a quick look at the microgrid API v0.17 and v0.18 releases.
    • Checking out the API common releases v0.6, v0.7, v0.8 might also be worthwhile, at least if you find any errors about renamed or missing types.
    • Although many of the changes in lower layer are hidden by the SDK, there are some changes that can't be hidden away. For example the Metric enum had some renames, and Component.component_id was renamed to Component.id. Also, there is a new component class hierarchy.
  • ComponentGraph methods arguments were renamed to better reflect what they expect.

    • The components() method now uses matching_ids and matching_types instead of component_ids and component_categories respectively. matching_types takes types inheriting from Component instead of categories, for example Battery or BatteryInverter.
    • The connections() methods now take matching_sources and matching_destinations instead of start and end respectively. This is to match the new names in ComponentConnection.
    • All arguments for both methods can now receiver arbitrary iterables instead of sets, and can also accept a single value.

New Features

Bug Fixes

What's Changed

Full Changelog: v1.0.0-rc2104...v1.0.0-rc2201

v1.0.0-rc2200

05 Dec 12:22
Immutable release. Only release title and notes can be modified.
v1.0.0-rc2200
1fd91a2

Choose a tag to compare

v1.0.0-rc2200 Pre-release
Pre-release

Frequenz Python SDK Release Notes

Important

This release as not PyPI release because there was a failed attempt to release the version 1.0.0-rc2200 in the past that we ended up deleting.

Fortunately PyPI is getting more strict about this, and doesn't allow re-publishing a deleted release using different artifacts, so we can't re-use the failed rc2200 for this release.

The release v1.0.0-rc2201 ships the exact same code as this release (it points to the same commit), and should be used instead.

Summary

This is a major upgrade, as the underlying version of the microgrid API was changed to use v0.18.x instead.

Upgrading

  • The SDK now depends on the frequenz-client-microgrid v0.18.x series.

    • Check the release notes for the client v0.18.
    • There were a lot of changes, so it might be also worth having a quick look at the microgrid API v0.17 and v0.18 releases.
    • Checking out the API common releases v0.6, v0.7, v0.8 might also be worthwhile, at least if you find any errors about renamed or missing types.
    • Although many of the changes in lower layer are hidden by the SDK, there are some changes that can't be hidden away. For example the Metric enum had some renames, and Component.component_id was renamed to Component.id. Also, there is a new component class hierarchy.
  • ComponentGraph methods arguments were renamed to better reflect what they expect.

    • The components() method now uses matching_ids and matching_types instead of component_ids and component_categories respectively. matching_types takes types inheriting from Component instead of categories, for example Battery or BatteryInverter.
    • The connections() methods now take matching_sources and matching_destinations instead of start and end respectively. This is to match the new names in ComponentConnection.
    • All arguments for both methods can now receiver arbitrary iterables instead of sets, and can also accept a single value.

What's Changed

Full Changelog: v1.0.0-rc2104...v1.0.0-rc2200

v1.0.0-rc2104

03 Dec 16:05
Immutable release. Only release title and notes can be modified.
v1.0.0-rc2104
01c97c8

Choose a tag to compare

Frequenz Python SDK Release Notes

Summary

This release improves the documentation for the implementation details of the power manager algorithms.

What's Changed

  • Improve docs for power manager algorithms by @shsms in #1313

Full Changelog: v1.0.0-rc2103...v1.0.0-rc2104

v1.0.0-rc2103

25 Nov 15:14
Immutable release. Only release title and notes can be modified.
v1.0.0-rc2103
afd91e2

Choose a tag to compare

v1.0.0-rc2103 Pre-release
Pre-release

Frequenz Python SDK Release Notes

Bug Fixes

  • Doesn't repeat zero commands to battery inverters anymore, to not interfere with lower level logic that might want to do things only when there are no actors trying to use the batteries.

What's Changed

Full Changelog: v1.0.0-rc2102...v1.0.0-rc2103

v1.0.0-rc2102

24 Nov 10:15
Immutable release. Only release title and notes can be modified.
v1.0.0-rc2102
6bb4615

Choose a tag to compare

v1.0.0-rc2102 Pre-release
Pre-release

Frequenz Python SDK Release Notes

Bug Fixes

  • The log level for when components are transitioning to a WORKING state is lowered to INFO, and the log message has been improved.

  • This fixes a bug in the power manager, that was causing proposals to be ignored when they were proposing bounds that were fully outside the available bounds, under some cases.

What's Changed

Full Changelog: v1.0.0-rc2101...v1.0.0-rc2102

v1.0.0-rc2101

02 Sep 10:05
Immutable release. Only release title and notes can be modified.
v1.0.0-rc2101
35abc19

Choose a tag to compare

v1.0.0-rc2101 Pre-release
Pre-release

Frequenz Python SDK Release Notes

Summary

This release provides an experimental, opt-in, time-jumps resilient resampler, that can be enabled by using the new ResamplerConfig2 class.

Upgrading

  • The resampling function now takes plain floats as values instead of Quantity objects.
  • frequenz.sdk.timeseries.UNIX_EPOCH was removed, use frequenz.core.datetime.UNIX_EPOCH instead.

New Features

  • A new configuration mode was added to the resampler (and thus the resampling actor and microgrid high-level interface). When passing a new ResamplerConfig2 instance to the resampler, it will use a wall clock timer instead of a monotonic clock timer. This timer adjustes sleeps to account for drifts in the monotonic clock, and thus allows for more accurate resampling in cases where the monotonic clock drifts away from the wall clock. The monotonic clock timer option will be deprecated in the future, as it is not really suitable for resampling. The new ResamplerConfig2 class accepts a WallClockTimerConfig to fine-tune the wall clock timer behavior, if necessary.

    Example usage:

    from frequenz.sdk import microgrid
    from frequenz.sdk.timeseries import ResamplerConfig2
    
     await microgrid.initialize(
         MICROGRID_API_URL,
         # Just replace the old `ResamplerConfig` with the new `ResamplerConfig2`
         resampler_config=ResamplerConfig2(resampling_period=timedelta(seconds=1.0)),
     )

Bug Fixes

  • When using the new wall clock timer in the resampmler, it will now resync to the system time if it drifts away for more than a resample period, and do dynamic adjustments to the timer if the monotonic clock has a small drift compared to the wall clock.

  • A power distributor logging issue is fixed, that was causing the power for multiple batteries connected to the same inverter to be reported incorrectly.

What's Changed

  • Bump the minor group across 1 directory with 6 updates by @dependabot[bot] in #1240
  • Improve resampler structure and performance by @llucax in #1242
  • Bump pytest-asyncio from 0.26.0 to 1.0.0 by @dependabot[bot] in #1244
  • Bump the patch group with 6 updates by @dependabot[bot] in #1243
  • Remove obsolete hpack logging adjustment from examples by @Copilot in #1247
  • Bump async-solipsism from 0.7 to 0.8 by @dependabot[bot] in #1257
  • Bump pytest-asyncio from 1.0.0 to 1.1.0 by @dependabot[bot] in #1256
  • Bump types-setuptools from 80.9.0.20250529 to 80.9.0.20250801 by @dependabot[bot] in #1255
  • Bump types-markdown from 3.8.0.20250415 to 3.8.0.20250708 by @dependabot[bot] in #1253
  • Bump mkdocs-material from 9.6.15 to 9.6.16 in the patch group by @dependabot[bot] in #1250
  • Bump the compatible group with 2 updates by @dependabot[bot] in #1258
  • Bump types-protobuf from 6.30.2.20250516 to 6.30.2.20250703 by @dependabot[bot] in #1254
  • Bump the minor group with 2 updates by @dependabot[bot] in #1251
  • Remove unncessary use of tzdata in tests by @denini08 in #1261
  • Add a wall clock attached timer by @llucax in #1249
  • Bump mkdocstrings[python] from 0.29.1 to 0.30.0 in the mkdocstrings group by @dependabot[bot] in #1252
  • Fix log when multiple batteries are attached to an inverter by @shsms in #1262
  • Bump types-protobuf from 6.30.2.20250703 to 6.30.2.20250822 by @dependabot[bot] in #1272
  • Bump mkdocstrings-python from 1.16.12 to 1.18.2 in the mkdocstrings group by @dependabot[bot] in #1267
  • Bump the patch group with 3 updates by @dependabot[bot] in #1265
  • Bump hypothesis from 6.136.8 to 6.138.13 in the minor group by @dependabot[bot] in #1266
  • Bump actions/checkout from 4 to 5 by @dependabot[bot] in #1264
  • Bump pydoclint from 0.6.6 to 0.7.1 by @dependabot[bot] in #1268
  • Bump setuptools-scm[toml] from 8.3.1 to 9.2.0 by @dependabot[bot] in #1271
  • Bump actions/download-artifact from 4 to 5 in the artifacts group by @dependabot[bot] in #1263
  • Bump types-markdown from 3.8.0.20250708 to 3.8.0.20250809 by @dependabot[bot] in #1270
  • Bump types-setuptools from 80.9.0.20250801 to 80.9.0.20250822 by @dependabot[bot] in #1269
  • Prepare release notes for the release by @llucax in #1273

New Contributors

  • @Copilot made their first contribution in #1247
  • @denini08 made their first contribution in #1261

Full Changelog: v1.0.0-rc2100...v1.0.0-rc2101

v1.0.0-rc2100

26 Jun 12:43
v1.0.0-rc2100
9d617fa

Choose a tag to compare

Frequenz Python SDK Release Notes

Summary

Upgrading

  • The microgrid client dependency has been updated to version 0.9.0

New Features

Bug Fixes

What's Changed

New Contributors

Full Changelog: v1.0.0-rc2001...v1.0.0-rc2100

v1.0.0-rc2002

24 Jun 12:56
v1.0.0-rc2002
9d617fa

Choose a tag to compare

v1.0.0-rc2002 Pre-release
Pre-release

Frequenz Python SDK Release Notes

Summary

Upgrading

  • The microgrid client dependency has been updated to version 0.9.0

New Features

Bug Fixes

What's Changed

New Contributors

Full Changelog: v1.0.0-rc2001...v1.0.0-rc2002