astral-sh/uv 发布 0.11.28
uv 0.11.28 发布:更新 ZIP 库增强安全性,升级 GraalPy 至 25.1.3,并改进错误渲染等。
中文处理结果
发布说明
发布于 2026-07-07。
安全性
本次发布将我们的 ZIP 库 astral-async-zip 升级至 v0.0.20,其中包含 15 项更改,以强化我们的 ZIP 处理机制,抵御 解析器差异攻击。uv 现在可能会拒绝之前接受的、包含畸形或歧义内容的 ZIP 归档。
有关完整更改列表,请参阅 上游提交。
Python
- 将 GraalPy 升级到 25.1.3 (#20069)
增强
- 改进意外错误链的跟踪日志 (#20220)
- 将锁文件更新指南移至提示 (#20219)
- 保留多行错误原因的缩进 (#20156)
- 渲染带原因链的用户错误 (#20217)
- 将最终命令错误通过打印机路由,以遵循
-q和-qq(#20163) - 使用标准渲染处理
uv build错误 (#20159) - 使用标准渲染处理工具需求错误 (#20160)
性能
原始正文
astral-sh/uv released 0.11.28
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
- Upgrade GraalPy to 25.1.3 (#20069)
Enhancements
- Improve trace logs for unexpected error chains (#20220)
- Move lockfile update guidance to a hint (#20219)
- Preserve indentation for multiline error causes (#20156)
- Render user errors with their cause chains (#20217)
- Route final command errors through the printer to respect
-qand-qq(#20163) - Use standard rendering for
uv builderrors (#20159) - Use standard rendering for tool requirement errors (#20160)
Performance
- Only compile bytecode for installed distributions in
uv pip install(#19914) - Avoid allocating URL-safe Git revisions (#20194)
- Avoid allocating canonical Python request strings (#20193)
- Avoid allocating custom Astral mirror URLs (#20204)
- Avoid allocating expanded compatibility tags (#20190)
- Avoid allocating shell strings that need no escaping (#20196)
- Avoid allocating static ABI descriptions (#20201)
- Avoid allocating static Windows executable names (#20200)
- Avoid allocating static dependency table names (#20199)
- Avoid allocating static platform triple components (#20195)
- Avoid allocating static resolver report labels (#20198)
- Avoid allocating static unavailable-version messages (#20197)
- Avoid allocating unchanged Python download architectures (#20202)
- Avoid allocating unchanged paths during case normalization (#20203)
- Avoid allocations when expanding group conflicts (#20211)
- Avoid allocations when formatting requirements (#20206)
- Avoid cloning credential lookup services (#20210)
- Avoid cloning dry-run distributions (#20209)
- Avoid cloning owned dependency metadata (#20212)
- Avoid redundant direct URL clones (#20207)
- Create metadata version errors lazily (#20205)
- Optimize expanded tag compatibility checks (#20171)
- Optimize parsing of single-digit three-part versions (#20118)
Bug fixes
- Avoid overflow when computing HTTP cache age (#20178)
- Respect
--upgradewhenupgrade-packageis configured (#19955) - Support
uv treein dependency-group-only projects (#20167) - Treat cache entries as stale at exact expiration (#20183)
Install uv 0.11.28
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.11.28/uv-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.11.28/uv-installer.ps1 | iex"
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:
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>