-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(deps): update dependency trio to v0.28.0 #2115
Conversation
CI Failure Feedback 🧐(Checks updated until commit 0c1b77e)
|
✅ Deploy Preview for selenium-dev ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Merge when py3.8 is dropped in CI test
Thank you @VietND96 for the info. |
Renovate Ignore NotificationBecause you closed this PR without merging, Renovate will ignore this update ( If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR. |
This PR contains the following updates:
==0.27.0
->==0.28.0
Release Notes
python-trio/trio (trio)
v0.28.0
Compare Source
Full Changelog: python-trio/trio@v0.27.0...v0.28.0
Bugfixes
:func:
inspect.iscoroutinefunction
and the like now give correct answers whencalled on KI-protected functionhttps://github.com/python-trio/trio/issues/26702670)
Rework KeyboardInterrupt protection to track code objects, rather than frames,
as protected or not. The new implementation no longer needs to access
frame.f_locals
dictionaries, so it won't artificially extend the lifetime oflocal variables. Since KeyboardInterrupt protection is now imposed statically
(when a protected function is defined) rather than each time the function runs,
its previously-noticeable performance overhead should now be near zero.
The lack of a call-time wrapper has some other benefits as well:
:func:
inspect.iscoroutinefunction
and the like now give correct answers whencalled on KI-protected functions.
Calling a synchronous KI-protected function no longer pushes an additional stack
frame, so tracebacks are clearer.
A synchronous KI-protected function invoked from C code (such as a weakref
finalizer) is now guaranteed to start executing; previously there would be a brief
window in which KeyboardInterrupt could be raised before the protection was
established.
One minor drawback of the new approach is that multiple instances of the same
closure share a single KeyboardInterrupt protection state (because they share a
single code object). That means that if you apply
trio.lowlevel.enable_ki_protection
to some of themand not others, you won't get the protection semantics you asked for. See the
documentation of
trio.lowlevel.enable_ki_protection
for more details and a workarounhttps://github.com/python-trio/trio/issues/31083108)
Rework foreign async generator finalization to track async generator
ids rather than mutating
ag_frame.f_locals
. This fixes an issuewith the previous implementation: locals' lifetimes will no longer be
extended by materialization in the
ag_frame.f_locals
dictionary thatthe previous finalization dispatcher logic needed to access to do its worhttps://github.com/python-trio/trio/issues/31123112)
Ensure that Pyright recognizes our underscore prefixed attributes for attrs classes. (https://github.com/python-trio/trio/issues/3114)
Fix
trio.testing.RaisesGroup
's typing. (https://github.com/python-trio/trio/issues/3141)Improved documentation
trio.sleep_forever
is guaranteed to raise an exception now. (https://github.com/python-trio/trio/issues/3113)Removals without deprecations
Miscellaneous internal changes
trio.socket.SocketType
's methods. (https://github.com/python-trio/trio/issues/3094)Any
usage. (https://github.com/python-trio/trio/issues/3121)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.