Frequenz Dispatch Client Library Release Notes
Summary
This release contains a few breaking changes that were required to enhance the
API.
Upgrading
- The `Dispatch` class is now a frozen dataclass, meaning that it is immutable. Modifications can still be done using `replace`: `dispatch = replace(dispatch, start_time=new_start_time)`.
- The `Client.update()` method now requires named parameters.
- `Client.update()` no longer accepts changes to the `type` and `dry_run` fields.
New Features
- A new module `frequenz.client.dispatch.test` has been added, providing a fake Service and Client as well as a `DispatchGenerator` to generate `Dispatch` instances filled with random data.
- The `DispatchGenerator.generate_dispatch` method now accepts a `microgrid_id` parameter to generate `Dispatch` instances with a specific microgrid ID.
- The `Client.create()` method now returns the newly created `Dispatch` object.
What's Changed
* Apply missing upgrade-step after repo-config update by Marenz in https://github.com/frequenz-floss/frequenz-client-dispatch-python/pull/20
* Bump grpc-stubs from 1.53.0.2 to 1.53.0.5 by dependabot in https://github.com/frequenz-floss/frequenz-client-dispatch-python/pull/23
* Bump the optional group with 7 updates by dependabot in https://github.com/frequenz-floss/frequenz-client-dispatch-python/pull/24
* Downgrade pytest as release was yanked by Marenz in https://github.com/frequenz-floss/frequenz-client-dispatch-python/pull/25
* Make test classes available by Marenz in https://github.com/frequenz-floss/frequenz-client-dispatch-python/pull/21
* Useful additions for testing by Marenz in https://github.com/frequenz-floss/frequenz-client-dispatch-python/pull/26
* Fix the Python package name by llucax in https://github.com/frequenz-floss/frequenz-client-dispatch-python/pull/27
* Bump nox from 2023.4.22 to 2024.3.2 by dependabot in https://github.com/frequenz-floss/frequenz-client-dispatch-python/pull/30
* Bump the optional group with 11 updates by dependabot in https://github.com/frequenz-floss/frequenz-client-dispatch-python/pull/31
* Make `Dispatch` class frozen by Marenz in https://github.com/frequenz-floss/frequenz-client-dispatch-python/pull/32
* Make `Client.update` require named parameters by Marenz in https://github.com/frequenz-floss/frequenz-client-dispatch-python/pull/34
* Disallow updating `type` and `dry_run` by Marenz in https://github.com/frequenz-floss/frequenz-client-dispatch-python/pull/35
* Use client-common v0.1.0 and api-dispatch v0.13.0 by Marenz in https://github.com/frequenz-floss/frequenz-client-dispatch-python/pull/36
* Enhancements to the interface and bugfixes by Marenz in https://github.com/frequenz-floss/frequenz-client-dispatch-python/pull/37
* Prepare release notes by Marenz in https://github.com/frequenz-floss/frequenz-client-dispatch-python/pull/38
* Update api-reference in docs by Marenz in https://github.com/frequenz-floss/frequenz-client-dispatch-python/pull/39
**Full Changelog**: https://github.com/frequenz-floss/frequenz-client-dispatch-python/compare/v0.1.0...v0.2.0