Skip to content

chore(deps): update dependency pytest-xdist to v3 (main) - #8045

Open
elastic-renovate-prod[bot] wants to merge 1 commit into
mainfrom
renovate/main-pytest-xdist-3.x-lockfile
Open

chore(deps): update dependency pytest-xdist to v3 (main)#8045
elastic-renovate-prod[bot] wants to merge 1 commit into
mainfrom
renovate/main-pytest-xdist-3.x-lockfile

Conversation

@elastic-renovate-prod

@elastic-renovate-prod elastic-renovate-prod Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
pytest-xdist (changelog) 2.5.03.8.0 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

pytest-dev/pytest-xdist (pytest-xdist)

v3.8.0

Compare Source

===============================

Features

  • #&#8203;1083 <https://github.com/pytest-dev/pytest-xdist/issues/1083>_: Add --no-loadscope-reorder and --loadscope-reorder option to control whether to automatically reorder tests in loadscope for tests where relative ordering matters. This only applies when using loadscope.

    For example, [test_file_1, test_file_2, ..., test_file_n] are given as input test files, if --no-loadscope-reorder is used, for either worker, the test_file_a will be executed before test_file_b only if a < b.

    The default behavior is to reorder the tests to maximize the number of tests that can be executed in parallel.

v3.7.0

Compare Source

===============================

Features

  • #&#8203;1142 <https://github.com/pytest-dev/pytest-xdist/issues/1142>_: Added support for Python 3.13.

  • #&#8203;1144 <https://github.com/pytest-dev/pytest-xdist/issues/1144>_: The internal steal command is now atomic - it unschedules either all requested tests or none.

    This is a prerequisite for group/scope support in the worksteal scheduler, so test groups won't be broken up incorrectly.

  • #&#8203;1170 <https://github.com/pytest-dev/pytest-xdist/issues/1170>_: Add the --px arg to create proxy gateways.

    Proxy gateways are passed to additional gateways using the via keyword.
    They can serve as a way to run multiple workers on remote machines.

  • #&#8203;1200 <https://github.com/pytest-dev/pytest-xdist/issues/1200>_: Now multiple xdist_group markers are considered when assigning tests to groups (order does not matter).

    Previously, only the last marker would assign a test to a group, but now if a test has multiple xdist_group marks applied (for example via parametrization or via fixtures), they are merged to make a new group.

Removals

  • #&#8203;1162 <https://github.com/pytest-dev/pytest-xdist/issues/1162>_: Dropped support for EOL Python 3.8.

Trivial Changes

  • #&#8203;1092 <https://github.com/pytest-dev/pytest-xdist/issues/1092>_: Update an error message to better indicate where users should go for more information.

  • #&#8203;1190 <https://github.com/pytest-dev/pytest-xdist/issues/1190>_: Switched to using a SPDX license identifier introduced in PEP 639.

v3.6.1

Compare Source

===============================

Bug Fixes

  • #&#8203;1071 <https://github.com/pytest-dev/pytest-xdist/issues/1071>_: Add backward compatibility for deadlock issue with the execnet new main_thread_only "execmodel" triggered when pytest-cov accesses rinfo.

v3.6.0

Compare Source

===============================

This release was YANKED due to a regression fixed in 3.6.1.

