You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: RELEASE_NOTES.md
+74-12Lines changed: 74 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,26 +6,88 @@ The `Timer` now can be started with a delay.
6
6
7
7
## Upgrading
8
8
9
-
* Internal variable names in the `Anycast` and `Broadcast` implementations are now private.
9
+
*`Anycast`
10
+
11
+
-`__init__`: The `maxsize` argument was renamed to `limit` and made keyword-only and a new optional, keyword-only `name` argument was added. If a `name` is not specified, it will be generated from the `id()` of the instance.
12
+
13
+
You should instantiate using `Anycast(name=..., limit=...)` (or `Anycast()` if the defaults are enough) instead of `Anycast(...)` or `Anycast(maxsize=...)`.
14
+
15
+
*`Bidirectional`
16
+
17
+
- The `client_id` and `service_id` arguments were merged into an optional, keyword-only `name`. If a `name` is not specified, it will be generated from the `id()` of the instance.
18
+
19
+
You should instantiate using `Bidirectional(name=...)` (or `Bidirectional()` if the default name is enough) instead of `Bidirectional(..., ...)` or `Bidirectional(client_id=..., service_id=...)`.
20
+
21
+
-`new_receiver`: The `maxsize` argument was renamed to `limit` and made keyword-only; the `name` argument was also made keyword-only. If a `name` is not specified, it will be generated from the `id()` of the instance instead of a random UUID.
22
+
23
+
You should instantiate using `Broadcast(name=name, resend_latest=resend_latest)` (or `Broadcast()` if the defaults are enough) instead of `Broadcast(name)` or `Broadcast(name, resend_latest)`.
24
+
25
+
*`Broadcast`
26
+
27
+
-`__init__`: The `name` argument was made optional and keyword-only; `resend_latest` was also made keyword-only. If a `name` is not specified, it will be generated from the `id()` of the instance.
28
+
29
+
You should instantiate using `Broadcast(name=name, resend_latest=resend_latest)` (or `Broadcast()` if the defaults are enough) instead of `Broadcast(name)` or `Broadcast(name, resend_latest)`.
30
+
31
+
*`Event`
32
+
33
+
-`__init__`: The `name` argument was made keyword-only. The default was changed to a more readable version of `id(self)`.
34
+
35
+
You should instantiate using `Event(name=...)` instead of `Event(...)`.
36
+
37
+
* All exceptions that took `Any` as the `message` argument now take `str` instead.
38
+
39
+
If you were passing a non-`str` value to an exception, you should convert it using `str(value)` before passing it to the exception.
10
40
11
41
## New Features
12
42
13
-
*`Timer()`, `Timer.timeout()`, `Timer.periodic()` and `Timer.reset()` now take an optional `start_delay` option to make the timer start after some delay.
43
+
*`Anycast`
44
+
45
+
- The following new read-only properties were added:
46
+
47
+
-`name`: The name of the channel.
48
+
-`limit`: The maximum number of messages that can be sent to the channel.
49
+
-`is_closed`: Whether the channel is closed.
50
+
51
+
- A more useful implementation of `__str__ and `__repr__` were added for the channel and its senders and receivers.
52
+
53
+
*`Bidirectional`
54
+
55
+
- The following new read-only properties were added:
56
+
57
+
-`name`: The name of the channel (read-only).
58
+
-`is_closed`: Whether the channel is closed (read-only).
59
+
60
+
- A more useful implementation of `__str__ and `__repr__` were added for the channel and the client and service handles.
61
+
62
+
*`Broadcast`
63
+
64
+
- The following new read-only properties were added:
65
+
66
+
-`name`: The name of the channel.
67
+
-`latest`: The latest message sent to the channel.
68
+
-`is_closed`: Whether the channel is closed.
69
+
70
+
- A more useful implementation of `__str__ and `__repr__` were added for the channel and the client and service handles.
71
+
72
+
*`FileWatcher`
73
+
74
+
- A more useful implementation of `__str__ and `__repr__` were added.
75
+
76
+
*`Merge`
77
+
78
+
- A more useful implementation of `__str__ and `__repr__` were added.
79
+
80
+
*`MergeNamed`
14
81
15
-
This can be useful, for example, if the timer needs to be *aligned* to a particular time. The alternative to this would be to `sleep()` for the time needed to align the timer, but if the `sleep()` call gets delayed because the event loop is busy, then a re-alignment is needed and this could go on for a while. The only way to guarantee a certain alignment (with a reasonable precision) is to delay the timer start.
82
+
- A more useful implementation of `__str__ and `__repr__` were added.
16
83
17
-
*`Broadcast.resend_latest` is now a public attribute, allowing it to be changed after the channel is created.
84
+
*`Peekable`
18
85
19
-
* The arm64 architecture is now officially supported.
86
+
- A more useful implementation of `__str__ and `__repr__` were added.
20
87
21
-
*The documentation was improved to:
88
+
*`Receiver`
22
89
23
-
- Show signatures with types.
24
-
- Show the inherited members.
25
-
- Documentation for pre-releases are now published.
26
-
- Show the full tag name as the documentation version.
27
-
- All development branches now have their documentation published (there is no `next` version anymore).
28
-
- Fix the order of the documentation versions.
90
+
-`map()`: The returned map object now has a more useful implementation of `__str__ and `__repr__`.
0 commit comments