Vault 资讯瀑布官方2026.09.05 07:15 UTC+8

astral-sh/uv 发布 0.12.10

uv 0.12.10 发布:增强发布后令牌撤销,预览功能优化,性能提升,多项修复。

发布说明

发布于 2026-09-04。

增强

  • uv publish 完成后尝试撤销短期的 PyPI 可信发布令牌,包括发布失败时(#21423

预览功能

  • 使用 missing-exclude-newer-package-lock 预览功能时,对解析范围之外的包省略 exclude-newer-package 设置(#21455
  • uv tree --invert 输出中显示终端依赖循环(#21404

性能

  • 通过从冲突简化中排除无关的 extras 和依赖组,加速大型工作区的锁定(#21399
  • 通过在每个阻塞任务中对单个工件进行哈希并跨读取重用缓冲区,加速 uv publish#21389

错误修复

  • exclude-newer-package 设置仅对解析范围之外的包不同时,防止 --locked 失败(#21454
  • 允许 uv lock --check 在绝对 exclude-newer 截止时间后移时重用锁文件(#19571
  • 允许 uv lock --check 在禁用特定包的 exclude-newer 截止时间时重用锁文件(#21450
  • uv init 推断的项目名称与 Python 解释器保留名称冲突时,要求显式提供 --name#21395
  • 以确定性顺序将特定包的 exclude-newer 截止时间写入 uv.lock#21453

安装 uv 0.12.10

通过 shell 脚本安装预构建二进制文件

curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.12.10/uv-installer.sh | sh

通过 powershell 脚本安装预构建二进制文件

powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.12.10/uv-installer.ps1 | iex"

下载 uv 0.12.10

astral-sh/uv released 0.12.10

Release Notes

Released on 2026-09-04.

Enhancements

  • Attempt to revoke short-lived PyPI trusted-publishing tokens after uv publish completes, including when publishing fails (#21423)

Preview features

  • Omit exclude-newer-package settings for packages outside the resolution from uv.lock with the missing-exclude-newer-package-lock preview feature (#21455)
  • Show terminal dependency cycles in uv tree --invert output (#21404)

Performance

  • Speed up locking large workspaces with conflicts by excluding unrelated extras and dependency groups from conflict simplification (#21399)
  • Speed up uv publish by hashing each artifact in a single blocking task and reusing the buffer across reads (#21389)

Bug fixes

  • Prevent --locked from failing when exclude-newer-package settings differ only for packages outside the resolution (#21454)
  • Allow uv lock --check to reuse a lockfile when an absolute exclude-newer cutoff is moved later (#19571)
  • Allow uv lock --check to reuse a lockfile when a package-specific exclude-newer cutoff is disabled (#21450)
  • Require an explicit --name when uv init would infer a project name reserved for a Python interpreter (#21395)
  • Write package-specific exclude-newer cutoffs to uv.lock in a deterministic order (#21453)

Install uv 0.12.10

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.12.10/uv-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.12.10/uv-installer.ps1 | iex"

Download uv 0.12.10

FilePlatformChecksum
uv-aarch64-apple-darwin.tar.gzApple Silicon macOSchecksum
uv-x86_64-apple-darwin.tar.gzIntel macOSchecksum
uv-aarch64-pc-windows-msvc.zipARM64 Windowschecksum
uv-i686-pc-windows-msvc.zipx86 Windowschecksum
uv-x86_64-pc-windows-msvc.zipx64 Windowschecksum
uv-aarch64-unknown-linux-gnu.tar.gzARM64 Linuxchecksum
uv-i686-unknown-linux-gnu.tar.gzx86 Linuxchecksum
uv-powerpc64le-unknown-linux-gnu.tar.gzPPC64LE Linuxchecksum
uv-riscv64gc-unknown-linux-gnu.tar.gzRISCV Linuxchecksum
uv-s390x-unknown-linux-gnu.tar.gzS390x Linuxchecksum
uv-x86_64-unknown-linux-gnu.tar.gzx64 Linuxchecksum
uv-armv7-unknown-linux-gnueabihf.tar.gzARMv7 Linuxchecksum
uv-aarch64-unknown-linux-musl.tar.gzARM64 MUSL Linuxchecksum
uv-i686-unknown-linux-musl.tar.gzx86 MUSL Linuxchecksum
uv-riscv64gc-unknown-linux-musl.tar.gzRISCV MUSL Linuxchecksum
uv-x86_64-unknown-linux-musl.tar.gzx64 MUSL Linuxchecksum
uv-arm-unknown-linux-musleabihf.tar.gzARMv6 MUSL Linux (Hardfloat)checksum
uv-armv7-unknown-linux-musleabihf.tar.gzARMv7 MUSL Linuxchecksum

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:

gh attestation verify <file-path of downloaded artifact> --repo astral-sh/uv

You can also download the attestation from GitHub and verify against that directly:

gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
查看原始发布