chore(deps): update dependency trio to v0.29.0#2167
Merged
Conversation
✅ Deploy Preview for selenium-dev ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==0.27.0->==0.29.0Release Notes
python-trio/trio (trio)
v0.29.0Compare Source
Full Changelog: python-trio/trio@v0.28.0...v0.29.0
Features
trio.lowlevel.in_trio_runandtrio.lowlevel.in_trio_taskand document the semantics (and differences) thereof. (https://github.com/python-trio/trio/issues/2757)trio.testing.RaisesGroupdoes not get the expected exceptions it now raises anAssertionErrorwith a helpful message, instead of letting the raised exception/group fall through. The raised exception is available in the__context__of theAssertionErrorand can be seen in the traceback. (https://github.com/python-trio/trio/issues/3145)Bugfixes
os.fork. (https://github.com/python-trio/trio/issues/2764)Miscellaneous internal changes
Stop using ctypes to mutate tracebacks for
strict_exception_groups=False's exception collapsing. (https://github.com/python-trio/trio/issues/405)Fixed spelling error in Windows error code enum for
ERROR_INVALID_PARAMETER. (https://github.com/python-trio/trio/issues/3166)Publicly re-export
__version__for type checking purposes. (https://github.com/python-trio/trio/issues/3186)The typing of
trio.abc.HostnameResolver.getaddrinfohas been corrected to match that of the stdlibsocket.getaddrinfo, which was updated in mypy 1.15 (via a typeshed update) to include the possibility oftuple[int, bytes]for thesockaddrfield of the result. This happens in situations where Python was compiled with--disable-ipv6.Additionally, the static typing of
trio.to_thread.run_sync,trio.from_thread.runandtrio.from_thread.run_synchas been improved and should reflect the underlying function being run. (https://github.com/python-trio/trio/issues/3201)v0.28.0Compare Source
Full Changelog: python-trio/trio@v0.27.0...v0.28.0
Bugfixes
:func:
inspect.iscoroutinefunctionand 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_localsdictionaries, 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.iscoroutinefunctionand 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_protectionto some of themand not others, you won't get the protection semantics you asked for. See the
documentation of
trio.lowlevel.enable_ki_protectionfor 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_localsdictionary 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_foreveris 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)Anyusage. (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.