Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Dec 26, 2024

Bumps trio from 0.27.0 to 0.28.0.

Release notes

Sourced from trio's releases.

v0.28.0

Full Changelog: python-trio/trio@v0.27.0...v0.28.0

Bugfixes

  • :func:inspect.iscoroutinefunction and the like now give correct answers when called on KI-protected functions. (python-trio/trio#2670)

  • 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 of local 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 when called 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 them and 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 workaround. (python-trio/trio#3108)

  • Rework foreign async generator finalization to track async generator ids rather than mutating ag_frame.f_locals. This fixes an issue with the previous implementation: locals' lifetimes will no longer be extended by materialization in the ag_frame.f_locals dictionary that the previous finalization dispatcher logic needed to access to do its work. (python-trio/trio#3112)

  • Ensure that Pyright recognizes our underscore prefixed attributes for attrs classes. (python-trio/trio#3114)

  • Fix trio.testing.RaisesGroup's typing. (python-trio/trio#3141)

Improved documentation

... (truncated)

Commits
  • e5e17ef Bump version to 0.28.0
  • 8a28c55 Merge pull request #3171 from A5rocks/remove-explained-xfails
  • e7e7c4a Explain why our MacOS 14 runners failed with CPython 3.13.1
  • 2d87c0e Merge pull request #3157 from jakkdl/cleanup_checksh
  • 3260974 Merge pull request #3169 from python-trio/pre-commit-ci-update-config
  • 613fa4e Fixing RUF043, use raw strings in match=
  • 2b08c98 Update version of ruff used in tests
  • 58f7bc4 [pre-commit.ci] pre-commit autoupdate
  • 2bc884c Merge branch 'main' into cleanup_checksh
  • 8f787d6 it seems uv pip-compile is sorting the requirements now
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [trio](https://github.com/python-trio/trio) from 0.27.0 to 0.28.0.
- [Release notes](https://github.com/python-trio/trio/releases)
- [Commits](python-trio/trio@v0.27.0...v0.28.0)

---
updated-dependencies:
- dependency-name: trio
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Dec 26, 2024
@sobolevn sobolevn merged commit bd79a91 into master Dec 26, 2024
21 checks passed
@sobolevn sobolevn deleted the dependabot/pip/trio-0.28.0 branch December 26, 2024 19:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update Python code

Development

Successfully merging this pull request may close these issues.

2 participants