Releases: frequenz-floss/frequenz-client-base-python
v0.4.0
Frequenz Client Base Library Release Notes
Summary
Upgrading
- You should now install the dependency using
frequenz-client-base[grpcio](orfrequenz-client-base[grpclib]) if you want to migrate togrpclib). GrpcStreamBroadcaster'sstream_methodcallback now should return anAsyncIteratorinstead of agrpc.aio.UnaryStreamCall, this is so it is compatible with bothgrpcioandgrpclib. Normally no changes should be needed, as agrpc.aio.UnaryStreamCallshould be aAsyncIterator, but sincegrpciodoesn't have correct type hints, you might need to adjust thecast()if you are using one.
New Features
GrpcStreamBroadcasteris now compatible with bothgrpcioandgrpclibimplementations of gRPC. Just installfrequenz-client-base[grpcio]orfrequenz-client-base[grpclib]to use the desired implementation and everything should work as expected.- A new module
channelwith a function to parse URIs to creategrpclibclientChannelinstances.
Bug Fixes
- Fixed retrying for
GrpcStreamBroadcasterwhen the retry interval is set to 0 (before it would stop retrying if the interval was set to 0).
What's Changed
- Clear RELEASE_NOTES.md by @shsms in #36
- Bump types-protobuf from 4.24.0.20240129 to 4.24.0.20240311 by @dependabot in #39
- Bump nox from 2023.4.22 to 2024.3.2 by @dependabot in #38
- Update protobuf requirement from <5,>=4.21.6 to >=4.21.6,<6 by @dependabot in #40
- Bump the optional group with 10 updates by @dependabot in #43
- Bump the required group with 7 updates by @dependabot in #44
- Bump types-protobuf from 4.24.0.20240311 to 5.26.0.20240422 by @dependabot in #45
- Remove TODOs by @llucax in #46
- Bump repo-config to v0.9.2 by @llucax in #47
- Fix the condition to run the
nox-(cross-arch-)?alljobs by @llucax in #48 - ci: Fix pip cache post step by @llucax in #50
- Make
GrpcStreamBroadcastercompatible with bothgrpcioandgrpclibby @llucax in #49 - Fix
GrpcStreamBroadcasterretry with a 0 interval by @llucax in #52 - Add parsing of gRPC channel URIs by @llucax in #51
Full Changelog: v0.3.0...v0.4.0
v0.3.0
Frequenz Client Base Library Release Notes
Summary
This release updates the minimum required frequenz-channels version is updated
to v1.0.0-rc1. This is a breaking change, because the channels API has changed.
Upgrading
Follow the upgrading instructions from the new channel release: v1.0.0-rc1.
What's Changed
- Don't create nox sessions twice in cross-arch tests by @llucax in #34
- Clear release notes by @llucax in #33
- Update minimum
frequenz-channelsversion tov1.0.0-rc1by @shsms in #35
Full Changelog: v0.2.1...v0.3.0
v0.2.1
Frequenz Client Base Library Release Notes
Summary
- The generated docs now show the type of symbol in the table of contents and have cross-linking to the protobuf and channels documentation.
- The minimum supported version of
protobufwas downgraded to 4.21.6, so downstream projects having this older version as minimum requirements can still use this release.
What's Changed
- Clear release notes by @llucax in #28
- Bump the optional group with 10 updates by @dependabot in #29
- Downgrade minimum
protobufto 4.21.6 by @llucax in #30 - Improve generated docs by @llucax in #31
- Prepare release notes for v0.2.1 by @llucax in #32
Full Changelog: v0.2.0...v0.2.1
v0.2.0
Frequenz Client Base Library Release Notes
Summary
This release does a bit of restructuring and renaming of classes and modules. It also adds some new features and fixes some bugs.
Upgrading
The project structure was updated to use more consistent and shorter modules and class names.
-
frequenz.client.base.grpc_streaming_helperwas renamed tofrequenz.client.base.streaming.-
The
GrpcStreamingHelperclass was renamed toGrpcStreamBroadcaster.- The constructor argument
retry_specwas renamed toretry_strategy.
- The constructor argument
-
-
frequenz.client.base.retry_strategywas renamed tofrequenz.client.base.retry.- The
RetryStrategyclass was renamed toStrategy.
- The
New Features
- Functions to convert to
datetimeand protobufsTimestamphave been added. - The generated documentation was improved to include information on defaults and generic parameters.
Bug Fixes
- When copying
RetryStrategys, the type now will be correctly set to the original type.
What's Changed
- Clear RELEASE_NOTES.md by @shsms in #7
- Bump the optional group with 16 updates by @dependabot in #8
- Bump actions/cache from 3 to 4 by @dependabot in #17
- Bump the optional group with 4 updates by @dependabot in #12
- Bump types-markdown from 3.5.0.3 to 3.5.0.20240129 by @dependabot in #14
- Bump flake8 from 6.1.0 to 7.0.0 by @dependabot in #16
- Bump black from 23.12.1 to 24.1.1 by @dependabot in #13
- Bump actions/setup-python from 4 to 5 by @dependabot in #2
- Update to channels v1.0.0-beta.1 by @Marenz in #18
- Bump actions/{download,upload}-artifact from 3 to 4 by @dependabot in #10
- Fix typo Freqenz -> Frequenz by @llucax in #21
- docs: Add cross-referencing for gRPC by @llucax in #22
- Add datetime and Timestamp conversion functions by @Marenz in #20
- Bump actions/labeler from 4.3.0 to 5.0.0 by @dependabot in #1
- Improve docs and fix
copy()type by @llucax in #23 - Restructure modules and class names by @llucax in #25
- Prepare release notes for v0.2.0 by @llucax in #27
New Contributors
- @dependabot made their first contribution in #8
- @Marenz made their first contribution in #18
- @llucax made their first contribution in #21
Full Changelog: v0.1.0...v0.2.0
v0.1.0
Freqenz Client Base Library Release Notes
Summary
First release of the Freqenz Client Base Library, that exposes a retry strategy implementations and a generic grpc streaming helper.
Upgrading
New Features
- Imports retry strategies and the generic grpc streaming helper from the SDK.
Bug Fixes
What's Changed
New Contributors
Full Changelog: https://github.com/frequenz-floss/frequenz-client-base-python/commits/v0.1.0