Skip to content

🐛 fix(uv): match patch installs to minor specs - #227

Merged
gaborbernat merged 1 commit into
tox-dev:mainfrom
gaborbernat:bug/iq3hsnnr-uv-patch-filter
Nov 3, 2026
Merged

gaborbernat merged 1 commit into
tox-dev:mainfrom
gaborbernat:bug/iq3hsnnr-uv-patch-filter

Conversation

@gaborbernat

Copy link
Copy Markdown
Member

_uv_version_matches() rejected a uv-managed Python 3.11.2 for ==3.11 before probing it, although the same binary matched when found on PATH. The filter now compares each bound at the precision written in the request. Fixes #195.

uv store version filter

The old filter passed the full patch version to SimpleSpecifierSet.contains(), which treats ==3.11 and 3.11.2 as different. After probing, PythonInfo._satisfies_version_specifier() checks the candidate at each bound's precision. The uv filter now uses that rule before rejecting an install.

Behavior changes

A minor-version bound can select a matching patch release from the uv store. Explicit patch bounds still check the full release, and prerelease bounds retain their suffix.

Reported by Anthropic's OSS Scanner: ANT-2026-IQ3HSNNR.

@gaborbernat gaborbernat added the bug Something isn't working label Nov 3, 2026
@gaborbernat
gaborbernat enabled auto-merge (squash) November 3, 2026 02:02
@gaborbernat
gaborbernat merged commit f8118d7 into tox-dev:main Nov 3, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

uv store filtering rejects a matching patch release

1 participant