Skip to content

Commit cc17298

Browse files
committed
Update release notes
Signed-off-by: Leandro Lucarella <[email protected]>
1 parent 8e70c41 commit cc17298

File tree

1 file changed

+57
-4
lines changed

1 file changed

+57
-4
lines changed

RELEASE_NOTES.md

Lines changed: 57 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,9 @@
1111

1212
You should instantiate using `Anycast(name=..., limit=...)` (or `Anycast(name=...)` if the default `limit` is enough) instead of `Anycast(...)` or `Anycast(maxsize=...)`.
1313

14-
* `Bidirectional`
15-
16-
- The `client_id` and `service_id` arguments were merged into a keyword-only `name`.
14+
- `new_sender` and `new_receiver`: They now return a base `Sender` and `Receiver` class (respectively) instead of a channel-specific `Sender` or `Receiver` subclass.
1715

18-
You should instantiate using `Bidirectional(name=...)` instead of `Bidirectional(..., ...)` or `Bidirectional(client_id=..., service_id=...)`.
16+
This means users now don't have access to the internals to the channel-specific `Sender` and `Receiver` subclasses.
1917

2018
* `Broadcast`
2119

@@ -27,16 +25,71 @@
2725

2826
You should use `.new_receiver(name=name, limit=limit)` (or `.new_receiver()` if the defaults are enough) instead of `.new_receiver(name)` or `.new_receiver(name, maxsize)`.
2927

28+
- `new_sender` and `new_receiver` now return a base `Sender` and `Receiver` class (respectively) instead of a channel-specific `Sender` or `Receiver` subclass.
29+
30+
This means users now don't have access to the internals to the channel-specific `Sender` and `Receiver` subclasses.
31+
3032
* `Event`
3133

3234
- `__init__`: The `name` argument was made keyword-only. The default was changed to a more readable version of `id(self)`.
3335

3436
You should instantiate using `Event(name=...)` instead of `Event(...)`.
3537

38+
- Moved from `frequenz.channels.util` to `frequenz.channels.event`.
39+
40+
* `FileWatcher`
41+
42+
- Moved from `frequenz.channels.util` to `frequenz.channels.file_watcher`.
43+
44+
- Support classes are no longer nested inside `FileWatcher`. They are now top-level classes within the new `frequenz.channels.file_watcher` module (e.g., `frequenz.channels.util.FileWatcher.EventType` -> `frequenz.channels.file_watcher.EventType`, `frequenz.channels.util.FileWatcher.Event` -> `frequenz.channels.file_watcher.Event`).
45+
46+
* `Timer` and support classes
47+
48+
- Moved from `frequenz.channels.util` to `frequenz.channels.timer`.
49+
3650
* All exceptions that took `Any` as the `message` argument now take `str` instead.
3751

3852
If you were passing a non-`str` value to an exception, you should convert it using `str(value)` before passing it to the exception.
3953

54+
* The following symbols were moved to the top-level `frequenz.channels` package:
55+
56+
- `Merge`
57+
- `MergeNamed`
58+
- `Selected`
59+
- `SelectError`
60+
- `SelectErrorGroup`
61+
- `UnhandledSelectedError`
62+
- `select`
63+
- `selected_from`
64+
65+
### Removals
66+
67+
* `Bidirectional`
68+
69+
This channel was removed as it is not recommended practice and was a niche use case. If you need to use it, you can set up two channels or copy the `Bidirectional` class from the previous version to your project.
70+
71+
* `Peekable`
72+
73+
This class was removed because it was merely a shortcut to a receiver that caches the last value received. It did not fit the channel abstraction well and was infrequently used.
74+
75+
You can replace it with a task that receives and retains the last value.
76+
77+
* `Broadcast.new_peekable()`
78+
79+
This was removed alongside `Peekable`.
80+
81+
* `Receiver.into_peekable()`
82+
83+
This was removed alongside `Peekable`.
84+
85+
* `ReceiverInvalidatedError`
86+
87+
This was removed alongside `Peekable` (it was only raised when using a `Receiver` that was converted into a `Peekable`).
88+
89+
* `util`
90+
91+
The entire `util` package was removed and its symbols were either moved to the top-level package or to their own public modules (as noted above).
92+
4093
## New Features
4194

4295
* `Anycast`

0 commit comments

Comments
 (0)