chore(deps): update dependency uv_build to >=0.12.1,<0.13.0 #20
Open
renovate-bot
wants to merge 1 commit from
renovate/uv_build-0.x into main
pull from: renovate/uv_build-0.x
merge into: ops:main
ops:main
ops:renovate/ghcr.io-paperless-ngx-paperless-ngx-3.x
ops:renovate/ghcr.io-remsky-kokoro-fastapi-gpu-0.x
ops:renovate/ghcr.io-perfectra1n-kubesearch-mcp-1.x
ops:renovate/ghcr.io-atuinsh-atuin-18.x
ops:renovate/docker.io-binwiederhier-ntfy-2.x
ops:renovate/forgejo-1.x-lockfile
ops:renovate/registry.erwanleboucher.dev-eleboucher-charts-memini-0.x
ops:renovate/ghcr.io-siderolabs-installer-1.13.x
ops:renovate/ghcr.io-scanopy-scanopy-server-0.x
ops:renovate/crowci-0.x-lockfile
ops:renovate/quay.io-jetstack-charts-cert-manager-1.x
ops:renovate/loki-7.x
ops:renovate/gitlab-10.x
ops:renovate/ghcr.io-rommapp-romm-5.x
ops:renovate/quay.io-thanos-thanos-0.x
ops:renovate/plugin-barman-cloud-0.x
ops:renovate/cilium-1.x
ops:renovate/open-webui-15.x
ops:renovate/ghcr.io-siderolabs-charts-talos-cloud-controller-manager-0.x
ops:renovate/code.forgejo.org-forgejo-helm-forgejo-17.x
ops:renovate/ghcr.io-stacklok-toolhive-toolhive-operator-crds-0.x
ops:renovate/ghcr.io-stacklok-toolhive-toolhive-operator-0.x
ops:renovate/nvidia-gpu-exporter-2.x
ops:renovate/ghcr.io-diced-zipline-4.x
ops:renovate/sentry-33.x
ops:renovate/kube-prometheus-stack-87.x
ops:renovate/ghcr.io-mogenius-helm-charts-renovate-operator-5.x
ops:renovate/ghcr.io-controlplaneio-fluxcd-charts-flux-operator-0.x
ops:renovate/ghcr.io-home-operations-kromgo-0.x
ops:renovate/ghcr.io-home-operations-charts-echo-0.x
ops:renovate/ghcr.io-usememos-memos-0.x
ops:renovate/ghcr.io-helmforgedev-helm-kubernetes-mcp-server-1.x
ops:renovate/codefloe.com-crowci-crow-2.x
ops:renovate/altinity-clickhouse-operator-0.x
ops:renovate/ghcr.io-siderolabs-kubelet-1.x
ops:renovate/ghcr.io-siderolabs-kubelet-1.34.x
ops:renovate/mirror.gcr.io-envoyproxy-gateway-helm-1.x
ops:renovate/mail-5.x
ops:renovate/kubernetes.core-6.x
ops:renovate/ghcr.io-goauthentik-server-2026.x
ops:renovate/reloader-2.x
ops:renovate/metrics-server-3.x
ops:renovate/cert-manager-webhook-pdns-3.x
ops:renovate/bluesky-pds-0.x
ops:renovate/ghcr.io-sysadminsmedia-homebox-0.x
ops:renovate/promtail-6.x
ops:renovate/loki-6.x
ops:renovate/cloudnative-pg-0.x
ops:renovate/github.com-imusmanmalik-cert-manager-mixin-1.x
ops:renovate/gitlab-agent-2.x
ops:renovate/ghcr.io-spegel-org-helm-charts-spegel-0.x
ops:renovate/lock-file-maintenance
ops:renovate/bitwarden-secrets-1.x
ops:renovate/gitlab-19.x
ops:renovate/authentik-2026.x
ops:renovate/ruby-4.x
ops:renovate/docker.io-healthchecks-healthchecks-4.x
ops:renovate/plausible-analytics-3.x
ops:renovate/sops-1.x
ops:renovate/random-3.x
ops:renovate/registry.gitlab.com-fmd-foss-fmd-server-0.x
ops:renovate/plausible-analytics-2.x
ops:renovate/quay.io-oauth2-proxy-oauth2-proxy-7.x
ops:renovate/python-3.x
ops:renovate/johly-airtrail-3.x
ops:renovate/ghcr.io-gethomepage-homepage-1.x
ops:renovate/ingress-nginx-4.x
ops:renovate/gitlab-9.x
ops:renovate/ghcr.io-rommapp-romm-4.x
ops:renovate/ghcr.io-gotson-komga-1.x
ops:renovate/gabehf-koito-0.x
ops:renovate/willshersystems.sshd-0.x
ops:renovate/containers.podman-1.x
ops:renovate/ghcr.io-prometheus-community-charts-prometheus-operator-crds-30.x
No reviewers
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
ops/homelab!20
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "renovate/uv_build-0.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
>=0.9.4,<0.10.0→>=0.12.1,<0.13.0Release Notes
astral-sh/uv (uv_build)
v0.12.1Compare Source
Released on 2026-07-31.
Enhancements
--prerelease-package(#20837)activate.xsh) (#19740)uv add --indexwhen updatingpyproject.toml(#20817)Preview features
uv checkwith--fix(#20793)uv check(#20742)Performance
Bug fixes
uv tool update-shellanduv python update-shellexit (#20842)--find-linkspaths in requirements files relative to the containing file (#20832)uv tool list --outdated(#20770)Documentation
v0.12.0Compare Source
Released on 2026-07-28.
Since we released uv 0.11.0 in March, we've accumulated changes that improve correctness, safety, and compatibility with specifications, but could break some workflows. This release contains those changes; many have been marked as breaking out of an abundance of caution.
We expect most users to be able to upgrade without making changes.
There are no breaking changes to the configuration of the uv build backend. If your
[build-system]table includes an upper bound onuv_build, update it to allowuv_build0.12, e.g.,uv_build>=0.11.32,<0.13.Breaking changes
Define build systems by default with
uv init(#19197)Projects created with
uv initnow declare a build system and are packaged by default. This was the default project layout all the way back in v0.3, but we found that the use of thehatchlingbuild system was confusing to newcomers and consequently dropped use of a build system by default in v0.4. Since then, we've created our own build system (uv_build) with tight integration with uv and are excited to restore the default to a best-practice project layout.Previously,
uv init examplecreated an unpackaged layout containingmain.pyand apyproject.tomlwithout a build system. The project could declare dependencies but was not itself installed into its virtual environment.Now,
uv init exampledefines a[build-system]usinguv_build, places application source code insrc/example, and includes a[project.scripts]entry namedexample. Defining a build system allows the project to be imported from tests or other code, installed as a dependency, and run as a command:Existing projects are unaffected. Use
uv init --no-package exampleto create the previous unpackaged layout without a build system.See the project creation documentation for more details.
This stabilizes the
packaged-initpreview feature.Reject unsupported source distribution and wheel archive formats (#18927)
PEP 625 requires source distributions to use
.tar.gzarchives. Previously, uv also accepted legacy formats such as.tar.bz2and.tar.xz. Those formats are now rejected, including when referenced by an existing lockfile. Legacy.zipsource distributions remain supported for backwards compatibility.Wheels and other ZIP archives can no longer contain entries compressed with bzip2, LZMA, or XZ. Entries must use the stored, DEFLATE, or zstd compression methods.
Removing support for uncommon compression methods reduces uv's compression dependencies and the attack surface exposed when processing untrusted packages.
You cannot opt out of this behavior. If you depend on a legacy source distribution that uses an unsupported format, we recommend rebuilding it as a
.tar.gzarchive and regenerating any lockfile containing references to the legacy archive.Reject wheel files that could replace the Python interpreter (#20748, #20749)
uv already rejected wheel entry points named
python, but case variants such asPythonwere still accepted. On case-insensitive filesystems, including common macOS and Windows setups, these entry points could overwrite the virtual environment's interpreter.Wheels could also place interpreter files in their
.data/scriptsdirectory or in paths such as.data/data/bin/python, bypassing the entry-point check and replacing the interpreter during installation.uv now rejects case-insensitive variants of reserved interpreter names and wheel data files that would be installed over an interpreter. This includes names such as
Python,python.py, andPython.exe, along with other reserved interpreter names and their versioned variants.You cannot opt out of these checks. Rename conflicting entry points or wheel data files and rebuild the affected wheel.
Prefer stable releases before falling back to pre-releases (#19993)
A dependency can introduce a pre-release requirement after resolution starts. uv previously required each package's pre-release eligibility to be known before resolution began: the default
if-necessary-or-explicitmode allowed them for direct requirements that explicitly requested a pre-release, or for packages that only published pre-releases.This meant that a pre-release requirement discovered in a dependency's metadata, e.g.,
example>=2.0.0b1, would fail to resolve even when a compatible pre-release existed. To resolve it, you had to add that dependency as a direct requirement or allow pre-releases across your entire dependency graph.The default mode is now
if-necessary. uv tries stable candidates first and falls back to pre-releases when no stable candidate satisfies the active constraints. Like pip, uv now supports pre-release requirements discovered transitively, but can select different versions than previous uv releases when both stable and pre-release candidates are available.You can opt out of automatic pre-release selection with
--prerelease disallow. Alternatively,--prerelease allowconsiders pre-releases without first preferring stable releases, and--prerelease explicitonly allows them for direct requirements that mention a pre-release.The old
if-necessary-or-explicitmode distinguished between explicitly requested pre-releases and packages with no stable releases. That distinction is unnecessary now thatif-necessaryhandles both cases, including transitive requirements. The old name remains available as an alias but is deprecated and will be removed in a future release.Respect
--require-hashesdirectives inrequirements.txt(#19336)Previously,
uv pip installanduv pip syncwarned about--require-hashesinside arequirements.txtfile but still installed dependencies without checking their hashes. Now, the directive enables hash-checking mode, just as if--require-hasheshad been passed on the command line.For example, this requirements file is no longer accepted because the requirement is neither pinned nor hashed:
You cannot opt out while the directive is present. Pin every requirement with
==and provide its hash, or remove--require-hashesif hash checking is not intended.Reject MD5-only hashes in hash-checking mode (#20758)
Previously,
uv pip install --require-hashesanduv pip sync --require-hashesaccepted requirements whose only available digest used MD5. MD5 is not collision-resistant, so relying on it undermined installations that require hash verification and differed from pip's behavior.Hash-checking mode now requires at least one secure digest for every requirement. For example, the following requirement is rejected unless a secure hash, such as SHA-256, is also supplied:
A secure hash can be supplied directly on the requirement or in a matching constraints file. Ordinary hash verification without
--require-hashescontinues to support MD5.You cannot opt out while hash checking is required. Regenerate affected hashes with SHA-256 or another supported secure hash.
Reject invalid
pylock.tomlfiles and artifacts (#20402, #20440, #20443)uv now validates additional requirements from the
pylock.tomlspecification:packagesarray must be present. Previously, uv interpreted a missing array as an empty lockfile, souv pip synccould uninstall an environment instead of rejecting malformed input. An explicitly emptypackages = []array remains valid.pylock.tomlor a single-name variant such aspylock.dev.toml. Names such aspylock..tomlandpylock.foo.bar.tomlare rejected.size, the downloaded or cached artifact must match. Previously, an incorrect size was accepted when the hash was correct. Sizes reported by package indexes remain advisory.You cannot opt out of these checks. Regenerate malformed lockfiles, rename invalid filenames, and either correct or remove an incorrect optional
sizevalue.Honor explicit certificate overrides even when no certificates can be loaded (#20741, #20767)
Previously, uv ignored
SSL_CERT_FILEorSSL_CERT_DIRvalues that pointed to missing or inaccessible paths, empty files or directories, or sources without valid certificates. Instead, it fell back to its default trust roots, potentially allowing HTTPS connections that the configured override was intended to reject.Now, any non-empty
SSL_CERT_FILEorSSL_CERT_DIRvalue replaces uv's default certificate roots, even when no valid certificates can be loaded. In that case, HTTPS requests fail because no certificates are trusted. This applies to package downloads and remote scripts, including GitHub Gists.Fix or unset the certificate override. Unsetting it restores the default trust store; empty environment-variable values continue to be ignored.
Support pip-compatible
--certhandling inuv pip(#20418)The
uv pipinterface now accepts--cert <path>, e.g.:As in pip, the provided PEM bundle replaces all other certificate sources for that invocation, including system certificates and
SSL_CERT_FILEorSSL_CERT_DIR. This change has no effect unless you pass--cert. Include the necessary certificate authorities in the bundle.--certis only supported byuv pipcommands; other uv commands continue to use their existing certificate configuration.Discover projects relative to the script passed to
uv run(#20225)Previously,
uv run project/script.pydiscovered its project from the current directory, even when the script belonged to another project. uv now starts project and workspace discovery from the script's directory instead.For example, running
uv run other-project/script.pynow usesother-projectand its dependencies. This fixes scripts that previously failed because their own dependencies were not installed, but can select a different environment than before.You can opt out of script-relative discovery by selecting a project explicitly, e.g.,
uv run --project . other-project/script.py.This stabilizes the
target-workspace-discoverypreview feature.Require
--forcebefore clearing a directory that is not a virtual environment (#20225)uv venv --clearpreviously removed any existing target directory, even if it was not a virtual environment. uv emitted a warning but still deleted the directory and its contents. Now, uv refuses to clear directories that do not contain a virtual environment.You can opt out of this safety check by explicitly passing
--force, e.g.,uv venv --clear --force ./not-a-virtualenv.This stabilizes the
venv-safe-clearpreview feature.Reject
--projectwhen initializing a project (#20225)--projectselects an existing project, so it is not meaningful when initializing a new one. Previously,uv init --project examplewarned and initializedexampleanyway; if a positional path was also provided,--projectwas ignored.This usage is now an error. Use
uv init exampleto initialize a project at the requested path, oruv init --directory exampleto change the working directory first.This stabilizes the
init-project-flagpreview feature.Reject missing or invalid
--projectpaths (#20225)uv previously warned when
--projectreferred to a missing directory or a file other thanpyproject.toml, but then attempted to continue. This could produce confusing errors later or run against an unintended project.Now,
uv run --project missing pythonfails immediately instead of continuing. You cannot opt out of this behavior. Create the directory first or select an existing project. Passing--project path/to/pyproject.tomlremains supported and selects the file's parent directory.This stabilizes the
project-directory-must-existpreview feature.Skip distributions with non-normalized filenames when publishing (#20225)
Distribution filenames must use normalized package names and versions. For example, a wheel for version
1.01.0should be namedexample-1.1.0-py3-none-any.whl, notexample-1.01.0-py3-none-any.whl.Previously,
uv publishwarned about non-normalized filenames but still attempted to upload them. It now skips the affected wheels and source distributions instead.You cannot opt out of this behavior. Rebuild distributions with normalized filenames before publishing.
This stabilizes the
publish-require-normalizedpreview feature.Classify Conda environments named
baseandrootby their paths (#20225)Conda environments named
baseorrootwere previously assumed to be the base Conda environment, even when they were ordinary child environments. uv now recognizes child Conda environments namedbaseorrootbased on their paths, as it already does for other names.You can opt out of automatic interpreter selection by requesting an interpreter explicitly with
--python /path/to/python.This stabilizes the
special-conda-env-namespreview feature.Reject broken
.venvsymlinks during environment discovery (#20433)Previously, uv could ignore a broken
.venvsymlink and continue searching parent directories for another virtual environment. As a result, commands such asuv pip installcould unexpectedly modify an unrelated ancestor environment.uv now stops at a broken
.venvsymlink and reports its exact path. Errors encountered while reading virtual environment metadata, including permission failures, are also reported immediately instead of being ignored.You cannot opt out of this behavior. Repair or remove the broken
.venvsymlink and correct any permissions that prevent uv from inspecting the environment.Reinstall matching installed Python patch versions instead of upgrading implicitly (#20659)
Before Python upgrades were supported,
uv python install 3.12 --reinstalldoubled as a way to install the latest Python 3.12 patch release. Now that--upgradeis available,--reinstallreinstalls the matching patch releases that are already present.For example, if Python 3.12.6 and 3.12.7 are installed,
uv python install 3.12 --reinstallreinstalls both versions instead of installing the latest available 3.12 release.You can recover the previous upgrade behavior with
uv python install 3.12 --upgrade. Combine--upgrade --reinstallto reinstall only the latest patch.Require
--upgrade-groupto name an existing dependency group (#18957)Previously,
uv lock --upgrade-group docssilently succeeded even if nodocsdependency group existed. uv now validates the requested group against the project, its workspace members, and workspace-level dependency groups.You cannot opt out of this behavior. Correct the group name or add it to
[dependency-groups]. Legacytool.uv.dev-dependenciesstill satisfies--upgrade-group dev.Resolve relative indexes and find-links against
--directory(#20740)The
--directoryoption changes the directory in which uv operates. Previously, relative index and find-links paths supplied on the command line were still resolved against the original working directory.uv now resolves
--index,--default-index,--index-url,--extra-index-url, and--find-linksrelative to the directory selected by--directory. For example:This now uses
project/packagesinstead of./packagesin the original working directory. Absolute paths and indexes loaded from configuration files are unaffected.To preserve the previous target, pass an absolute path or adjust the relative path, e.g.,
--index ../packages.Preserve absolute paths provided to
uv add(#18402)uv addpreviously converted every local dependency into a project-relative path, even when the original request used an absolute path or a literalfile://URL. It now preserves the form of the request inpyproject.tomlanduv.lock:Absolute paths make a project less portable. Use a relative path to avoid recording an absolute path. URLs containing expanded variables retain their existing relative-path behavior.
Remove older PyPy distributions that are only available as bzip2 archives (#20423)
Older PyPy patch releases that are only distributed as
.tar.bz2archives are no longer available throughuv python install. These releases require unsupported bzip2 archives.The latest PyPy release for each supported Python minor version is available as a gzip-compressed archive and remains supported. For example,
uv python list 3.10 --all-versionsstill includes the latest PyPy 3.10 release, but older bzip2-only patch releases are omitted.You cannot opt out of this behavior. Request a newer PyPy patch release instead.
Omit excluded-package comments when annotations are disabled (#20085)
uv pip compile --no-annotatesuppresses comments describing the generated requirements file. Previously, a footer listing packages excluded with--unsafe-packagewas still included, even though annotations were disabled. That footer is now omitted.You can recover the footer by removing
--no-annotate.Stabilizations
TOML 1.0-compatible source distributions (#20225)
uv_buildnow writes a TOML 1.0-compatiblepyproject.tomlwhen building source distributions, allowing older Python build frontends to consume projects that use newer TOML syntax. The original project file remains available in the archive aspyproject.toml.orig.This stabilizes the
toml-backwards-compatibilitypreview feature.Automatic open-file limit adjustment on Unix (#20225)
On Linux and macOS, uv now attempts to raise the soft open-file limit at startup toward the hard limit, capped at 1,048,576 descriptors. The new limit also applies to subprocesses and reduces failures caused by running out of file descriptors. If the limit cannot be raised, uv continues running with the existing limit.
This stabilizes the
adjust-ulimitpreview feature.Preview features
uv upgradeto target multiple packages, upgrade all production dependencies, and exclude selected dependencies (#20338)Bug fixes
v0.11.33Compare Source
Release Notes
Released on 2026-07-28.
Enhancements
.tar.gzarchives for Pyodide installs (#20667)Preview features
uv checkunless--scriptis passed (#20676)package.metadata-free lockfiles (#20688, #20691, #20685, #20695)Bug fixes
Install uv 0.11.33
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.33
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.32Compare Source
Release Notes
Released on 2026-07-23.
Preview features
--packageand--all-packagesselection touv check(#20628)uv upgradeto update multiple marker-specific declarations of the same package (#20335)uv lock --checkand commands using--locked(#20646)uv lock --refresh(#20634)uv workspace metadataby default (#20643)Performance
Bug fixes
Requires-Pythonis discovered only from distribution metadata (#20586)Install uv 0.11.32
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.32
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.31Compare Source
Release Notes
Released on 2026-07-21.
Enhancements
.venvfiles containing paths to centralized project environments (#20022)Preview features
hash-algorithmsetting for lockfile generation (#20605)Configuration
audit.malware-checkandaudit.malware-check-urlsettings (#20587)Performance
Bug fixes
--emit-build-optionsfor unsupporteduv pip compile --emit-options(#20582)uv_buildsettings for in-tree build backends (#20153)Install uv 0.11.31
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.31
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.30Compare Source
Release Notes
Released on 2026-07-20.
Python
Preview features
uv workspace metadata --syncto target the active virtual environment with--active(#20500)Performance
exclude-newer(#20460)toml_writer(#20450)Bug fixes
extends-environmentpaths inpyvenv.cfgon Unix (#20466)Documentation
Install uv 0.11.30
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.30
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.29Compare Source
Release Notes
Released on 2026-07-15.
Python
Enhancements
uv tree(#19978)pylock.toml(#20393)Preview features
uv audit --service-urlvalues instead of panicking (#20374)Performance
uv syncoperations (#20364)uv tree,uv export,uv format, anduv audit(#20359)Bug fixes
pylock.toml(#20391)uv pip freezeoutput (#20395)uv pip install --stricthas nothing to install (#20388)platlibwhenpurelibis missing (#20405).egg-infofiles as legacy package metadata (#20403)pylock.tomlartifact URLs instead of panicking (#20373)Documentation
--no-buildbehavior for editable requirements (#20234)Install uv 0.11.29
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.29
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.28Compare Source
Release Notes
Released on 2026-07-07.
Security
This release updates our ZIP library, astral-async-zip, to v0.0.20, which includes 15 changes that harden our ZIP handling against parser differentials. uv may reject ZIP archives with malformed or ambiguous content that were previously accepted.
See the upstream commits for a full list of changes.
Python
Enhancements
-qand-qq(#20163)uv builderrors (#20159)Performance
uv pip install(#19914)Bug fixes
--upgradewhenupgrade-packageis configured (#19955)uv treein dependency-group-only projects (#20167)Install uv 0.11.28
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.28
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.27Compare Source
Release Notes
Released on 2026-07-06.
Enhancements
--python-downloads-json-url(#16749)Preview features
uv workspace list --scripts(#20099)Performance
requires-pythonspecifiers in Simple API parsing (#20104)Bug fixes
packagestable for pylock.toml (#20145)uv pip tree(#20062)uv add --indexupdates an existing index URL (#19818)Other changes
pubAPIs used in Pixi (#20074)Install uv 0.11.27
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.27
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.26Compare Source
Release Notes
Released on 2026-06-30.
Performance
ForkMap::contains(#20023)Bug fixes
Install uv 0.11.26
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.26
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.25Compare Source
Release Notes
Released on 2026-06-26.
Security
This release updates our tar library, astral-tokio-tar, to v0.6.3, which includes over 20 changes that harden our tar handling against parser differentials. uv may reject source distributions with malformed or ambiguous content that were previously accepted.
See the upstream commits for a full list of changes.
Enhancements
tool.uv.environments(#19933)Preview features
uv workspace list --scripts(#20009)uv venv(#19912)uv check(#19884)uv check(#19995)uv check --script(#19989)Bug fixes
uv buildif the cache dir is enclosed (#19991)Install uv 0.11.25
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.25
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.24Compare Source
Release Notes
Released on 2026-06-23.
Python
Preview features
Performance
Bug fixes
exclude-newer(#19934)activate.fishand broaden Fish version support (#19856)Install uv 0.11.24
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.24
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.23Compare Source
Release Notes
Released on 2026-06-19.
Bug fixes
pre-commit-uv(#19925)pyproject.tomlwould be treated as standalone projects (#19926)Install uv 0.11.23
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.23
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.22Compare Source
Release Notes
Released on 2026-06-18.
Enhancements
uv publish(#19831)TYandRUFFenv vars for providing paths for binaries used byuv formatanduv check(#19821)Preview features
uv.tomlandpyproject.toml(#18437)uv check --no-sync(#19909)--scripttouv checkanduv metadata(#19860)workspace metadata(#19862)uv auditoutput (#19872)Performance
Bug fixes
include-groupentries that have additional fields (#19866)backend-paths exist when building sdists (#19834)pylock.tomlfiles do not have an unsupported alock-version(#19869)packages.requires-pythonof apylock.toml(#19868)uvto be recursively invoked by PEP 517 build hooks (#19879)credentials.tomlfiles (#19815)uv pip list(#19867)uv tree --invert(#19910)uv venvin a project (#19837)uv tree(#19905)Documentation
Other changes
Install uv 0.11.22
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.22
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.21Compare Source
Release Notes
Released on 2026-06-11.
Python
Preview features
environment.roottouv workspace metadata --sync(#19760)uv upgradeto update a single dependency constraint (#19738)uv workspace metadatapayload inty check(#19763)uv init(#17841)Performance
uv python list(#18684)Bug fixes
uv python listwith path requests (#19774)Install uv 0.11.21
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.21
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.20Compare Source
Release Notes
Released on 2026-06-10.
Enhancements
--emit-index-urland--emit-find-linkstouv export(#18370)--find-linkssupport foruv pip list(#16103)uv python install(#19691)Preview features
uv upgradecommand (#19678)uv upgrade(#19742)Configuration
UV_NO_INSTALL_PROJECT,UV_NO_INSTALL_WORKSPACE,UV_NO_INSTALL_LOCAL(#19323)Performance
Bug fixes
VIRTUAL_ENVthroughcygpathinsidefishon Windows (#19703)Documentation
--find-linkscaching behavior (#19585)Install uv 0.11.20
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.20
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.19Compare Source
Release Notes
Released on 2026-06-03.
Python
Enhancements
Preview features
--isolatedinuv check(#19666)Bug fixes
Install uv 0.11.19
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.19
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.18Compare Source
Release Notes
Released on 2026-06-01.
Performance
Preview
uv checkto runtyfrom uv (#19605)Bug fixes
Other changes
Install uv 0.11.18
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.18
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.17Compare Source
Release Notes
Released on 2026-05-28.
Enhancements
uv addwith standard library modules (#19572)uv workspaceand itslistsubcommand in help output (#19533)ignore-error-codeswhen applicable (#19521)import-namesandimport-namespacessupport touv-build(PEP 794) (#19380)--no-editable-packageflag to various commands (#19584)uv toolinvocations (#19577)Preview features
uv workspace metadata(#19122)uv venv --clearto remove non-virtual environments (#19595)Bug fixes
tool.uv.conflicts(#19538)--env-fileinuv run(#19567)--check-url(#19594)--find-linksparsing (#19537)Documentation
Install uv 0.11.17
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.17
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.16Compare Source
Release Notes
Released on 2026-05-21.
Enhancements
Preview features
Configuration
UV_NO_SYSTEM_CONFIG(#19476)Bug fixes
uv-build(#19495)Documentation
Install uv 0.11.16
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.16
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.15Compare Source
Release Notes
Released on 2026-05-18.
Security
Enhancements
Preview
Configuration
required-environmentsinuv pip compile(#19378)Performance
Version::only_release_trimmed(#19425)Bug fixes
[tool.uv.sources]credentials underuv sync --frozen(#19423)Documentation
Install uv 0.11.15
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.15
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.14Compare Source
Release Notes
Released on 2026-05-12.
Enhancements
top_level.txtentries in uninstall that are not valid Python identifiers (#19340)Bug fixes
.envfiles in parent process (#19343)uv treeshowing extra-conditional deps for packages required without extras (#19332)--no-build) during lock validation (#19366)Install uv 0.11.14
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.14
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.13Compare Source
Release Notes
Released on 2026-05-10.
Bug fixes
--require-hasheswhen installing frompylock.tomlfiles (#19334)Python
Install uv 0.11.13
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.13
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.12Compare Source
Release Notes
Released on 2026-05-08.
Python
Enhancements
--no-editablesupport touv pip install(#19306)Bug fixes
Respect
--no-devoverUV_DEV=1(#19313)Don't suggest non-existent
--no-frozenflag (#19290) (#19294)Documentation
Install uv 0.11.12
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.12
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.11Compare Source
Release Notes
Released on 2026-05-06.
Bug fixes
Install uv 0.11.11
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.11
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.10Compare Source
Release Notes
Released on 2026-05-05.
Bug fixes
Install uv 0.11.10
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.10
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.9Compare Source
Release Notes
Released on 2026-05-04.
Note due to a timeout publishing to crates.io, the GitHub portion of this release was published manually by a maintainer using the artifacts built in CI. Consequently, GitHub attestations will not be available. Additionally, this release will not be fully published to crates.io. There should be no other effects.
Python 3.14.5 release candidate
This release includes a special release candidate for the next Python 3.14 patch release. Python 3.14 included a new garbage collection implementation, which reduced pause times but caused significant unexpected memory pressure in production environments. In 3.14.5 and 3.15, the previous garbage collection implementation will be restored.
We would greatly appreciate if you tested the 3.14.5rc1 version included in this release. The stable version is expected to be released soon and any feedback on potential issues would be helpful to the Python development team.
For more context, see the announcement, issue, and pull request.
Issues with the new release can be reported in the uv or CPython issue trackers.
Python
libpythonto match LinuxEnhancements
Preview
uv auditadd reporting for adverse project statuses (#19128)Bug fixes
requires-pythonpins a version (#18700)LockedFile::dropon Wine (#19229)top_level.txtin.egg-info(#19114)PYTHONHOMEand only set__PYVENV_LAUNCHER__for virtual environments (#19199)Documentation
--native-tlsandUV_NATIVE_TLSas deprecated (#18705)pytorch-triton-rocmto PyTorch ROCm docs (#19241)uv initcreates git files / folders in the projects guide (#19183)Install uv 0.11.9
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.9
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.8Compare Source
Release Notes
Released on 2026-04-27.
Enhancements
--python-downloads-json-urltopython pin(#19092)pip uninstall -y(#19082)exclude-newerto be missing from the lockfile whenexclude-newer-spanis present (#19024)uv self version --short(#19019)SSL_CERT_DIRdirectory (#19018)exclude-newerandexclude-newer-packagevalues in lockfiles (#19022, #19101)Configuration
UV_PYTHON_NO_REGISTRY(#19035)UV_NO_PROJECT(#19052)UV_PYTHON_SEARCH_PATHfor Python discoveryPATHoverrides (#19034)Bug fixes
rust-toolchain.tomlto uv-build sdist (#19131)uv lockon apyproject.tomlthat only contains dependency-groups (#19087).python-version(#19102).tar.zstwheels (#19144)Distributions
Documentation
Install uv 0.11.8
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.8
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.7Compare Source
Release Notes
Released on 2026-04-15.
Python
2026041including an OpenSSL security upgrade (#19004)Enhancements
required-versionmismatches (#18977)--exclude-newerhints (#18952)Preview features
--scripthandling inuv audit(#18970)uv audit(#18970)Bug fixes
workspace metadatain linehaul data (#18966)uv sync --checkfailures (#18976)~=operators (#18960)Install uv 0.11.7
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.7
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.6Compare Source
Release Notes
Released on 2026-04-09.
This release resolves a low severity security advisory in which wheels with malformed RECORD entries could delete arbitrary files on uninstall. See GHSA-pjjw-68hj-v9mw for details.
Bug fixes
RECORDduring installation (#18943)uv cache cleanerrors due to Win32 path normalization (#18856)Install uv 0.11.6
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.6
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.5Compare Source
Release Notes
Released on 2026-04-08.
Python
Enhancements
build_system.requireserror message (#18911)Preview features
exclude-newerto[[tool.uv.index]](#18839)uv audit: add context/warnings for ignored vulnerabilities (#18905)Bug fixes
Documentation
PIP_COMPATIBILITY.mdredirect file (#18928)uv init example-bare --bareexamples (#18822, #18925)Install uv 0.11.5
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.5
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.4Compare Source
Release Notes
Released on 2026-04-07.
Enhancements
--upgrade-group(#18266)Bug fixes
pyproject.tomldependencies (#18786)--lockedand--frozenwhen script lockfile is missing (#18832)uv exportextra resolution for workspace member and conflicting extras (#18888)exclude-newervalues duringuv tree --outdated(#18899)--exclude-newerinuv tool list --outdated(#18861)Cargo.lockinuv-buildsource distributions (#18831)Documentation
--exclude-newercompares artifact upload times (#18830)Install uv 0.11.4
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.4
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.3Compare Source
Release Notes
Released on 2026-04-01.
Enhancements
uv workspace metadatawith dependency information from the lock (#18356)/installers/uv/lateston the mirror (#18725)Preview features
--ignoreand--ignore-until-fixedtouv audit(#18737)Bug fixes
blake2bhashes (#18794)powerpc64-unknown-linux-gnufrom release build targets (#18800)uv pip check(#18742)Documentation
falseopt-out forexclude-newer-package(#18768, #18803)Install uv 0.11.3
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.3
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.2Compare Source
Release Notes
Released on 2026-03-26.
Enhancements
uv self updatefetch the manifest from the mirror first (#18679)uv self updatesuccess and failure messages with--quiet(#18645)Preview features
Bug fixes
uv run(#17890)Install uv 0.11.2
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.2
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.1Compare Source
Release Notes
Released on 2026-03-24.
Bug fixes
riscv64gc-unknown-linux-musl(#18686)==Python version request ranges (#9697)Documentation
--python <dir>in "Using arbitrary Python environments" (#6457)PS_MODULE_PATHandUV_WORKING_DIR(#18691)Install uv 0.11.1
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.1
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.0Compare Source
Release Notes
Released on 2026-03-23.
Breaking changes
This release includes changes to the networking stack used by uv. While we think that breakage will be rare, it is possible that these changes will result in the rejection of certificates previously trusted by uv so we have marked the change as breaking out of an abundance of caution.
The changes are largely driven by the upgrade of reqwest, which powers uv's HTTP clients, to v0.13 which included some breaking changes to TLS certificate verification.
The following changes are included:
rustls-platform-verifieris used instead ofrustls-native-certsandwebpkifor certificate verificationThis change should have no effect unless you are using the
native-tlsoption to enable reading system certificates.rustls-platform-verifierdelegates to the system for certificate validation (e.g.,Security.frameworkon macOS) instead of eagerly loading certificates from the system and verifying them viawebpki. The effects of this change will vary based on the operating system. In general, uv's certificate validation should now be more consistent with browsers and other native applications. However, this is the most likely cause of breaking changes in this release. Some previously failing certificate chains may succeed, and some previously accepted certificate chains may fail. In either case, we expect the validation to be more correct and welcome reports of regressions.In particular, because more responsibility for validating the certificate is transferred to your system's security library, some features like CA constraints or revocation of certificates via OCSP and CRLs may now be used.
This change should improve performance when using system certificate on macOS, as uv no longer needs to load all certificates from the keychain at startup.
aws-lcis used instead ofringfor a cryptography backendThere should not be breaking changes from this change. We expect this to expand support for certificate signature algorithms.
--native-tlsis deprecated in favor of a new--system-certsflagThe
--native-tlsflag is still usable and has identical behavior to--system-certs.This change was made to reduce confusion about the TLS implementation uv uses. uv always uses
rustlsnotnative-tls.Building uv on x86-64 and i686 Windows requires NASM
NASM is required by
aws-lc. If not found on the system, a prebuilt blob provided byaws-lc-syswill be used.If you are not building uv from source, this change has no effect.
See the CONTRIBUTING guide for details.
Empty
SSL_CERT_FILEvalues are ignored (for consistency withSSL_CERT_DIR)See #18550 for details.
Python
See the python-build-standalone release notes for details.
Enhancements
Preview features
--service-formatand--service-urltouv audit(#18571)Performance
Bug fixes
uv tool list --outdated(#18586)uv exportfor workspace member packages with conflicts (#18635)Documentation
FLASH_ATTENTION_SKIP_CUDA_BUILDguidance forflash-attninstalls (#18473)Install uv 0.11.0
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.0
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.10.12Compare Source
Release Notes
Released on 2026-03-19.
Python
Enhancements
--no-emit-package(#18565)Preview features
uv auditin the CLI help (#18540)Bug fixes
uv python list(#18459)Documentation
uv-docker-example(#18558)Install uv 0.10.12
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.10.12
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.10.11Compare Source
Release Notes
Released on 2026-03-16.
Enhancements
Performance
Bug fixes
--projectto refer to apyproject.tomldirectly and reduce to a warning on other files (#18513)SYSTEM_VERSION_COMPATwhen querying interpreters on macOS (#18452)uv sync --activerecreating active environments whenUV_PYTHON_INSTALL_DIRis relative (#18398)Documentation
-o requirements.txtinuv pip compileexample (#12308)Install uv 0.10.11
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.10.11
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.10.10Compare Source
Release Notes
Released on 2026-03-13.
Python
Enhancements
--outdatedflag touv tool list(#18318)--projectdirectory does not exist (#17714)uv init(#18417)uv cache clearan alias ofuv cache clean(#18420)uv_build(#18419)Preview features
uv auditoutput (#18392)uv audit(#18193)uv audit(#18394)Bug fixes
uv tool install --force(#18399)uv export(#18433)Content-Type(#18334)Documentation
Install uv 0.10.10
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.10.10
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.10.9Compare Source
Release Notes
Released on 2026-03-06.
Enhancements
fbgemm-gpu,fbgemm-gpu-genai,torchrec, andtorchtuneto the PyTorch list (#18338)uv_buildsettings withoutuv_build(#15750)/usr/lib/os-releaseon Linux system lookup failure (#18349)cargo auditableto include SBOM in uv builds (#18276)Configuration
UV_VENV_RELOCATABLE(#18331)Performance
Documentoverhead (#18306)Bug fixes
cp3-none-any(#17064)Documentation
Install uv 0.10.9
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.10.9
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.10.8Compare Source
Release Notes
Released on 2026-03-03.
Python
Enhancements
--exclude-newerfilters out all versions of a package (#18217)uv_builddirect build compatibility (#17902)Configuration
UV_INIT_BAREenvironment variable foruv init(#18210)Bug fixes
uv tool upgradefrom installing excluded dependencies (#18022)pylock.tomlfiles (#18227)--upgrade(#18226)uv treeorphaned roots and premature deduplication (#17212)Documentation
after_script(#18206)Install uv 0.10.8
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.10.8
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.10.7Compare Source
Release Notes
Released on 2026-02-27.
Bug fixes
Enhancements
Install uv 0.10.7
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.10.7
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.10.6Compare Source
Release Notes
Released on 2026-02-24.
Bug fixes
requires-pythonconflicting with.python-version(#18097)Documentation
Install uv 0.10.6
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.10.6
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.10.5Compare Source
Release Notes
Released on 2026-02-23.
Enhancements
uv lock --frozen(#17859)pylock.tomlwheels by tags andrequires-python(#18081)uv publish(#17783)exclude-newerinvalidates the lock file (#18100)Performance
Bug fixes
--no-emit-workspacewith--all-packageson single-member workspaces (#18098)UV_NO_DEFAULT_GROUPSrejecting truthy values like1(#18057)Documentation
uv exportformats (#17900)Install uv 0.10.5
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.10.5
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.10.4Compare Source
Release Notes
Released on 2026-02-17.
Enhancements
uv pythonerrors (#18008)Bug fixes
uv init / --name foo) (#17983)wheelandsdistfiles produced by theuv_buildbuild backend (#18020)Install uv 0.10.4
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.10.4
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.10.3Compare Source
Release Notes
Released on 2026-02-16.
Python
Enhancements
Preview features
exclude-newerinuv format(#17651)target-workspace-discoveryis enabled (#17965)uv format(#17977)Bug fixes
cpython-3.1is specified (#17972)--allow-existingwith minor version links on Windows (#17978)u64::MAXin version segments to prevent overflow (#17985)Documentation
Install uv 0.10.3
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.10.3
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.10.2Compare Source
Release Notes
Released on 2026-02-10.
Enhancements
Bug fixes
cargo-installfailing due to missinguv-testdependency (#17954)Install uv 0.10.2
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.10.2
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.10.1Compare Source
Release Notes
Released on 2026-02-10.
Enhancements
sdist-vX/.gitif it already exists (#17825)Documentation
uv python update-shelloveruv tool update-shellin Python docs (#17941)Install uv 0.10.1
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.10.1
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.10.0Compare Source
Release Notes
Since we released uv 0.9.0 in October of 2025, we've accumulated various changes that improve correctness and user experience, but could break some workflows. This release contains those changes; many have been marked as breaking out of an abundance of caution. We expect most users to be able to upgrade without making changes.
This release also includes the stabilization of preview features. Python upgrades are now stable, including the
uv python upgradecommand,uv python install --upgrade, and automatically upgrading Python patch versions in virtual environments when a new version is installed. Theadd-boundsandextra-build-dependenciessettings are now stable. Finally, theuv workspace diranduv workspace listutilities for writing scripts against workspace members are now stable.Breaking changes
Require
--clearto remove existing virtual environments inuv venv(#17757)Previously,
uv venvwould prompt for confirmation before removing an existing virtual environment in interactive contexts, and remove it without confirmation in non-interactive contexts. Now,uv venvrequires the--clearflag to remove an existing virtual environment. A warning for this change was added in uv 0.8.You can opt out of this behavior by passing the
--clearflag or settingUV_VENV_CLEAR=1.Error if multiple indexes include
default = true(#17011)Previously, uv would silently accept multiple indexes with
default = trueand use the first one. Now, uv will error if multiple indexes are marked as the default.You cannot opt out of this behavior. Remove
default = truefrom all but one index.Error when an
explicitindex is unnamed (#17777)Explicit indexes can only be used via the
[tool.uv.sources]table, which requires referencing the index by name. Previously, uv would silently accept unnamed explicit indexes, which could never be referenced. Now, uv will error if an explicit index does not have a name.You cannot opt out of this behavior. Add a
nameto the explicit index or remove the entry.Install alternative Python executables using their implementation name (#17756, #17760)
Previously,
uv python installwould install PyPy, GraalPy, and Pyodide executables with names likepython3.10into the bin directory. Now, these executables will be named using their implementation name, e.g.,pypy3.10,graalpy3.10, andpyodide3.12, to avoid conflicting with CPython installations.You cannot opt out of this behavior.
Respect global Python version pins in
uv tool runanduv tool install(#14112)Previously,
uv tool runanduv tool installdid not respect the global Python version pin (set viauv python pin --global). Now, these commands will use the global Python version when no explicit version is requested.For
uv tool install, if the tool is already installed, the Python version will not change unless--reinstallor--pythonis provided. If the tool was previously installed with an explicit--pythonflag, the global pin will not override it.You can opt out of this behavior by providing an explicit
--pythonflag.Remove Debian Bookworm, Alpine 3.21, and Python 3.8 Docker images (#17755)
The Debian Bookworm and Alpine 3.21 images were replaced by Debian Trixie and Alpine 3.22 as defaults in uv 0.9. These older images are now removed. Python 3.8 images are also removed, as Python 3.8 is no longer supported in the Trixie or Alpine base images.
The following image tags are no longer published:
uv:bookworm,uv:bookworm-slimuv:alpine3.21uv:python3.8-*Use
uv:debianoruv:trixieinstead ofuv:bookworm,uv:alpineoruv:alpine3.22instead ofuv:alpine3.21, and a newer Python version instead ofuv:python3.8-*.Drop PPC64 (big endian) builds (#17626)
uv no longer provides pre-built binaries for PPC64 (big endian). This platform appears to be largely unused and is only supported on a single manylinux version. PPC64LE (little endian) builds are unaffected.
Building uv from source is still supported for this platform.
Skip generating
activate.cshfor relocatable virtual environments (#17759)Previously,
uv venv --relocatablewould generate anactivate.cshscript that contained hardcoded paths, making it incompatible with relocation. Now, theactivate.cshscript is not generated for relocatable virtual environments.You cannot opt out of this behavior.
Require username when multiple credentials match a URL (#16983)
When using
uv auth loginto store credentials, you can register multiple username and password combinations for the same host. Previously, when uv needed to authenticate and multiple credentials matched the URL (e.g., when retrieving a token withuv auth token), uv would pick the first match. Now, uv will error instead.You cannot opt out of this behavior. Include the username in the request, e.g.,
uv auth token --username foo example.com.Avoid invalidating the lockfile versions after an
exclude-newerchange (#17721)Previously, changing the
exclude-newersetting would cause package versions to be upgraded, ignoring the lockfile entirely. Now, uv will only change package versions if they are no longer within theexclude-newerrange.You can restore the previous behavior by using
--upgradeor--upgrade-packageto opt-in to package version changes.Upgrade
uv formatto Ruff 0.15.0 (#17838)uv formatnow uses Ruff 0.15.0, which uses the 2026 style guide. See the blog post for details.The formatting of code is likely to change. You can opt out of this behavior by requesting an older Ruff version, e.g.,
uv format --version 0.14.14.Update uv crate test features to use
test-as a prefix (#17860)This change only affects redistributors of uv. The Cargo features used to gate test dependencies, e.g.,
pypi, have been renamed with atest-prefix for clarity, e.g.,test-pypi.Stabilizations
uv python upgradeanduv python install --upgrade(#17766)When installing Python versions, an intermediary directory without the patch version attached will be created, and virtual environments will be transparently upgraded to new patch versions.
See the Python version documentation for more details.
uv add --boundsand theadd-boundsconfiguration option (#17660)This does not come with any behavior changes. You will no longer see an experimental warning when using
uv add --boundsoradd-boundsin configuration.uv workspace listanduv workspace dir(#17768)This does not come with any behavior changes. You will no longer see an experimental warning when using these commands.
extra-build-dependencies(#17767)This does not come with any behavior changes. You will no longer see an experimental warning when using
extra-build-dependenciesin configuration.There are no breaking changes to
uv_build. If you have an upper bound in your[build-system]table, you should update it, e.g., from<0.10.0to<0.11.0.Enhancements
pyx.devas a target inuv authcommands despitePYX_API_URLdiffering (#17856)Bug fixes
Install uv 0.10.0
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.10.0
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
Configuration
📅 Schedule: (UTC)
🚦 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.
This PR has been generated by Mend Renovate.
962ab74332todd96ece9dcUpdate dependency uv_build to >=0.11.27,<0.12.0to Update dependency uv_build to >=0.11.28,<0.12.0dd96ece9dcto72095840cdUpdate dependency uv_build to >=0.11.28,<0.12.0to Update dependency uv_build to >=0.11.29,<0.12.0Update dependency uv_build to >=0.11.29,<0.12.0to chore(deps): update dependency uv_build to >=0.11.29,<0.12.072095840cdto2dfada0f68chore(deps): update dependency uv_build to >=0.11.29,<0.12.0to chore(deps): update dependency uv_build to >=0.11.30,<0.12.0chore(deps): update dependency uv_build to >=0.11.30,<0.12.0to Update dependency uv_build to >=0.11.30,<0.12.0Update dependency uv_build to >=0.11.30,<0.12.0to chore(deps): update dependency uv_build to >=0.11.30,<0.12.02dfada0f6850d8ce5301chore(deps): update dependency uv_build to >=0.11.30,<0.12.0to chore(deps): update dependency uv_build to >=0.11.31,<0.12.0chore(deps): update dependency uv_build to >=0.11.31,<0.12.0to chore(deps): update dependency uv_build to >=0.11.32,<0.12.0chore(deps): update dependency uv_build to >=0.11.32,<0.12.0to chore(deps): update dependency uv_build to >=0.12.0,<0.13.0chore(deps): update dependency uv_build to >=0.12.0,<0.13.0to chore(deps): update dependency uv_build to >=0.12.1,<0.13.0View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.