v0.11.0
Frequenz Channels Release Notes
Summary
The project has a new home!
https://frequenz-floss.github.io/frequenz-channels-python/
For now the documentation is pretty scarce but we will be improving it with time.
Upgrading (breaking changes)
-
You need to make sure to use timezone-aware
datetimeobjects when using the timestamp returned byTimer, Otherwise you will get an exception. -
Channels methods
get_receiver()andget_sender()have been renamed tonew_receiver()andnew_sender()respectively. This is to make it more clear that new objects are being created. -
The public API surface has been reduced considerably to make it more clear where to import symbols. You should update your imports. The new symbol locations are:
frequenz.channels.Anycastfrequenz.channels.Broadcastfrequenz.channels.Anycastfrequenz.channels.Bidirectionalfrequenz.channels.Broadcastfrequenz.channels.Peekablefrequenz.channels.Receiverfrequenz.channels.Senderfrequenz.channels.util.Mergefrequenz.channels.util.MergeNamedfrequenz.channels.util.FileWatcherfrequenz.channels.util.Selectfrequenz.channels.util.Timer
-
The class
BufferedReceiverwas removed because the interface was really intended for channel implementations. Users are not supposed to enqueue messages to receiver but just receive from them. If you used it you can implement it yourself. -
The class
BidirectionalHandlewas moved toBidirectional.Handle. -
The class
EventTypewas moved toFileWatcher.EventType.
New Features
- Python 3.11 is now supported!
Bug Fixes
-
Broadcastreceivers now get cleaned up once they go out of scope. -
Timernow returns timezone-awaredatetimeobjects using UTC as timezone.
What's Changed
- Fix project URLs by @leandro-lucarella-frequenz in #18
- ci: Test also Python 3.11 pre-releases by @leandro-lucarella-frequenz in #19
- Remove
version:xxxand addpart:selectandpart:receiverslabels by @leandro-lucarella-frequenz in #28 - Use MkDocs to build the documentation by @leandro-lucarella-frequenz in #25
- ci: Add contents permission to publish-docs by @leandro-lucarella-frequenz in #33
- ci: Update aliases when deploying with mike by @leandro-lucarella-frequenz in #38
- Add PyPI and Docs badges to README by @shsms in #34
- ci: Use the final Python 3.11 version by @leandro-lucarella-frequenz in #39
- docs: Replace the Home with the README by @leandro-lucarella-frequenz in #40
- Fix CONTRIBUTING headings by @leandro-lucarella-frequenz in #41
- Use "aware" datetimes by @leandro-lucarella-frequenz in #48
- Ensure deleted receivers get cleaned up by @shsms in #45
- Avoid dropping of messages after breaking from
Selectblocks by @shsms in #42 - Rename
get_{sender,receiver}tonew_{sender,receiver}by @leandro-lucarella-frequenz in #49 - Clean up public API by @leandro-lucarella-frequenz in #55
- FileWatcher: Don't type-check
changesby @leandro-lucarella-frequenz in #56 - Add Python 3.11 support to RELEASE_NOTES by @leandro-lucarella-frequenz in #57
Full Changelog: v0.10.0...v0.11.0