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-runmode 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
ltooverdebugfree-threaded managed Python builds (#8515)
Documentation
- Add
tool.uv.sourcesto the "Settings" reference (#8543) - Add reference to
uv buildanduv publishin the landing pages (#8542) - Avoid duplicate
[tool.uv]header in TOML examples (#8545) - Document
.netrcenvironment variable and path (#8511) - Fix
.netrctypo 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-urlto avoid duplication. (#8561) - Fix typo (#8554)
- Fix typo in description of
--strictflag (#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 | shInstall 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 |