GitHub 备受瞩目的 Python 项目管理工具 uv 正式发布了 0.12.0 版本。此次更新包含了一系列旨在提升规范兼容性、安全性和正确性的“破坏性变更”。在项目结构方面,执行 `uv init` 初始化项目时,现在默认会声明构建系统并采用 `uv_build`,回归到行业公认的最佳项目布局(src layout),便于测试与打包。在安全性层面,uv 采取了更为激进的策略:拒绝接受 `.tar.bz2` 等遗留压缩格式的源码包,仅支持标准的 `.tar.gz`;同时严格拒绝仅使用 MD5 哈希的依赖包,强制要求使用 SHA-256 等安全摘要以防止碰撞攻击。此外,工具修复了关键安全漏洞,现在会严格拒绝那些可能覆盖虚拟环境中 Python 解释器的 Wheel 文件,防止潜在的恶意代码覆盖。在依赖解析逻辑上,uv 调整了预发布版的选择策略,默认优先尝试稳定版,仅在无解时才回退到预发布版,并改进了 `uv run` 对脚本所在项目的自动发现机制。这些改动标志着 uv 在追求极致速度的同时,正致力于构建更严谨、更安全的 Python 开发标准。
事件分析
💡 核心观点:uv 通过摒弃历史遗留的不安全格式并强制标准化构建流程,正在重新定义 Python 项目的安全基准与工程规范。
原文链接:Hacker News





