The strict_exception_groups parameter now defaults to True in trio.run and trio.lowlevel.start_guest_run. trio.open_nursery still defaults to the same value as was specified in trio.run/trio.lowlevel.start_guest_run, but if you didn't specify it there then all subsequent calls to trio.open_nursery will change.
This is unfortunately very tricky to change with a deprecation period, as raising a DeprecationWarning whenever strict_exception_groups is not specified would raise a lot of unnecessary warnings.
Notable side effects of changing code to run with strict_exception_groups==True
If an iterator raises StopAsyncIteration or StopIteration inside a nursery, then python will not recognize wrapped instances of those for stopping iteration.
trio.run_process is now documented that it can raise an ExceptionGroup. It previously could do this in very rare circumstances, but with strict_exception_groups set to True it will now do so whenever exceptions occur in deliver_cancel or with problems communicating with the subprocess.
Errors in opening the process is now done outside the internal nursery, so if code previously ran with strict_exception_groups=True there are cases now where an ExceptionGroup is no longer added.
trio.TrioInternalError.__cause__ might be wrapped in one or more ExceptionGroups <ExceptionGroup> (python-trio/trio#2786)
Features
Add trio.testing.wait_all_threads_completed, which blocks until no threads are running tasks. This is intended to be used in the same way as trio.testing.wait_all_tasks_blocked. (python-trio/trio#2937)
Path is now a subclass of pathlib.PurePath, allowing it to interoperate with other standard
pathlib types.
Instantiating Path now returns a concrete platform-specific subclass, one of PosixPath or
WindowsPath, matching the behavior of pathlib.Path. (python-trio/trio#2959)
Bugfixes
The pthread functions are now correctly found on systems using vanilla versions of musl libc. (python-trio/trio#2939)
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 ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the python-requirements group in /requirements with 2 updates: trio and tox.
Updates
trio
from 0.22.2 to 0.25.1Release notes
Sourced from trio's releases.
... (truncated)
Commits
a464604
Bump version to 0.25.1f46f74d
Merge pull request #2968 from kachida/feat/enable-hoverxref-in-trio-docs78666e7
[pre-commit.ci] pre-commit autoupdate ruff-pre-commit: v0.4.3 → v0.4.47dbbac9
[pre-commit.ci] pre-commit autoupdate ruff-pre-commit: v0.4.2 → v0.4.3f0cb052
use code-block instead of code91edf89
Merge remote-tracking branch 'origin/master' into feat/enable-hoverxref-in-tr...5125043
various fixes1bb98ae
Dependency updates (#2995)d39f186
[pre-commit.ci] pre-commit autoupdate (#2994)e1e3eff
Removetest_run_black
(#2993)Updates
tox
from 4.15.0 to 4.15.1Release notes
Sourced from tox's releases.
Changelog
Sourced from tox's changelog.
Commits
079000f
release 4.15.1489ad82
Fix section substitution with setenv (#3289)7317225
AllowConfigSet.add_config
to receive parameterized generics forof_type
....406f808
[pre-commit.ci] pre-commit autoupdate (#3283)5c28d9c
[pre-commit.ci] pre-commit autoupdate (#3279)f4e257c
Fix broad build privileges @ GHA release workflow (#3281)77564a1
Fixed typo in user guide.e2f66b1
[pre-commit.ci] auto fixes from pre-commit.com hooks9afc9cb
[pre-commit.ci] pre-commit autoupdate3db9822
fix skip with package = wheel (#3269)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