Skip to content

Commit d7f751b

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

File tree

1 file changed

+75
-12
lines changed

1 file changed

+75
-12
lines changed

RELEASE_NOTES.md

Lines changed: 75 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,89 @@ The `Timer` now can be started with a delay.
66

77
## Upgrading
88

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 keyword-only `name` argument was added.
12+
13+
You should instantiate using `Anycast(name=..., limit=...)` (or `Anycast(name=...)` if the default `limit` is enough) instead of `Anycast(...)` or `Anycast(maxsize=...)`.
14+
15+
* `Bidirectional`
16+
17+
- The `client_id` and `service_id` arguments were merged into a keyword-only `name`.
18+
19+
You should instantiate using `Bidirectional(name=...)` instead of `Bidirectional(..., ...)` or `Bidirectional(client_id=..., service_id=...)`.
20+
21+
* `Broadcast`
22+
23+
- `__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.
24+
25+
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)`.
26+
27+
- `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.
28+
29+
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)`.
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.
1040

1141
## New Features
1242

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+
- A warning will be logged if senders are blocked because the channel buffer is full.
54+
55+
* `Bidirectional`
56+
57+
- The following new read-only properties were added:
58+
59+
- `name`: The name of the channel (read-only).
60+
- `is_closed`: Whether the channel is closed (read-only).
61+
62+
- A more useful implementation of `__str__ and `__repr__` were added for the channel and the client and service handles.
63+
64+
* `Broadcast`
65+
66+
- The following new read-only properties were added:
67+
68+
- `name`: The name of the channel.
69+
- `is_closed`: Whether the channel is closed.
70+
71+
- A more useful implementation of `__str__ and `__repr__` were added for the channel and the client and service handles.
72+
73+
* `FileWatcher`
74+
75+
- A more useful implementation of `__str__ and `__repr__` were added.
76+
77+
* `Merge`
78+
79+
- A more useful implementation of `__str__ and `__repr__` were added.
80+
81+
* `MergeNamed`
1482

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.
83+
- A more useful implementation of `__str__ and `__repr__` were added.
1684

17-
* `Broadcast.resend_latest` is now a public attribute, allowing it to be changed after the channel is created.
85+
* `Peekable`
1886

19-
* The arm64 architecture is now officially supported.
87+
- A more useful implementation of `__str__ and `__repr__` were added.
2088

21-
* The documentation was improved to:
89+
* `Receiver`
2290

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.
91+
- `map()`: The returned map object now has a more useful implementation of `__str__ and `__repr__`.
2992

3093
## Bug Fixes
3194

0 commit comments

Comments
 (0)