Features

  • #&#8203;1027 <https://github.com/pytest-dev/pytest-xdist/pull/1027>_:pytest-xdist workers now always execute the tests in the main thread.
    Previously some tests might end up executing in a separate thread other than main in the workers, due to some internal execnet`` details. This can cause problems specially with async frameworks where the event loop is running in the ``main`` thread (for example #​620 #​620`__).

Bug Fixes

  • #&#8203;1024 <https://github.com/pytest-dev/pytest-xdist/issues/1024>_: Added proper handling of shouldstop (such as set by --max-fail) and shouldfail conditions in workers.
    Previously, a worker might have continued executing further tests before the controller could terminate the session.

  • #&#8203;1028 <https://github.com/pytest-dev/pytest-xdist/issues/1028>_: Fixed compatibility issue between looponfail and editable installs.

  • #&#8203;620 <https://github.com/pytest-dev/pytest-xdist/issues/620>_: Use the new main_thread_only execnet "execmodel" so that code which expects to only run in the main thread will now work as expected.

  • #&#8203;937 <https://github.com/pytest-dev/pytest-xdist/issues/937>_: Fixed a bug where plugin would raise an incompatibility error with --pdb despite using -n0.

Removals

  • #&#8203;1053 <https://github.com/pytest-dev/pytest-xdist/issues/1053>_: Dropped support for Python 3.7.

  • #&#8203;1057 <https://github.com/pytest-dev/pytest-xdist/issues/1057>_: pytest>=7.0.0 is now required.

    execnet>=2.1.0 is now required.

Trivial Changes

  • #&#8203;1020 <https://github.com/pytest-dev/pytest-xdist/issues/1020>_: pytest-xdist's setup.py file is removed.

    If you relied on this file, e.g. to install pytest using setup.py install,
    please see Why you shouldn't invoke setup.py directly <https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html#summary>_ for alternatives.

  • #&#8203;1057 <https://github.com/pytest-dev/pytest-xdist/issues/1057>_: The internals of pytest-xdist are now fully typed. The typing is not exposed yet.

  • #&#8203;996 <https://github.com/pytest-dev/pytest-xdist/issues/996>_: Adjusted license file format and content to ensure security scanners will identity the license.

v3.5.0

Compare Source

===============================

Features

  • #&#8203;632 <https://github.com/pytest-dev/pytest-xdist/issues/632>_: --dist=loadscope now sorts scopes by number of tests to assign largest scopes early -- in many cases this should improve overall test session running time, as there is less chance of a large scope being left to be processed near the end of the session, leaving other workers idle.

v3.4.0

Compare Source

===============================

Features

  • #&#8203;963 <https://github.com/pytest-dev/pytest-xdist/issues/963>_: Wait for workers to finish reporting when test run stops early.

    This makes sure that the results of in-progress tests are displayed.
    Previously these reports were being discarded, losing information about the
    test run.

  • #&#8203;965 <https://github.com/pytest-dev/pytest-xdist/issues/965>_: Added support for Python 3.12.

v3.3.1

Compare Source

===============================

Bug Fixes

  • #&#8203;907 <https://github.com/pytest-dev/pytest-xdist/issues/907>_: Avoid remote calls during startup as execnet by default does not ensure remote affinity with the
    main thread and might accidentally schedule the pytest worker into a non-main thread, which breaks numerous frameworks,
    for example asyncio, anyio, PyQt/PySide, etc.

    A more safe correction will require thread affinity in execnet (pytest-dev/execnet#96 <https://github.com/pytest-dev/execnet/issues/96>__).

v3.3.0

Compare Source

===============================

Features

  • #&#8203;555 <https://github.com/pytest-dev/pytest-xdist/issues/555>_: Improved progress output when collecting nodes to be less verbose.

v3.2.1

Compare Source

===============================

Bug Fixes

  • #&#8203;884 <https://github.com/pytest-dev/pytest-xdist/issues/884>_: Fixed hang in worksteal scheduler.

v3.2.0

Compare Source

===============================

Improved Documentation

  • #&#8203;863 <https://github.com/pytest-dev/pytest-xdist/issues/863>_: Document limitations for debugging due to standard I/O of workers not being forwarded. Also, mention remote debugging as a possible workaround.

Features

  • #&#8203;855 <https://github.com/pytest-dev/pytest-xdist/issues/855>_: Users can now configure load scheduling precision using --maxschedchunk command
    line option.

  • #&#8203;858 <https://github.com/pytest-dev/pytest-xdist/issues/858>: New worksteal scheduler, based on the idea of work stealing <https://en.wikipedia.org/wiki/Work_stealing>. It's similar to load scheduler, but it should handle tests with significantly differing duration better, and, at the same time, it should provide similar or better reuse of fixtures.

Trivial Changes

  • #&#8203;870 <https://github.com/pytest-dev/pytest-xdist/issues/870>_: Make the tests pass even when $PYTEST_XDIST_AUTO_NUM_WORKERS is set.

v3.1.0

Compare Source

===============================

Features

  • #&#8203;789 <https://github.com/pytest-dev/pytest-xdist/issues/789>_: Users can now set a default distribution mode in their configuration file:

    .. code-block:: ini

    [pytest]
    addopts = --dist loadscope
    
  • #&#8203;842 <https://github.com/pytest-dev/pytest-xdist/issues/842>_: Python 3.11 is now officially supported.

Removals

  • #&#8203;842 <https://github.com/pytest-dev/pytest-xdist/issues/842>_: Python 3.6 is no longer supported.

v3.0.2

Compare Source

===============================

Bug Fixes

  • #&#8203;813 <https://github.com/pytest-dev/pytest-xdist/issues/813>_: Cancel shutdown when a crashed worker is restarted.

Deprecations

  • #&#8203;825 <https://github.com/pytest-dev/pytest-xdist/issues/825>_: The --rsyncdir command line argument and rsyncdirs config variable are deprecated.

    The rsync feature will be removed in pytest-xdist 4.0.

  • #&#8203;826 <https://github.com/pytest-dev/pytest-xdist/issues/826>_: The --looponfail command line argument and looponfailroots config variable are deprecated.

    The loop-on-fail feature will be removed in pytest-xdist 4.0.

Improved Documentation

  • #&#8203;791 <https://github.com/pytest-dev/pytest-xdist/issues/791>_: Document the pytest_xdist_auto_num_workers hook.

  • #&#8203;796 <https://github.com/pytest-dev/pytest-xdist/issues/796>_: Added known limitations section to documentation.

  • #&#8203;829 <https://github.com/pytest-dev/pytest-xdist/issues/829>_: Document the -n logical option.

Features

  • #&#8203;792 <https://github.com/pytest-dev/pytest-xdist/issues/792>_: The environment variable PYTEST_XDIST_AUTO_NUM_WORKERS can now be used to
    specify the default for -n auto and -n logical.

  • #&#8203;812 <https://github.com/pytest-dev/pytest-xdist/issues/812>_: Partially restore old initial batch distribution algorithm in LoadScheduling.

    pytest orders tests for optimal sequential execution - i. e. avoiding
    unnecessary setup and teardown of fixtures. So executing tests in consecutive
    chunks is important for optimal performance.

    In v1.14, initial test distribution in LoadScheduling was changed to
    round-robin, optimized for the corner case, when the number of tests is less
    than 2 * number of nodes. At the same time, it became worse for all other
    cases.

    For example: if some tests use some "heavy" fixture, and these tests fit into
    the initial batch, with round-robin distribution the fixture will be created
    min(n_tests, n_workers) times, no matter how many other tests there are.

    With the old algorithm (before v1.14), if there are enough tests not using
    the fixture, the fixture was created only once.

    So restore the old behavior for typical cases where the number of tests is
    much greater than the number of workers (or, strictly speaking, when there
    are at least 2 tests for every node).

Removals

  • #&#8203;468 <https://github.com/pytest-dev/pytest-xdist/issues/468>_: The --boxed command-line option has been removed. If you still need this functionality, install pytest-forked <https://pypi.org/project/pytest-forked>__ separately.

Trivial Changes

  • #&#8203;468 <https://github.com/pytest-dev/pytest-xdist/issues/468>_: The py dependency has been dropped.

  • #&#8203;822 <https://github.com/pytest-dev/pytest-xdist/issues/822>_: Replace internal usage of py.log with a custom solution (but with the same interface).

  • #&#8203;823 <https://github.com/pytest-dev/pytest-xdist/issues/823>_: Remove usage of py._pydir as an rsync candidate.

  • #&#8203;824 <https://github.com/pytest-dev/pytest-xdist/issues/824>_: Replace internal usages of py.path.local by pathlib.Path.


Configuration

📅 Schedule: Branch creation - Between 01:00 AM and 01:59 AM, Monday through Friday ( * 1 * * 1-5 ) (UTC), 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.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@elastic-renovate-prod
elastic-renovate-prod Bot requested a review from a team as a code owner August 20, 2026 01:02
@elastic-renovate-prod elastic-renovate-prod Bot added dependencies Pull requests that update a dependency file renovate Team:Security-Cloud-Service Previously Cloud Services team. labels Aug 20, 2026
@elastic-renovate-prod
elastic-renovate-prod Bot force-pushed the renovate/main-pytest-xdist-3.x-lockfile branch from 165b7da to 62361ec Compare August 20, 2026 01:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-skip dependencies Pull requests that update a dependency file renovate Team:Security-Cloud-Service Previously Cloud Services team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants