0.4.27
Release Notes
This release includes support for the [dependency-groups]
table as recently standardized in PEP 735. The table allows for declaration of optional dependency groups that are not published as part of the package metadata, unlike [project.optional-dependencies]
. There are new --group
, --only-group
, and --no-group
options throughout the uv interface.
Previously, uv used a single tool.uv.dev-dependencies
list for declaration of development dependencies. Now, uv supports declaring development dependencies in a standardized format and allows splitting development dependencies into multiple groups.
For compatibility, and to simplify usage for people that do not need multiple groups, uv special-cases the group named dev
. The dev
group is equivalent to tool.uv.dev-dependencies
. The contents of tool.uv.dev-dependencies
will merged into the dev
group in uv's resolver. The --dev
, --only-dev
, and --no-dev
flags remain as aliases for the corresponding --group
options. Support for tool.uv.dev-dependencies
remains in this release, but will display warnings in a future release.
uv syncs the dev
group by default — this matches the exististing behavior for tool.uv.dev-dependencies
. The default groups can be changed with the tool.uv.default-groups
setting.
Thank you to Stephen Rosen who authored PEP 735.
Enhancements
- Support for PEP 735 (#8272)
- Add support for
--dry-run
mode inuv lock
(#7783) - Don't allow non-string email in authors (#8520)
- Enforce lockfile schema versions (#8509)
Bug fixes
- Always attach URL to network errors (#8444)
- Fix dangling non-platform dependencies in
uv tree
(#8532) - Prefer
lto
overdebug
free-threaded managed Python builds (#8515)
Documentation
- Add
tool.uv.sources
to the "Settings" reference (#8543) - Add reference to
uv build
anduv publish
in the landing pages (#8542) - Avoid duplicate
[tool.uv]
header in TOML examples (#8545) - Document
.netrc
environment variable and path (#8511) - Fix
.netrc
typo in authentication docs (#8521) - Fix heading level of "Script support" on docs landing page (#8544)
- Move the installation configuration docs to a separate page (#8546)
- Update docs for
--publish-url
to avoid duplication. (#8561) - Fix typo (#8554)
- Fix typo in description of
--strict
flag (#8513)
Install uv 0.4.27
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.4.27/uv-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.4.27/uv-installer.ps1 | iex"
Download uv 0.4.27
File | Platform | Checksum |
---|---|---|
uv-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
uv-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
uv-i686-pc-windows-msvc.zip | x86 Windows | checksum |
uv-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
uv-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
uv-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
uv-powerpc64-unknown-linux-gnu.tar.gz | PPC64 Linux | checksum |
uv-powerpc64le-unknown-linux-gnu.tar.gz | PPC64LE Linux | checksum |
uv-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
uv-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
uv-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
uv-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
uv-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
uv-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
uv-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
uv-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |