Full Changelog: v0.31.0...v0.32.0
Features
- Allow
trio.CapacityLimiterto have zero total_tokens. (#3321)
Bugfixes
- Fixed a bug where iterating over an
@as_safe_channel-derivedReceiveChannelwould raisetrio.BrokenResourceErrorif the channel was closed by another task. It now shuts down cleanly. (#3331) trio.lowlevel.Task.iter_await_framesnow works on completed tasks, by returning an empty list of frames if the underlying coroutine has been closed. Previously, it raised an internal error. (#3337)
Removals without deprecations
- Drop support for Python 3.9. (#3345)
Miscellaneous internal changes
- Decrease indentation for exception groups raised in
trio.as_safe_channel. (#3332)