Releases: frequenz-floss/frequenz-channels-python
v1.6.1
v1.6.0
Frequenz channels Release Notes
New Features
- Added a
Receiver.close()
method for closing just a receiver. Also implemented it for all theReceiver
implementations in this library.
What's Changed
- Clear release notes by @shsms in #364
- Add a
Receiver.close()
method by @shsms in #348 - Prepare for release v1.6.0 by @shsms in #366
Full Changelog: v1.5.0...v1.6.0
v1.5.0
Frequenz channels Release Notes
New Features
- Added support for disabling the overflow-warning log messagess in broadcast receivers, through the
warn_on_overflow
parameter onBroadcast.new_receiver()
calls.
What's Changed
- Clear release notes by @llucax in #360
- Support for disabling overflow-warning logs in broadcast receivers by @shsms in #329
- Bump the required group with 7 updates by @dependabot in #362
- Prepare for release v1.5.0 by @shsms in #363
Full Changelog: v1.4.0...v1.5.0
v1.4.0
Frequenz channels Release Notes
New Features
Experimental
- A new composable predicate,
WithPrevious
, to filter messages based on the previous message.
What's Changed
- Clear release notes by @llucax in #338
- Bump the required group across 1 directory with 9 updates by @dependabot in #337
- Add useful predicates to filter based on the previous value by @llucax in #341
- Prepare release notes for v1.4.0 by @llucax in #346
- Use a
float
for the tolerance in the timer tests by @llucax in #347 - Update watchfiles requirement from <0.25.0,>=0.15.0 to >=0.15.0,<1.1.0 by @dependabot in #352
- Bump setuptools from 68.1.0 to 75.6.0 by @dependabot in #351
- Bump the required group with 7 updates by @dependabot in #349
- Bump setuptools-scm[toml] from 7.1.0 to 8.1.0 by @dependabot in #350
- Fix documentation Broadcast -> Anycast by @Marenz in #358
- Rename
OnlyIfPrevious
toWithPrevious
by @llucax in #357 - Update files using repo-config-0.11 by @llucax in #353
- Bump types-markdown from 3.7.0.20240822 to 3.7.0.20241204 by @dependabot in #359
Full Changelog: v1.3.0...v1.4.0
v1.3.0
Frequenz channels Release Notes
New Features
-
There is a new
Receiver.triggered
method that can be used instead ofselected_from
:async for selected in select(recv1, recv2): if recv1.triggered(selected): print('Received from recv1:', selected.message) if recv2.triggered(selected): print('Received from recv2:', selected.message)
Receiver.filter()
can now properly handleTypeGuard
s. The resulting receiver will now have the narrowed type when aTypeGuard
is used.
Bug Fixes
- Fixed a memory leak in the timer.
What's Changed
- Clear release notes by @llucax in #325
- Fix file watcher integration tests by @llucax in #326
- Bump the required group with 8 updates by @dependabot in #327
- Bump mkdocs-include-markdown-plugin from 6.2.2 to 7.0.0 by @dependabot in #331
- Add a
Receiver.triggered
method by @shsms in #328 - Handle type guards properly in
Receiver.filter()
by @llucax in #332 - Prepare release notes for v1.3.0 by @llucax in #333
- Fix memory leak in the timer by @shsms in #334
- Prepare for v1.2.1 by @shsms in #335
- Merge v1.2.1 into v1.x.x by @llucax in #336
Full Changelog: v1.2.0...v1.3.0
v1.2.1
v1.2.0
Frequenz channels Release Notes
Upgrading
FileWatcher
: The file polling mechanism is now forced by default. This provides reliable and consistent file monitoring on network file systems (e.g., CIFS). However, it may have a performance impact on local file systems or when monitoring a large number of files.- To disable file polling, set the
force_polling
parameter toFalse
. - The
polling_interval
parameter defines the interval for polling changes. This is relevant only when polling is enabled and defaults to 1 second.
- To disable file polling, set the
New Features
Timer.reset()
now supports setting the interval and will restart the timer with the new interval.
Bug Fixes
-
FileWatcher
:- Fixed
ready()
method to return False when an error occurs. Before this fix,select()
(and other code usingready()
) never detected theFileWatcher
was stopped and theselect()
loop was continuously waking up to inform the receiver was ready. - Reports file events correctly on network file systems like CIFS.
- Fixed
-
Timer.stop()
andTimer.reset()
now immediately stop the timer if it is running. Before this fix, the timer would continue to run until the next interval.
What's Changed
- Timer: Add support for rearming timer with new interval by @Marenz in #321
- Enable polling in file watcher by @daniel-zullo-frequenz in #322
Full Changelog: v1.1.2...v1.2.0
v1.1.2
Frequenz channels Release Notes
Bug Fixes
FileWatcher
: Fixedready()
method to return False when an error occurs. Before this fix,select()
(and other code usingready()
) never detected theFileWatcher
was stopped and theselect()
loop was continuously waking up to inform the receiver was ready.
What's Changed
- Clear release notes by @llucax in #314
- Bump the required group across 1 directory with 19 updates by @dependabot in #316
- Fix ready() method in FileWatcher by @daniel-zullo-frequenz in #318
- Update release notes for release 1.1.2 by @llucax in #319
Full Changelog: v1.1.1...v1.1.2
v1.1.1
v1.1.0
Frequenz channels Release Notes
Summary
In addition to the new LatestValueCache
and the ability to filter
messages on Receiver
s, this release introduces two "Experimental" features for providing interconnections between channels.
New Features
-
The
LatestValueCache
class, which used to be internal to the Frequenz SDK, is now available through the channels package. -
Experimental:
RelaySender
, which is aSender
that forwards the messages sent to it, to multiple senders. -
Experimental:
Pipe
, which provides a pipe between two channels, by connecting aReceiver
to aSender
. -
Receiver
s now have afilter
method that applies a filter function on the messages on a receiver.
What's Changed
- Clear release notes by @llucax in #296
- Bump the required group with 10 updates by @dependabot in #299
- Bump markdown-svgbob from 202112.1022 to 202406.1023 by @dependabot in #305
- Bump the required group with 10 updates by @dependabot in #304
- Import the
LatestValueCache
implementation from the Frequenz SDK by @shsms in #302 - Bump the required group with 2 updates by @dependabot in #309
- Bump brettcannon/check-for-changed-files from 1.2.0 to 1.2.1 by @dependabot in #308
- Bump docker/build-push-action from 5 to 6 by @dependabot in #307
- Add abstractions for sharing messages between channels by @shsms in #301
- Support filtering the messages on a receiver by @shsms in #303
- Prepare for release v1.1.0 by @shsms in #311
Full Changelog: v1.0.1...v1.1.0