chore(deps-dev): Update uv requirement from 0.7.20 to 0.8.0 by dependabot[bot] · Pull Request #934 · CycloneDX/cyclonedx-python
Updates the requirements on uv to permit the latest version.
Release notes
Sourced from uv's releases.
0.8.0
Release Notes
Since we released uv 0.7.0 in April, 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 a couple
uv python installfeatures, which have been available under preview since late last year.Breaking changes
Install Python executables into a directory on the
PATH(#14626)
uv python installnow installs a versioned Python executable (e.g.,python3.13) into a directory on thePATH(e.g.,~/.local/bin) by default. This behavior has been available under the--previewflag since Oct 2024. This change should not be breaking unless it shadows a Python executable elsewhere on thePATH.To install unversioned executables, i.e.,
python3andpython, use the--defaultflag. The--defaultflag has also been in preview, but is not stabilized in this release.Note that these executables point to the base Python installation and only include the standard library. That means they will not include dependencies from your current project (use
uv run pythoninstead) and you cannot install packages into their environment (useuvx --with <package> pythoninstead).As with tool installation, the target directory respects common variables like
XDG_BIN_HOMEand can be overridden with aUV_PYTHON_BIN_DIRvariable.You can opt out of this behavior with
uv python install --no-binorUV_PYTHON_INSTALL_BIN=0.See the documentation on installing Python executables for more details.
Register Python versions with the Windows Registry (#14625)
uv python installnow registers the installed Python version with the Windows Registry as specified by PEP 514. This allows using uv installed Python versions via thepylauncher. This behavior has been available under the--previewflag since Jan 2025. This change should not be breaking, as using the uv Python versions withpyrequires explicit opt in.You can opt out of this behavior with
uv python install --no-registryorUV_PYTHON_INSTALL_REGISTRY=0.Prompt before removing an existing directory in
uv venv(#14309)Previously,
uv venvwould remove an existing virtual environment without confirmation. While this is consistent with the behavior of project commands (e.g.,uv sync), it's surprising to users that are using imperative workflows (i.e.,uv pip). Now,uv venvwill prompt for confirmation before removing an existing virtual environment. If not in an interactive context, uv will still remove the virtual environment for backwards compatibility. However, this behavior is likely to change in a future release.The behavior for other commands (e.g.,
uv sync) is unchanged.You can opt out of this behavior by setting
UV_VENV_CLEAR=1or passing the--clearflag.Validate that discovered interpreters meet the Python preference (#7934)
uv allows opting out of its managed Python versions with the
--no-managed-pythonandpython-preferenceoptions.Previously, uv would not enforce this option for Python interpreters discovered on the
PATH. For example, if a symlink to a managed Python interpreter was created, uv would allow it to be used even if--no-managed-pythonwas provided. Now, uv ignores Python interpreters that do not match the Python preference unless they are in an active virtual environment or are explicitly requested, e.g., with--python /path/to/python3.13.Similarly, uv would previously not invalidate existing project environments if they did not match the Python preference. Now, uv will invalidate and recreate project environments when the Python preference changes.
You can opt out of this behavior by providing the explicit path to the Python interpreter providing
--managed-python/--no-managed-pythonmatching the interpreter you want.Install dependencies without build systems when they are
pathsources (#14413)When working on a project, uv uses the presence of a build system to determine if it should be built and installed into the environment. However, when a project is a dependency of another project, it can be surprising for the dependency to be missing from the environment.
... (truncated)
Changelog
Sourced from uv's changelog.
0.8.0
Since we released uv 0.7.0 in April, 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 a couple
uv python installfeatures, which have been available under preview since late last year.Breaking changes
Install Python executables into a directory on the
PATH(#14626)
uv python installnow installs a versioned Python executable (e.g.,python3.13) into a directory on thePATH(e.g.,~/.local/bin) by default. This behavior has been available under the--previewflag since Oct 2024. This change should not be breaking unless it shadows a Python executable elsewhere on thePATH.To install unversioned executables, i.e.,
python3andpython, use the--defaultflag. The--defaultflag has also been in preview, but is not stabilized in this release.Note that these executables point to the base Python installation and only include the standard library. That means they will not include dependencies from your current project (use
uv run pythoninstead) and you cannot install packages into their environment (useuvx --with <package> pythoninstead).As with tool installation, the target directory respects common variables like
XDG_BIN_HOMEand can be overridden with aUV_PYTHON_BIN_DIRvariable.You can opt out of this behavior with
uv python install --no-binorUV_PYTHON_INSTALL_BIN=0.See the documentation on installing Python executables for more details.
Register Python versions with the Windows Registry (#14625)
uv python installnow registers the installed Python version with the Windows Registry as specified by PEP 514. This allows using uv installed Python versions via thepylauncher. This behavior has been available under the--previewflag since Jan 2025. This change should not be breaking, as using the uv Python versions withpyrequires explicit opt in.You can opt out of this behavior with
uv python install --no-registryorUV_PYTHON_INSTALL_REGISTRY=0.Prompt before removing an existing directory in
uv venv(#14309)Previously,
uv venvwould remove an existing virtual environment without confirmation. While this is consistent with the behavior of project commands (e.g.,uv sync), it's surprising to users that are using imperative workflows (i.e.,uv pip). Now,uv venvwill prompt for confirmation before removing an existing virtual environment. If not in an interactive context, uv will still remove the virtual environment for backwards compatibility. However, this behavior is likely to change in a future release.The behavior for other commands (e.g.,
uv sync) is unchanged.You can opt out of this behavior by setting
UV_VENV_CLEAR=1or passing the--clearflag.Validate that discovered interpreters meet the Python preference (#7934)
uv allows opting out of its managed Python versions with the
--no-managed-pythonandpython-preferenceoptions.Previously, uv would not enforce this option for Python interpreters discovered on the
PATH. For example, if a symlink to a managed Python interpreter was created, uv would allow it to be used even if--no-managed-pythonwas provided. Now, uv ignores Python interpreters that do not match the Python preference unless they are in an active virtual environment or are explicitly requested, e.g., with--python /path/to/python3.13.Similarly, uv would previously not invalidate existing project environments if they did not match the Python preference. Now, uv will invalidate and recreate project environments when the Python preference changes.
You can opt out of this behavior by providing the explicit path to the Python interpreter providing
--managed-python/--no-managed-pythonmatching the interpreter you want.Install dependencies without build systems when they are
pathsources (#14413)When working on a project, uv uses the presence of a build system to determine if it should be built and installed into the environment. However, when a project is a dependency of another project, it can be surprising for the dependency to be missing from the environment.
... (truncated)
Commits
0b23572Bump version to 0.8.01f88755CHANGELOG: manylinux_2_28 is more like 2019 (#14696)1a339b7Add release notes and bump version for 0.8.0 (#14690)ac35377Fix rendering ofuv venv --clearhint in bash (#14691)5b716c4Add missing trailing newline to outdated error (#14689)cd40a34Build and install workspace members that are dependencies by default (#14663)0077f23Stabilize addition of Python executables to the bin (#14626)ff30f14Buildpathsources without build systems by default (#14413)b98ac8cValidate that discovered interpreters meet the Python preference (#7934)2df06ebRequireuv venv --clearbefore removing an existing directory (#14309)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)