Skip to content

Bump the python-minor-and-patch group with 8 updates - #41

Merged
github-actions[bot] merged 1 commit into
mainfrom
dependabot/uv/python-minor-and-patch-e9b7cc197c
Nov 9, 2026
Merged

github-actions[bot] merged 1 commit into
mainfrom
dependabot/uv/python-minor-and-patch-e9b7cc197c

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 9, 2026

Copy link
Copy Markdown
Contributor

Bumps the python-minor-and-patch group with 8 updates:

Package From To
ruff 0.17.2 0.17.3
pydoclint 0.11.1 0.12.0
pytest 9.1.1 9.2.0
filelock 4.2.4 4.2.7
nodeenv 1.11.0 1.12.0
platformdirs 4.13.5 4.14.3
python-discovery 1.6.4 1.9.1
virtualenv 21.14.13 21.15.2

Updates ruff from 0.17.2 to 0.17.3

Release notes

Sourced from ruff's releases.

0.17.3

Release Notes

Released on 2026-10-26.

Preview features

  • [suspicious] Add shared-clock-mock (#29074)

Bug fixes

  • [pyupgrade] Avoid incorrect conversions to f-strings (UP032) (#25485)

Performance

  • Buffer stdout in ruff format (#29631)
  • Specialize ASCII identifier lexing (#29503)
  • Speed up identifier and keyword lexing (#29463)

Documentation

  • [flake8-bandit] Describe what the rule actually checks for httpx (S113) (#27936)

Contributors

Install ruff 0.17.3

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.17.3/ruff-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ruff/releases/download/0.17.3/ruff-installer.ps1 | iex"

Download ruff 0.17.3

File Platform Checksum
ruff-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
ruff-x86_64-apple-darwin.tar.gz Intel macOS checksum
ruff-aarch64-pc-windows-msvc.zip ARM64 Windows checksum

... (truncated)

Changelog

Sourced from ruff's changelog.

0.17.3

Released on 2026-10-26.

Preview features

  • [suspicious] Add shared-clock-mock (#29074)

Bug fixes

  • [pyupgrade] Avoid incorrect conversions to f-strings (UP032) (#25485)

Performance

  • Buffer stdout in ruff format (#29631)
  • Specialize ASCII identifier lexing (#29503)
  • Speed up identifier and keyword lexing (#29463)

Documentation

  • [flake8-bandit] Describe what the rule actually checks for httpx (S113) (#27936)

Contributors

Commits

Updates pydoclint from 0.11.1 to 0.12.0

Release notes

Sourced from pydoclint's releases.

0.12.0

What's Changed

New Contributors

Full Changelog: jsh9/pydoclint@0.11.1...0.12.0

Changelog

Sourced from pydoclint's changelog.

[0.12.0] - 2026-10-28

  • Added
    • A docs section on which return annotations count as generators or iterators
  • Changed
    • Generator, Iterator, and Iterable return annotations are now recognized by the last name in the annotation's AST instead of by matching the annotation text, so qualified names such as typing.Generator[...], collections.abc.Iterator[...], and t.Iterable[...] are recognized too (#317)
    • Iterator and Iterable annotations are matched by exact name instead of by prefix, so names like IterableDataset are no longer treated as iterators
    • Union annotations, such as Iterator[int] | None or Iterator[int] | list[int], are no longer recognized as iterator or generator annotations
    • Imports are not resolved: np.random.Generator is treated like typing.Generator, and renamed imports such as from typing import Iterator as It are still not recognized
  • Full diff
Commits

Updates pytest from 9.1.1 to 9.2.0

Release notes

Sourced from pytest's releases.

9.2.0

pytest 9.2.0 (2026-10-27)

Removals and backward incompatible breaking changes

  • #14716: -c now raises a usage error for a path that does not exist, is a directory, or is in a format pytest has no loader for. Such paths were previously either ignored or reported as an unhandled FileNotFoundError.

  • #8593: The indirect, ids and scope arguments of Metafunc.parametrize() <pytest.Metafunc.parametrize> -- and therefore of @pytest.mark.parametrize <pytest.mark.parametrize ref> -- are now keyword-only.

    Passing them positionally was a common source of confusing errors, e.g. parametrize("arg1", "arg2", [(1, 2)]) made the argvalues land in indirect and failed with indirect fixture '(1, 2)' doesn't exist; such mistakes now fail with an understandable TypeError. The type annotations have always declared these arguments as keyword-only.

  • #993: Plugin import failures at startup are now reported and classified instead of escaping as a raw traceback with the accidental exit code 1:

    • a plugin that cannot be found -- via -p, pytest_plugins or PYTEST_PLUGINS -- exits with pytest.ExitCode USAGE_ERROR (4), like a conftest.py that fails to import;
    • a plugin that is found but raises while importing -- including a broken pytest11 entry point or a missing plugin dependency -- exits with pytest.ExitCode INTERNAL_ERROR (3), with the traceback preserved.

    pytest.main now returns these codes instead of raising ImportError. Also fixed an IndexError from pytest's own internals when the plugin raised an exception with no arguments.

Deprecations (removal in next major release)

  • #14742: The private _pytest.python.CallSpec2 name has been renamed to CallSpec. The old CallSpec2 alias remains available for now and will be removed in pytest 10 or 11.

  • #14755: Schedule yield_fixture decorator for removal in pytest 10 or 11.

  • #14774: Similarly to the deprecation of class-scoped fixtures defined as instance methods in pytest 9.1, all higher-scoped fixtures (module, package, and session) defined as instance methods are now deprecated.

    They suffer from the same issue the original deprecation only fixed for class-scoped fixtures, see 10819 and 14011.

  • #14808: Passing a non-string value to a string-typed ini option now emits a pytest.PytestRemovedIn10Warning. This affects [tool.pytest.ini_options] in pyproject.toml. In pytest 10 this will raise a TypeError, matching the behavior of the corresponding TOML config path.

  • #7323: Passing bytes to TerminalReporter.write_line() is now deprecated, pass a str instead.

New features

  • #14743: Full diff: now contains a legend explaining the + & - symbols in diff output.
  • #2781: When strict_markers is enabled, marker names used in -m expressions are now validated against registered markers.
  • #6881: Added the parametrize_long_str_id_strategy configuration option to control how long str/bytes parameter values are handled in auto-generated test IDs. Explicit IDs set via ids=[...] or pytest.param(..., id=...) are not affected. Available strategies: short (default, values over 100 chars fall back to argname+index), sha256 (SHA-256 hex digest), legacy (keep full value), and disallow (error requesting explicit IDs).

Improvements in existing functionality

  • #10745: A RecursionError whose recursion origin cannot be located now shows only the first and last 10 stack frames, matching what pytest already did when locating the origin failed outright. Previously the full traceback -- often around a thousand near-identical frames -- was rendered, which was both slow and unreadable. Pass --full-trace to see every frame.

... (truncated)

Commits
  • ae1d0ff Prepare release version 9.2.0
  • 143ce31 pre-commit: exclude codespell on generated release announcements
  • 532dc5f tox: add attrs dependency to regen, needed in reportingdemo.rst
  • a7b2446 Merge pull request #15245 from pytest-dev/claude/project-thread-9jcf91
  • 679d09c [pre-commit.ci] pre-commit autoupdate (#15266)
  • 41d12cd docs: clarify typing for yield fixtures
  • b9022ba Merge pull request #15182 from 1871698/docs/improve-getting-started-description
  • 16f87a7 docs: improve getting-started.rst test execution description
  • 082ed70 Merge pull request #15255 from pytest-dev/claude/project-thread-eoi3d6
  • ae37a01 Merge pull request #15227 from pytest-dev/claude/project-thread-4etye4
  • Additional commits viewable in compare view

Updates filelock from 4.2.4 to 4.2.7

Release notes

Sourced from filelock's releases.

4.2.7

Bug fixes

  • A SoftFileLease reclaims a dead holder's lease marker even when that holder published another lease_duration. It used to raise LeaseSettingsMismatch on every attempt instead, so after a holder crashed and its peers restarted with a changed duration the lock stayed wedged until force_break(). A live holder with another duration still raises (#900) by @​dxbjavid and @​gaborbernat.

PyPI release

Full Changelog

4.2.6

Bug fixes

  • Fix a race in SoftFileLock, MarkerSoftFileLock and SoftFileLease when three or more contenders reclaim a dead marker. The race could strand a live holder's marker under a break name, leaving the lock unusable or admitting a second holder. Contenders now recheck the marker before exchanging names and unwind nested exchanges in order. If the filesystem refuses a return exchange, the contender leaves its marker at the lock path for later recovery (#899) by @​dxbjavid and @​gaborbernat.

PyPI release

Full Changelog

4.2.5

Bug fixes

  • acquire and acquire raise TypeError for a blocking that is not a bool, as the constructor and the blocking setter already do. A truthy value such as the string "false" used to count as True, so a call meant as a single attempt waited for the instance's timeout, and without a limit at the default -1 (#870) by @​simpleqt and @​gaborbernat.
  • A SoftFileLock acquisition whose first read of its new marker's identity failed reads it again before rolling back. On Windows the rollback could otherwise not recognize the marker it had created, and the empty marker it left blocked the path for every later acquisition, since no contender breaks an empty marker (#869) by @​simpleqt and @​gaborbernat.
  • A fork() child of a process holding a SoftFileLease starts from an unheld claim. It used to inherit the parent's token, last compromise and heartbeat, so token and compromise reported a claim the child never held while is_locked reported it unheld (#868) by @​dxbjavid and @​gaborbernat.
  • A nested acquire of a held FileLock or SoftFileLock no longer creates the lock file's parent directory. After a rename of that directory during the hold, the nested acquire recreated the old name, and when a file had taken the name it raised FileExistsError and left the hold's recursion count incremented (#878) by @​0x5t4l1n and @​gaborbernat.
  • Fix ReadWriteLock failing every acquire with "link directory ... was replaced while opening" in a group-writable directory whose inherited ACL, such as an NFSv4 one on ZFS, opens the link directory to the group. The lock now closes the empty link directory to its owner, and where the filesystem refuses that, such as ZFS with aclmode=restricted, it names the directory to make writable by its owner only (#898) by @​gaborbernat.
  • Fix SoftFileLock, MarkerSoftFileLock and SoftFileLease raising OverflowError out of acquire(), or never reclaiming a dead holder's lock, when a stranded restore claim beside the lock names a process number outside 1..2**31-1 or spells it in non-ASCII digits. Such a claim is now ignored, as no filelock writes one (#871) by @​dxbjavid and @​gaborbernat.
  • Fix soft locks on Windows keeping the marker of a holder that has exited while another process still holds a handle to it, such as a parent's subprocess.Popen after wait() or multiprocessing.Process after join(). Acquiring such a lock with the default timeout=-1 waited forever (#874) by @​nk-batman21.
  • Fix the read-only reopen of a lock file this account cannot write resolving a relative path against the working directory of the moment. A chdir between the refused O_RDWR open and the reopen made the acquisition wait on a file that is not there, or probe one in another directory. The reopen now uses the path the acquisition pinned (#889) by @​dxbjavid and @​gaborbernat.
  • Handle EMLINK, the error FreeBSD reports when a no-follow open refuses a symlink, in a soft reader/writer lock's protocol tree, so heartbeat reports lost ownership there rather than a transient refresh error (#866) by @​pacocartones and @​gaborbernat.
  • Resolving ReadWriteLock or AsyncReadWriteLock raises the ImportError when a module other than Python's sqlite3 is missing, as in a frozen application that left out a filelock submodule. The names are None only without SQLite (#880) by @​pintu544 and @​gaborbernat.

Documentation

Packaging

  • Releases now run on the shared tox-dev/github-workflows pipeline, with a locked release toolchain and generated GitHub Release notes (#885) by @​gaborbernat.

... (truncated)

Changelog

Sourced from filelock's changelog.

########### Changelog ###########

.. towncrier-draft-entries:: Unreleased

.. towncrier release notes start

.. _release-4-2-10:


4.2.10 (2026-11-09)


.. _release-4-2-10-fixed:

Fixed

  • Contended :class:~filelock.FileLock and :class:~filelock.SoftFileLock acquisitions now raise :class:~filelock.Timeout when elapsed time reaches the requested timeout. A clock that landed exactly on the deadline previously left a waiter retrying with zero-length sleeps indefinitely (:pr:922) by :user:gaborbernat.

.. _release-4-2-10-packaging:

Packaging

  • Every wheel now carries a PEP 770 <https://peps.python.org/pep-0770/>_ CycloneDX SBOM in its .dist-info/sboms directory, written at build time by python-sbom <https://github.com/tox-dev/python-sbom>_ (:pr:921) by :user:gaborbernat.

.. _release-4-2-9:


4.2.9 (2026-11-04)


.. _release-4-2-9-fixed:

Fixed

  • :class:~filelock.ReadWriteLock, :class:~filelock.SoftReadWriteLock and their async wrappers now raise :class:TypeError for a blocking that is not a :class:bool, in the constructor and on acquire, as :class:~filelock.FileLock already does. Before, blocking=0 waited out the full timeout on a contended :class:~filelock.ReadWriteLock while blocking=False failed at once, and a truthy value such as "false" turned a single attempt into a blocking wait (:pr:908) by :user:abhishekcpp007 and :user:gaborbernat.

.. _release-4-2-8:

... (truncated)

Commits
  • 5fd486b release 4.2.7
  • ff84735 🐛 fix(lease): reclaim dead holders after duration changes (#900)
  • f71acb1 release 4.2.6
  • 77eb01a 🐛 fix(soft): restore raced stale markers (#899)
  • b0cc007 release 4.2.5
  • 21bc250 🐛 fix(rw): close a link directory an ACL opened (#898)
  • 715a8de 📝 docs(security): add a threat model and align the policy (#896)
  • b0f1b73 🧪 test: tolerate a preloaded sqlite3 (#894)
  • a2e26ac 🧪 test: count descriptors behind an incomplete /dev/fd (#877)
  • 160141c 🐛 fix(import): raise for a missing read-write module (#880)
  • Additional commits viewable in compare view

Updates nodeenv from 1.11.0 to 1.12.0

Release notes

Sourced from nodeenv's releases.

1.12.0

What's Changed

New Features 🎉

Fixed bugs 🐛

Improvements 🛠

Documentation 📄

Other Changes

New Contributors

Full Changelog: ekalinin/nodeenv@1.11.1...1.12.0

1.11.1

What's Changed

Fixed bugs 🐛

1.11.1 is 1.11.0 plus this fix only. nodejs.org now lists 27.0.0-alpha.0.0.0 first, and nodeenv stopped with a traceback when it used the default latest or a semver range (#453).

Full Changelog: ekalinin/nodeenv@1.11.0...1.11.1

Changelog

Sourced from nodeenv's changelog.

Version 1.12.0

  • --print-completion SHELL prints a completion script for bash, zsh or fish. It needs shtab, installed with pip install "nodeenv[completion]" [#351](https://github.com/ekalinin/nodeenv/issues/351) <https://github.com/ekalinin/nodeenv/issues/351>_
  • --prebuilt installs no longer fail when the environment path or the node.js version contains [, * or ? [#441](https://github.com/ekalinin/nodeenv/issues/441) <https://github.com/ekalinin/nodeenv/issues/441>_
  • On Windows, Cygwin and MSYS the node.js zip archive is extracted 32 files at a time instead of one by one, so a security scanner that checks every new file no longer makes the install wait for each file in turn. --no-parallel-extract, or parallel_extract = False in ~/.nodeenvrc, extracts it one file at a time again [#366](https://github.com/ekalinin/nodeenv/issues/366) <https://github.com/ekalinin/nodeenv/issues/366>_
  • --prebuilt installs no longer mistake a cached source tree for a prebuilt archive, or fail when both trees remain in src/ [#443](https://github.com/ekalinin/nodeenv/issues/443) <https://github.com/ekalinin/nodeenv/issues/443>_
  • activate.fish restores the caller's NODE_PATH and npm configuration on deactivation, including empty values and when NODE_VIRTUAL_ENV has been removed. Existing environments keep their old activate.fish; recreate them with the same options to get the fix. With -p, remove the old nodeenv part from the virtualenv's activate.fish first [#399](https://github.com/ekalinin/nodeenv/issues/399) <https://github.com/ekalinin/nodeenv/issues/399>_
  • A % in a [nodeenv] config value, such as a percent-encoded mirror login, no longer crashes nodeenv: a value that can't be interpolated and has no %(name)s reference is read as written. %% still gives %, which setup.cfg needs, as setuptools reads that file too [#440](https://github.com/ekalinin/nodeenv/issues/440) <https://github.com/ekalinin/nodeenv/issues/440>_
  • nodeenv -p no longer puts the python venv's bin directory on PATH a second time: the venv's own activate and activate.fish put it there already. Envs without those scripts, such as conda envs, and the git-bash activate on Windows keep it, and running nodeenv -p again fixes an existing venv [#332](https://github.com/ekalinin/nodeenv/issues/332) <https://github.com/ekalinin/nodeenv/issues/332>_
  • Require Python 3.10 or later, matching the minimum version tested in CI. Update package classifiers and wheel tags, and remove the unused Python 2 compatibility paths. Old Node.js source builds still require Python 2.7 as their build interpreter [#436](https://github.com/ekalinin/nodeenv/issues/436) <https://github.com/ekalinin/nodeenv/issues/436>_
  • --source builds of node.js 13 and later no longer need a python2 command; 8.8 to 12.x still need one but point python at it on their own, so the python to python2 link in PATH is only set up for older versions, and versions before 13 still fail early with a clear error when python2 is missing [#419](https://github.com/ekalinin/nodeenv/issues/419) <https://github.com/ekalinin/nodeenv/issues/419>_
  • The node.js archive download also retries when the connection is reset or times out in the middle of the body, pauses between the attempts and ends with an error message instead of a traceback when all of them fail; a server that stops answering is given up on after 60 seconds instead of

... (truncated)

Commits
  • cb7fc97 chore(release): bump nodeenv version to 1.12.0 (#461)
  • c2e21d0 fix(nodeenv): raise on bad config references again (#458)
  • 0fd263f feat(nodeenv): print shell completion scripts with shtab (#460)
  • e1e016b fix(nodeenv): escape glob characters in prebuilt paths (#447)
  • ac28019 perf(nodeenv): unpack the node.js zip archive in parallel (#459)
  • 0e30103 fix(nodeenv): ignore source trees during prebuilt installs (#450)
  • 02f4ce3 fix(nodeenv): read a config value raw when interpolation fails (#449)
  • 2226040 fix(nodeenv): preserve fish activation environment (#431)
  • e27db1e docs(changes): move the #453 entry under 1.11.1 (#455)
  • 8dee9f3 fix(nodeenv): skip node.js pre-releases for latest and ranges (#454)
  • Additional commits viewable in compare view

Updates platformdirs from 4.13.5 to 4.14.3

Release notes

Sourced from platformdirs's releases.

4.14.3

Bug fixes

New Contributors

PyPI release

Full Changelog

4.14.2

Bug fixes

New Contributors

PyPI release

Full Changelog

4.14.0

Features

  • Accept a keyword-only ensure_exists in the module-level media directory functions, such as user_documents_path, to create a directory set through XDG_*_DIR or user-dirs.dirs (#656) by @​darrenhuai and @​gaborbernat.

Bug fixes

  • Return the media and fonts directories under root's home for root with use_site_for_root, ignoring the invoking user's XDG_*_DIR, user-dirs.dirs and XDG_DATA_HOME, and create no inherited media directory under ensure_exists (#661) by @​gaborbernat.
  • Raise ValueError from site_data_dir and site_config_dir under multipath=True when appname or version contains os.pathsep, rather than returning a string that splits into a directory outside the site base (#662) by @​gaborbernat.
  • Parse an unquoted user-dirs.dirs value with a long run of blanks in linear time, rather than in time quadratic in the run's length on every Unix media directory lookup (#663) by @​gaborbernat.
  • Treat a relative HOME as unset on Unix, macOS and iOS, taking the home from the password database or raising RuntimeError, rather than resolving user directories against the working directory (#664) by @​gaborbernat.
  • Refuse a symlink as XDG_RUNTIME_DIR in user_runtime_dir when the value ends with / or /., which made the check follow the link (#665) by @​gaborbernat.
  • Redirect user_*_dir calls with use_site_for_root=True when the effective uid is 0, so a setuid-root process gets the site directories, and name and check the runtime directory by the effective uid (#666) by @​gaborbernat.
  • Apply the XDG_RUNTIME_DIR check of the Unix user_runtime_dir to the macOS one, so it no longer uses a directory that is a symlink, owned by another user or not mode 0700 (#667) by @​gaborbernat.
  • Reject an XDG_RUNTIME_DIR below a parent that another user can replace, such as their own entry in /tmp, instead of creating the runtime directory through it (#668) by @​gaborbernat.
  • Stop accepting a Unix runtime directory that another user creates between the owner check and its use: ensure_exists and place_runtime_file create it before checking it, and find_runtime_file checks it again after a hit (#669) by @​gaborbernat.

... (truncated)

Changelog

Sourced from platformdirs's changelog.

########### Changelog ###########

.. towncrier-draft-entries:: Unreleased

.. towncrier release notes start

.. _release-4-14-5:


4.14.5 (2026-11-04)


.. _release-4-14-5-fixed:

Fixed

  • Resolve the temporary :func:~platformdirs.user_runtime_dir fallback to /runtime-<uid> instead of //runtime-<uid> when the temporary directory is / (:pr:687) by :user:darrenhuai and :user:gaborbernat.

.. _release-4-14-4:


4.14.4 (2026-11-04)


.. _release-4-14-3:


4.14.3 (2026-11-01)


.. _release-4-14-3-fixed:

Fixed

  • Preserve trailing whitespace in absolute XDG directory values instead of resolving a different directory (:pr:679) by :user:mikegit123git and :user:gaborbernat.

.. _release-4-14-2:


4.14.2 (2026-10-31)


.. _release-4-14-2-fixed:

... (truncated)

Commits

Updates python-discovery from 1.6.4 to 1.9.1

Release notes

Sourced from python-discovery's releases.

v1.9.1

Bug fixes

  • List free-threaded and debug builds on PATH, such as python3.13t, python3.13d and python3.13-dbg, when iter_interpreters() runs with no spec, as it already did for uv's +freethreaded and +debug installs (#181) by @​darrenhuai and @​gaborbernat.
  • Reuse preferred interpreter paths supplied as an iterator when trying multiple interpreter specifications (#180) by @​subotac and @​gaborbernat.
  • Stop PythonInfo.system_include reporting the interpreter's prefix as the include directory when the C headers are not installed, which happened on Python 3.11 and later and on Debian's 3.10; the missing sysconfig include path is returned instead (#182) by @​darrenhuai and @​gaborbernat.

New Contributors

PyPI release

Full Changelog

v1.9.0

Features

  • Expose the 11 marker keys through MarkerEnvironment for callers that type-check PythonInfo.marker_environment (#179) by @​gaborbernat.

PyPI release

Full Changelog

v1.8.0

Features

  • Expose the selected interpreter's dependency marker values as PythonInfo.marker_environment (#178) by @​gaborbernat.

PyPI release

Full Changelog

v1.7.0

Features

  • Accept the free-threaded, debug, architecture and machine suffixes after a version specifier, as in >=3.13t or cpython>=3.11,<3.14-64, and raise ValueError for a spec that starts with a comparison operator but does not parse, such as >=3.13., instead of looking it up as an executable name (#176) by @​gaborbernat. (#175)

Bug fixes

... (truncated)

Changelog

Sourced from python-discovery's changelog.

################# Release History #################

.. towncrier-draft-entries::

.. towncrier release notes start

.. _release-1-9-5:


v1.9.5 (2026-11-06)


.. _release-1-9-5-fixed:

Fixed

  • :func:~python_discovery.iter_interpreters with no key no longer probes PATH directories or subdirectories named like Python executables as interpreters (:pr:247) by :user:qodelicious and :user:gaborbernat.
  • PythonSpec.satisfies now checks a version specifier at the precision it was written with, so 3.11 no longer satisfies >=3.13. The Windows registry pre-filter skips mismatched releases and interrogates candidates whose prerelease status is unknown (:pr:246) by :user:qodelicious and :user:gaborbernat.

.. _release-1-9-4:


v1.9.4 (2026-11-04)


.. _release-1-9-3:


v1.9.3 (2026-11-03)


.. _release-1-9-3-fixed:

Fixed

  • Reject generic Python executables when a requested implementation is unavailable (:pr:239) by :user:gaborbernat. (:issue:238)

.. _release-1-9-2:


v1.9.2 (2026-11-03)


... (truncated)

Commits
  • f07e530 release 1.9.1
  • 0277327 🐛 fix(discovery): reuse preferred paths across specs (#180)
  • 43d9deb 🐛 fix(spec): enumerate free-threaded and debug builds on PATH (#181)
  • ec38506 🐛 fix(py_info): report missing include paths (#182)
  • 801281d release 1.9.0
  • fa77baf ✨ feat(py_info): type marker keys (#179)
  • 3c0cd49 release 1.8.0
  • ebcd41f ✨ feat(py_info): expose marker environment (#178)
  • edfaf72 release 1.7.0
  • Description has been truncated

Bumps the python-minor-and-patch group with 8 updates:

| Package | From | To |
| --- | --- | --- |
| [ruff](https://github.com/astral-sh/ruff) | `0.17.2` | `0.17.3` |
| [pydoclint](https://github.com/jsh9/pydoclint) | `0.11.1` | `0.12.0` |
| [pytest](https://github.com/pytest-dev/pytest) | `9.1.1` | `9.2.0` |
| [filelock](https://github.com/tox-dev/filelock) | `4.2.4` | `4.2.7` |
| [nodeenv](https://github.com/ekalinin/nodeenv) | `1.11.0` | `1.12.0` |
| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.13.5` | `4.14.3` |
| [python-discovery](https://github.com/tox-dev/python-discovery) | `1.6.4` | `1.9.1` |
| [virtualenv](https://github.com/pypa/virtualenv) | `21.14.13` | `21.15.2` |


Updates `ruff` from 0.17.2 to 0.17.3
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.17.2...0.17.3)

Updates `pydoclint` from 0.11.1 to 0.12.0
- [Release notes](https://github.com/jsh9/pydoclint/releases)
- [Changelog](https://github.com/jsh9/pydoclint/blob/main/CHANGELOG.md)
- [Commits](jsh9/pydoclint@0.11.1...0.12.0)

Updates `pytest` from 9.1.1 to 9.2.0
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@9.1.1...9.2.0)

Updates `filelock` from 4.2.4 to 4.2.7
- [Release notes](https://github.com/tox-dev/filelock/releases)
- [Changelog](https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst)
- [Commits](tox-dev/filelock@4.2.4...4.2.7)

Updates `nodeenv` from 1.11.0 to 1.12.0
- [Release notes](https://github.com/ekalinin/nodeenv/releases)
- [Changelog](https://github.com/ekalinin/nodeenv/blob/master/CHANGES)
- [Commits](ekalinin/nodeenv@1.11.0...1.12.0)

Updates `platformdirs` from 4.13.5 to 4.14.3
- [Release notes](https://github.com/tox-dev/platformdirs/releases)
- [Changelog](https://github.com/tox-dev/platformdirs/blob/main/docs/changelog.rst)
- [Commits](tox-dev/platformdirs@4.13.5...4.14.3)

Updates `python-discovery` from 1.6.4 to 1.9.1
- [Release notes](https://github.com/tox-dev/python-discovery/releases)
- [Changelog](https://github.com/tox-dev/python-discovery/blob/main/docs/changelog.rst)
- [Commits](tox-dev/python-discovery@1.6.4...1.9.1)

Updates `virtualenv` from 21.14.13 to 21.15.2
- [Release notes](https://github.com/pypa/virtualenv/releases)
- [Changelog](https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst)
- [Commits](pypa/virtualenv@21.14.13...21.15.2)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.17.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-minor-and-patch
- dependency-name: pydoclint
  dependency-version: 0.12.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: pytest
  dependency-version: 9.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: filelock
  dependency-version: 4.2.7
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: python-minor-and-patch
- dependency-name: nodeenv
  dependency-version: 1.12.0
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: platformdirs
  dependency-version: 4.14.3
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: python-discovery
  dependency-version: 1.9.1
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: virtualenv
  dependency-version: 21.15.2
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Nov 9, 2026
@github-actions
github-actions Bot enabled auto-merge (squash) November 9, 2026 19:09
@github-actions
github-actions Bot merged commit 9ea082c into main Nov 9, 2026
15 checks passed
@dependabot
dependabot Bot deleted the dependabot/uv/python-minor-and-patch-e9b7cc197c branch November 9, 2026 19:12
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:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants