Better error message for version specifier with missing operator by jmwoliver · Pull Request #13803 · astral-sh/uv (original) (raw)
approved these changes Jun 3, 2025
When missing an operator for version parsing, it would give an error that was hard to know how to fix if you were not familiar with version specifiers:
Unexpected end of version specifier, expected operator
Now, it will attempt to provide a more useful hint if it can parse the version from the remaining scanner:
Unexpected end of version specifier, expected operator (did you mean "==3.12"?)
konstin changed the title
fix: better error message when missing operator in version parsing (#13126) Better error message when missing operator in version parsing
konstin changed the title
Better error message when missing operator in version parsing Better error message for missing operator in version parsing
konstin changed the title
Better error message for missing operator in version parsing Better error message for version specifier with missing operator
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request
This MR contains the following updates:
| Package | Update | Change |
|---|---|---|
| astral-sh/uv | patch | 0.7.7 -> 0.7.13 |
MR created with the help of el-capitano/tools/renovate-bot.
Proposed changes to behavior should be submitted there as MRs.
Release Notes
astral-sh/uv (astral-sh/uv)
v0.7.13
Python
- Add Python 3.14.0b2
- Add Python 3.13.5
- Fix stability of
uuid.getnodeon 3.13
See the
python-build-standalone release notes
for more details.
Enhancements
- Download versions in
uv python pinif not found (#13946) - Use TTY detection to determine if SIGINT forwarding is enabled (#13925)
- Avoid fetching an exact, cached Git commit, even if it isn't locked (#13748)
- Add
zstdanddeflatetoAccept-Encoding(#13982) - Build binaries for riscv64 (#12688)
Bug fixes
- Check if relative URL is valid directory before treating as index (#13917)
- Ignore Python discovery errors during
uv python pin(#13944) - Do not allow
uv add --group ... --script(#13997)
Preview changes
- Build backend: Support namespace packages (#13833)
Documentation
- Add 3.14 to the supported platform reference (#13990)
- Add an
llms.txtto uv (#13929) - Add supported macOS version to the platform reference (#13993)
- Update platform support reference to include Python implementation list (#13991)
- Update pytorch.md (#13899)
- Update the CLI help and reference to include references to the Python bin directory (#13978)
v0.7.12
Enhancements
- Add
uv python pin --rmto remove.python-versionpins (#13860) - Don't hint at versions removed by
excluded-newer(#13884) - Add hint to use
tool.uv.environmentson resolution error (#13455) - Add hint to use
tool.uv.required-environmentson resolution error (#13575) - Improve
python pinerror messages (#13862)
Bug fixes
- Lock environments during
uv sync,uv addanduv removeto prevent race conditions (#13869) - Add
--no-editabletouv exportforpylock.toml(#13852)
Documentation
- List
.gitignorein project init files (#13855) - Move the pip interface documentation into the concepts section (#13841)
- Remove the configuration section in favor of concepts / reference (#13842)
- Update Git and GitHub Actions docs to mention
gh auth login(#13850)
Preview
- Fix directory glob traversal fallback preventing exclusion of all files (#13882)
v0.7.11
Python
- Add Python 3.14.0b1
- Add Python 3.13.4
- Add Python 3.12.11
- Add Python 3.11.13
- Add Python 3.10.18
- Add Python 3.9.23
Enhancements
- Add Pyodide support (#12731)
- Better error message for version specifier with missing operator (#13803)
Bug fixes
- Downgrade
reqwestandhyper-utilto resolve connection reset errors over IPv6 (#13835) - Prefer
uv's binary's version when checking if it's up to date (#13840)
Documentation
- Use "terminal driver" instead of "shell" in
SIGINTdocs (#13787)
v0.7.10
Enhancements
- Add
--show-extrastouv tool list(#13783) - Add dynamically generated sysconfig replacement mappings (#13441)
- Add data locations to install wheel logs (#13797)
Bug fixes
- Avoid redaction of placeholder
gitusername when using SSH authentication (#13799) - Propagate credentials to files on devpi indexes ending in
/+simple(#13743) - Restore retention of credentials for direct URLs in
uv export(#13809)
v0.7.9
Python
The changes reverted in 0.7.8 have been restored.
See the
python-build-standalone release notes
for more details.
Enhancements
- Improve obfuscation of credentials in URLs (#13560)
- Allow running non-default Python implementations via
uvx(#13583) - Add
uvwas alias foruvwithout console window on Windows (#11786) - Allow discovery of x86-64 managed Python builds on macOS (#13722)
- Differentiate between implicit vs explicit architecture requests (#13723)
- Implement ordering for Python architectures to prefer native installations (#13709)
- Only show the first match per platform (and architecture) by default in
uv python list(#13721) - Write the path of the parent environment to an
extends-environmentkey in thepyvenv.cfgfile of an ephemeral environment (#13598) - Improve the error message when libc cannot be found, e.g., when using the distroless containers (#13549)
Performance
- Avoid rendering info log level (#13642)
- Improve performance of
uv-pythoncrate's manylinux submodule (#11131) - Optimize
Versiondisplay (#13643) - Reduce number of reference-checks for
uv cache clean(#13669)
Bug fixes
- Avoid reinstalling dependency group members with
--all-packages(#13678) - Don't fail direct URL hash checking with dependency metadata (#13736)
- Exit early on
self updateif global--offlineis set (#13663) - Fix cases where the uv lock is incorrectly marked as out of date (#13635)
- Include pre-release versions in
uv python install --reinstall(#13645) - Set
LC_ALL=Cfor git when checking git worktree (#13637) - Avoid rejecting Windows paths for remote Python download JSON targets (#13625)
Preview
- Add
uv add --boundsto configure version constraints (#12946)
Documentation
- Add documentation about Python versions to Tools concept page (#7673)
- Add example of enabling Dependabot (#13692)
- Fix
exclude-newerdate format for persistent configuration files (#13706) - Quote versions variables in GitLab documentation (#13679)
- Update Dependabot support status (#13690)
- Explicitly specify to add a new repo entry to the repos list item in the
.pre-commit-config.yaml(#10243) - Add integration with marimo guide (#13691)
- Add pronunciation to README (#5336)
v0.7.8
Python
We are reverting most of our Python changes from uv 0.7.6 and uv 0.7.7 due to
a miscompilation that makes the Python interpreter behave incorrectly, resulting
in spurious type-errors involving str. This issue seems to be isolated to
x86_64 Linux, and affected at least Python 3.12, 3.13, and 3.14.
The following changes that were introduced in those versions of uv are temporarily being reverted while we test and deploy a proper fix for the miscompilation:
- Add Python 3.14 on musl
- free-threaded Python on musl
- Add Python 3.14.0a7
- Statically link
libpythoninto the interpreter on Linux for a significant performance boost
Documentation
- Remove misleading line in pin documentation (#13611)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this MR and you won't be reminded about this update again.
- If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
[ Show hidden characters]({{ revealButtonHref }})