uv 0.11 系列版本演进全解:TLS 证书验证栈重构、四轮安全加固与预览特性体系落地
uv 0.11.x 系列(2026-03-23 至 2026-07-28,共 34 个版本)是 uv 项目历史上技术密度极高的一个周期:0.11.0 对底层 TLS/网络栈做了被标记为破坏性变更的重构,期间穿插了多次安全修复版本,同时 uv audit、uv check、uv upgrade 等预览特性逐步成型,pylock.toml、集中式项目环境等能力持续完善。本文以 changelogs/0.11.x.md 为骨架,结合当前仓库源码逐条解读该系列的 breaking changes、安全通告、功能演进与性能优化,并给出源码级佐证,帮助开发者判断升级路径与配置迁移要点。
版本总览:0.11.0 → 0.11.33 时间线
该系列共发布 34 个版本,发布节奏紧凑(部分修复版本间隔仅 1~2 天)。下表按版本列出发布日期与主线主题,完整条目以 changelogs/0.11.x.md 为准:
| 版本 | 发布日期 | 主线主题 |
|---|---|---|
| 0.11.0 | 2026-03-23 | Breaking:TLS 栈迁移(rustls-platform-verifier / aws-lc / --system-certs);Python 启用 frame pointer |
| 0.11.1 | 2026-03-24 | riscv64 musl 哈希缺失修复、直接 URL 流式回退、回退 "Dynamic" 大小写不敏感改动 |
| 0.11.2 | 2026-03-26 | uv self update 改用镜像 manifest 与 uv reqwest 客户端 |
| 0.11.3 | 2026-04-01 | PEP 803 支持、ROCm 7.2、abi3t 标签、uv workspace metadata 扩展、audit --ignore 系列 |
| 0.11.4 | 2026-04-07 | --upgrade-group、直接 URL 哈希强校验、workspace export 冲突修复 |
| 0.11.5 | 2026-04-08 | CPython 3.13.13 / 3.14.4 / 3.15.0a8、[[tool.uv.index]] 支持 exclude-newer |
| 0.11.6 | 2026-04-09 | 安全:恶意 wheel RECORD 导致卸载删除任意文件(GHSA-pjjw-68hj-v9mw) |
| 0.11.7 | 2026-04-15 | CPython 构建升级(OpenSSL 安全升级)、TLS 报错信息改进、audit --script 修复 |
| 0.11.8 | 2026-04-27 | 新环境变量 UV_PYTHON_NO_REGISTRY / UV_NO_PROJECT / UV_PYTHON_SEARCH_PATH、镜像自更新 |
| 0.11.9 | 2026-05-04 | CPython 3.14.5rc1(GC 回退公告)、PyPy 7.3.22、macOS 静态链接 libpython |
| 0.11.10 | 2026-05-05 | 允许带非零补丁号的预发布 Python 请求 |
| 0.11.11 | 2026-05-06 | 兼容 0.11.9 之前的缓存条目 ID 格式 |
| 0.11.12 | 2026-05-08 | CPython 3.15.0b1、uv pip install --no-editable、git URL ref 百分号编码 |
| 0.11.13 | 2026-05-10 | CPython 3.14.5 正式版、pylock.toml 尊重 --require-hashes |
| 0.11.14 | 2026-05-12 | Astral 镜像 URL 覆盖、锁校验尊重构建选项 |
| 0.11.15 | 2026-05-18 | 安全:TAR 解析器差异(tokio-tar)、entry point 逃逸防护;Azure 请求签名 |
| 0.11.16 | 2026-05-21 | Git 直接归档依赖、UV_NO_SYSTEM_CONFIG、恶意软件安装拦截(preview) |
| 0.11.17 | 2026-05-28 | uv add 标准库诊断、uv workspace 命令暴露、uv-build 支持 PEP 794 |
| 0.11.18 | 2026-06-01 | 新增隐藏的 uv check 命令(运行 ty)、MSRV 提升至 1.94 |
| 0.11.19 | 2026-06-03 | CPython 3.15.0b2、PyEmscripten(PEP 783)、Pyodide 2025 target |
| 0.11.20 | 2026-06-10 | uv export --emit-index-url/--emit-find-links、uv upgrade 初版、大 workspace 发现提速 |
| 0.11.21 | 2026-06-11 | 缓存健壮性大修(剪枝/溢出/隔离)、大量解析 panic 修复 |
| 0.11.22 | 2026-06-18 | preview 特性可在 uv.toml 配置、SARIF 输出、resolver 并发 hashmap 优化 |
| 0.11.23 | 2026-06-19 | 回滚 0.11.22 的透明 Python 升级修复(pre-commit-uv 破坏) |
| 0.11.24 | 2026-06-23 | CPython 3.15.0b3、项目环境可重定位(preview)、exclude-newer 禁用 |
| 0.11.25 | 2026-06-26 | 安全:astral-tokio-tar 升级 v0.6.3(20+ 处加固);工具回执含完整 lockfile |
| 0.11.26 | 2026-06-30 | 适配 IDs-only PubGrub 依赖、PubGrub 迭代间复用工作 |
| 0.11.27 | 2026-07-06 | SIMD TOML 解析、大量解析层分配优化、--python-downloads-json-url 缓存 |
| 0.11.28 | 2026-07-07 | 安全:astral-async-zip 升级 v0.0.20(15 处加固);GraalPy 25.1.3;系统性去分配优化 |
| 0.11.29 | 2026-07-15 | uv tree JSON 输出、CUDA 13.2、OSV 查询分片、威胁模型文档化 |
| 0.11.30 | 2026-07-20 | CPython 3.15.0b4、lockfile 序列化 toml_writer 加速 |
| 0.11.31 | 2026-07-21 | 跨 workspace 路径引用、集中式环境的 .venv 文件、audit.malware-check 配置 |
| 0.11.32 | 2026-07-23 | uv check --package/--all-packages、非规范锁文件拒绝/刷新 |
| 0.11.33 | 2026-07-28 | release 构建 panic abort 减小二进制体积、Pyodide 改用 .tar.gz、工具缓存恶意软件检查 |
0.11.0 破坏性变更:TLS 与网络栈迁移
0.11.0 是该系列唯一被明确标记 Breaking changes 的版本,核心是 uv HTTP 客户端所依赖的 reqwest 升级到 v0.13 带来的 TLS 证书验证行为变化。变更目标是在“谨慎起见”的前提下让 uv 的证书验证更贴近浏览器与系统原生应用的行为。具体包含五点:
1. 证书验证委托给 rustls-platform-verifier
rustls-platform-verifier 取代了原先的 rustls-native-certs + webpki 组合。旧方案在启动时急切加载系统证书再统一用 webpki 验证;新方案把验证责任委托给操作系统的安全库(例如 macOS 上的 Security.framework)。其影响包括:
- 证书验证行为应与浏览器和原生应用更一致,具体表现因操作系统而异;
- 可能出现双向变化:原先失败的证书链可能成功,原先接受的证书链可能失败(官方认为总体更正确,并欢迎回归报告);
- 由于更多验证职责转移到系统安全库,CA 约束、OCSP/CRL 证书吊销等能力可能生效;
- 在 macOS 上可提升性能:不再需要在启动时从 keychain 加载全部证书。
官方同时强调:如果你没有使用 native-tls 选项去读取系统证书,此改动应当没有影响——因为 uv 默认使用内置的 Mozilla 根证书集,只有显式启用系统证书时才走到这条路径。
2. 加密后端从 ring 换成 aws-lc
aws-lc 取代 ring 作为加密后端。官方认为该改动本身不应带来破坏性变化,预期收益是扩大对证书签名算法的支持。从当前仓库的 Cargo.toml 可以确认,工作区依赖中 reqwest 已固定为 0.13.1 且启用 rustls 特性(并关闭 default-features),与 0.11.0 公告描述的栈一致。
3. --native-tls 弃用,改为 --system-certs
动机是消除命名歧义:uv 始终使用 rustls,而不是 native-tls,“native-tls”这个名称只表示“读取系统的信任根”。--native-tls 目前仍可正常使用,行为与 --system-certs 完全一致;后续文档已将其与 UV_NATIVE_TLS 标记为弃用(0.11.9)。
这一行为在当前仓库源码中可直接验证。crates/uv-cli/src/lib.rs 中 native_tls 的 doc 注释明确写着“(Deprecated: use --system-certs instead.)”,且两个 flag 通过 overrides_with_all 互相关联;system_certs 的帮助文本说明:默认使用内置 Mozilla 根证书以获得可移植性与性能(尤其是 macOS),而在依赖企业强制代理信任根等场景下应使用平台证书存储。典型用法:
# 让 uv 读取操作系统证书存储(例如企业 CA 场景)
uv pip install --system-certs <package>
# 旧写法仍然可用,但已弃用
uv pip install --native-tls <package>
4. x86-64/i686 Windows 源码构建需要 NASM
aws-lc 在 Windows x86-64 与 i686 上编译需要 NASM;若系统未安装,将回退到 aws-lc-sys 提供的预编译 blob。官方明确说明:不从源码构建 uv 的用户不受影响。构建细节见 CONTRIBUTING.md 的 setup 章节。
5. 空值 SSL_CERT_FILE 被忽略
为与 SSL_CERT_DIR 的行为保持一致,取值为空的 SSL_CERT_FILE 现在会被忽略。这一点在 crates/uv-client/src/tls.rs 中得到印证:load_ssl_cert_file 分支中存在 env::var_os(EnvVars::SSL_CERT_FILE) && !ssl_cert_file.is_empty() 的判断,空字符串不再触发“无效证书文件”路径。同文件中还保留了 --cert、SSL_CERT_FILE、SSL_CERT_DIR 三类证书来源(CertificateSource 枚举)以及针对无效证书的细粒度诊断(tls.rs),对应 0.11.5/0.11.7 中“改进 TLS 证书错误信息、过滤并告警无效证书”的条目。
Python 侧:启用 frame pointer
0.11.0 同时升级了随附的 Python 构建:在 Linux x86-64 与 aarch64 上启用 frame pointer,改善剖析(profiling)能力。
安全主线:四轮加固与漏洞修复
0.11 系列包含四次明确的安全相关发布,构成一条清晰的“解析层加固”主线,涉及 tar、zip、wheel RECORD、entry point 四类攻击面:
- 0.11.6(2026-04-09):修复低危安全通告 GHSA-pjjw-68hj-v9mw——带有畸形 RECORD 条目的 wheel 可在卸载时删除任意文件。修复措施为卸载时不删除 venv 之外的文件,并在安装期间校验并修复(heal)wheel 的 RECORD。这是该系列中唯一以“解决安全通告”为发布目的的修复版,建议仍在 0.11.5 或更早版本的部署优先升级到 0.11.6 及以上。
- 0.11.15(2026-05-18):修复 TAR 解析器差异(对应上游 tokio-tar 的 GHSA-3cv2-h65g-fgmm),并强制 entry point 不得逃逸出 scripts 目录(GHSA-4gg8-gxpx-9rph)。
- 0.11.25(2026-06-26):将 tar 库 astral-tokio-tar 升级到 v0.6.3,包含 20 多项针对**解析器差异(parser differential)**的加固。官方提醒:uv 可能拒绝此前被接受的、内容畸形或含糊的源码分发包(sdist)。
- 0.11.28(2026-07-07):将 ZIP 库 astral-async-zip 升级到 v0.0.20,含 15 项 ZIP 处理加固,同样可能拒绝此前被接受的畸形/含糊 ZIP 归档。
“解析器差异”指的是不同解析器对同一畸形输入产生不同理解所带来的安全面——这类加固的代价是输入兼容性收紧:依赖畸形 wheel/sdist 的既有流水线在升级后可能收到新的拒绝错误,这属于预期的行为变化而非回归。
在 0.11.16~0.11.33 的 Bug fixes 中还可以看到一系列平行的防御性收紧:限制 entry point 解析的分隔符(0.11.16)、在 uv-build 中拒绝不安全 entry point(0.11.16)、拒绝 PEP 517 backend-path 逃逸源码树(含符号链接逃逸,0.11.29)、防止构建后端数据路径绕过 wheel 排除项(0.11.29)、拒绝带多个 .dist-info 目录的 wheel(0.11.25)、禁止 .tar.zst wheel 中的外部符号链接(0.11.8)、uv cache clean/prune 不再跟随符号链接(0.11.20)等。0.11.29 还文档化了 uv 的威胁模型(见仓库内 agents/references/threat-model.md),为这些防护决策提供了背景说明。
Python 解释器支持的时间线
0.11 系列贯穿了一整轮 CPython 3.14/3.15 的发布周期,解释器更新条目按版本如下:
- 0.11.0:Linux x86-64/aarch64 启用 frame pointer,改善剖析;
- 0.11.5:新增 CPython 3.13.13、3.14.4、3.15.0a8;
- 0.11.7:CPython 构建升级至 20260414,内含 OpenSSL 安全升级;
- 0.11.9:新增 CPython 3.14.5rc1 并附重要公告——Python 3.14 引入的新垃圾回收实现虽降低了停顿时间,却在生产环境造成显著的意外内存压力,3.14.5 与 3.15 将恢复旧实现;官方呼吁社区测试 3.14.5rc1。同版本升级 PyPy 至 v7.3.22,并让 macOS 上的 CPython 静态链接
libpython以对齐 Linux; - 0.11.12 / 0.11.13:CPython 3.15.0b1,随后 3.14.5 正式版;
- 0.11.19:CPython 3.15.0b2;新增 PyEmscripten 平台(PEP 783) 与 Pyodide 2025 target triple;
- 0.11.21:新增 CPython 3.13.14、3.14.6;
- 0.11.24:CPython 3.15.0b3;
- 0.11.28:升级 GraalPy 至 25.1.3;
- 0.11.29:PyPy 下载改用 gzip 压缩产物;
- 0.11.33:Pyodide 安装改用
.tar.gz归档。
与之配套的 Python 发现/安装修复散布于整个系列:按 requires-python 固定版本时发现带版本号的解释器(0.11.9)、ARMv7 浮点环境处理(0.11.9)、Wine 下的符号链接/锁行为(0.11.9)、Windows 注册表中 Python 变体标签(0.11.8)、卸载 Python 版本时正确清理 junction(0.11.5)、uv python list 并行发现版本(0.11.21 性能项)等。
pylock.toml 与导出/锁文件的成熟
pylock.toml(面向 pip 生态的锁定格式)在本系列中经历了一轮完整的校验硬化:
- 0.11.13:从
pylock.toml安装时尊重--require-hashes; - 0.11.22:校验
lock-version是否受支持;校验当前环境满足packages.requires-python; - 0.11.25:始终输出
packages表(0.11.27); - 0.11.29:拒绝重复的 active package 条目;从 URL 优先回退到本地工件(0.11.29 增强项);
- 0.11.32:
uv lock --check与--locked命令拒绝非规范格式的锁文件,并可用uv lock --refresh重新生成。
uv export 线则修复了 workspace 成员冲突导出(0.11.0、0.11.4),并在 0.11.20 加入 --emit-index-url 与 --emit-find-links 输出选项;0.11.29 修复了导出中保留条件 extra marker 的问题。uv tree 方面,0.11.29 新增 JSON 输出,0.11.14 修复了 extras 条件依赖的误显示,0.11.22 修复了 --invert 输出错误。
预览特性体系:audit、check、upgrade 与集中式环境
uv audit:从新增参数到多格式输出
audit 是本系列演进最完整的预览特性:
| 版本 | 新增能力 |
|---|---|
| 0.11.0 | --service-format 与 --service-url(自定义审计服务) |
| 0.11.2 | 判定可审计包时考虑 extras 与 groups |
| 0.11.3 | --ignore 与 --ignore-until-fixed |
| 0.11.5 | 被忽略漏洞的上下文/告警信息 |
| 0.11.7 | 修复 --script 处理与 extras 遍历 |
| 0.11.9 | 报告项目不利状态(adverse project statuses) |
| 0.11.15 | JSON 输出 |
| 0.11.22 | SARIF 输出;OSV 错误专门化 |
| 0.11.29 | 分片处理超过 OSV 服务 1,000 包上限的查询;固定版本信息仅匹配对应包与生态系统 |
| 0.11.31 | 新增 audit.malware-check 与 audit.malware-check-url 配置 |
0.11.31 的恶意软件检查配置在源码中可见其接线方式:crates/uv/src/commands/project/environment.rs 中由 MalwareCheckSettings 构建 malware_check_client_builder,说明该项配置最终作用于项目环境构建时的客户端。配套的恶意软件拦截逻辑(拒绝已锁定的恶意软件安装、缓存复用前检查已锁工具)分别在 0.11.16 与 0.11.33 落地。
uv check:0.11.18 引入的静态检查命令
uv check 于 0.11.18 作为预览命令首次出现(从 uv 内部运行 ty),随后快速迭代:0.11.19 尊重 --isolated;0.11.22 支持在 uv check --no-sync 时更新锁文件、为 uv check/uv metadata 增加 --script、引入 TY/RUFF 环境变量以指定二进制路径(0.11.22 增强项);0.11.25 使用锁定的 ty 版本并在缓存复用前校验锁文件哈希;0.11.32 新增 --package / --all-packages 选择器,并默认只在传入 --script 时才检查脚本(0.11.33)。
uv upgrade 与集中式项目环境
隐藏的 uv upgrade 命令在 0.11.20 初现(拒绝 Git 修订),0.11.21 允许更新单个依赖约束,0.11.32 允许同时更新同一包的多条 marker 特定声明。
“集中式项目环境”(centralized project environments)从 0.11.24 的 preview(项目环境可重定位)起步:0.11.25 加入集中存储与 uv venv 支持、uv workspace list --scripts;0.11.30 允许 --sync 通过 --active 指向活动虚拟环境、通过符号链接访问 workspace 时复用集中环境;0.11.31 支持 .venv 文件内含指向集中式环境的路径。这组特性改变了“每个项目一个 .venv”的默认形态,是从源码结构看 uv 环境模型的一次重要演进,目前仍处于 preview 状态。
此外,0.11.22 允许在 uv.toml 和 pyproject.toml 中直接配置 preview 特性开关,0.11.29 将 preview 设置纳入发布的 SchemaStore schema(仓库根目录的 uv.schema.json 即其产物)。
新环境变量与配置面
0.11 系列为运维与 CI 场景补充了一批配置入口:
| 版本 | 新增 | 用途 |
|---|---|---|
| 0.11.8 | UV_PYTHON_NO_REGISTRY |
控制 Windows 注册表 Python 探测 |
| 0.11.8 | UV_NO_PROJECT 对应环境变量 |
禁用项目模式的行为可环境变量化 |
| 0.11.8 | UV_PYTHON_SEARCH_PATH |
覆盖 Python 发现路径 |
| 0.11.16 | UV_NO_SYSTEM_CONFIG |
禁用读取系统级配置 |
| 0.11.20 | UV_NO_INSTALL_PROJECT / UV_NO_INSTALL_WORKSPACE / UV_NO_INSTALL_LOCAL |
安装粒度控制 |
| 0.11.22 | TY / RUFF |
指定 uv format / uv check 使用的二进制路径 |
| 0.11.31 | audit.malware-check、audit.malware-check-url |
恶意软件检查开关与端点 |
镜像(Astral mirror)相关能力也在这一周期成型:0.11.2 让 uv self update 优先从镜像取 manifest,0.11.8 让自更新直接从镜像获取 uv 并允许相对 exclude-newer/exclude-newer-package 在锁文件中改用哨兵时间戳,0.11.14 提供 Astral 镜像 URL 覆盖。exclude-newer 本身还获得了一系列语义修正:允许缺失(0.11.8)、支持 false 退出(0.11.3 文档化、0.11.24 允许禁用)、uv tree --outdated 与 uv tool list --outdated 正确重算/尊重相对值(0.11.4)、相对 exclude-newer 在 pip 子命令中的支持文档化并测试(0.11.16)。
性能优化:从锁竞争到去分配
该系列的 Performance 条目呈现出三个阶段的重心转移:
- I/O 与发现阶段(0.11.0~0.11.20):跨索引避免持有 flat index 锁(0.11.0)、
uv run跳过冗余项目配置解析(0.11.2)、大 workspace 发现提速(0.11.20)、uv python list并行发现(0.11.21)、本地 Python 可用时避免解析 JSON manifest(0.11.15); - 解析与序列化阶段(0.11.26~0.11.30):适配 IDs-only PubGrub 依赖、PubGrub 迭代间复用求解工作、紧凑化缓存的 Simple API 元数据、
toml_writer加速锁文件序列化、SIMD 加速 TOML 解析(0.11.27)、对单段数字三位版本的特化解析(0.11.28); - 分配与内存阶段(0.11.27~0.11.31):0.11.28 一次性落地了 20 余项 “Avoid allocating/… ” 级别的微优化(Git 修订、规范化的 Python 请求串、静态 ABI 描述、resolver 报告标签等),0.11.30 进一步限制并发缓存读、把缓存解码移出 resolver 工作线程,0.11.31 消除了传递冲突去重的二次方工作。
0.11.15 中还有一批值得注意的结构性优化:本地 Python 可用时避免 JSON manifest 解析、linker 冲突注册不再遍历嵌套目录、异步 wheel ZIP 写入优化。若某版本升级后出现解压本地 wheel 的性能回退,0.11.18 已专门修复(回归修复)。
缓存健壮性大修(0.11.20~0.11.21)
0.11.21 的 Bug fixes 用三个子标题组织了本轮大修,值得单独梳理:
- 缓存健壮性与剪枝:CI 剪枝允许缺失 sdist 桶、读取畸形缓存条目不再溢出、剪枝时保留已缓存的 Python 下载、拒绝在缓存目录内部运行 uv(0.11.21 起 uv 会在检测到运行位置位于缓存内时直接拒绝,避免自我删除风险);
- Python 发现与版本请求:Unicode 版本请求不再 panic、路径请求下的非致命错误处理、修复 stop-discovery-at 回归;
- 解析与校验硬化:版本说明符允许尾随逗号、拒绝畸形哈希选项与冲突集合重复项、拒绝缺少分隔符的 sdist 文件名、拒绝重复脚本元数据块、禁止
python3之类名称作为脚本 entry point、递归 requirements 路径别名不再栈溢出等——这批修复的共同模式是“把此前的 panic 路径转换为受控错误”,与 0.11.33 “release 构建中 abort panic 以减小二进制体积”相呼应。
0.11.20 同期修复了 uv cache clean/prune 跟随符号链接的问题(安全相关),0.11.11 则保证了 0.11.9 引入的缓存 ID 格式变化对旧缓存的兼容。
值得单独记录的修复与行为变化
除上述主线外,以下内容对日常使用影响直接,建议按需回溯:
- 工作区:0.11.0/0.11.4 修复
uv export对含依赖的冲突 workspace 成员的导出;0.11.8 支持仅含dependency-groups的pyproject.toml执行uv lock;0.11.23 恢复了“被中间pyproject.toml隐藏的 workspace 成员按独立项目处理”的旧行为;0.11.29 起uv add对标准库模块名给出诊断,0.11.31 允许 workspace 源码以路径引用另一 workspace 的成员; - Git 依赖:0.11.16 新增 Git 直接归档依赖(含 LFS 工件校验,0.11.17)、0.11.9 修复锁文件中的传递 Git 路径依赖、0.11.8 防止 uv 调用的 git 继承仓库位置环境变量、0.11.20 修复 worktree 与 packed refs 的缓存键、0.11.29 对失败的 Git fetch 命令脱敏凭据;
- 认证:0.11.15 新增 Azure 请求签名、0.11.1 修复 pyx 存储无 token 时继续回退到替代认证提供方、0.11.15/0.11.8 对预签名上传 URL 与详细日志中的凭据脱敏、0.11.17 起
uv sync --frozen下应用 workspace 成员的[tool.uv.sources]凭据; - 脚本(
uv run script.py):0.11.14 避免在父进程中应用.env、0.11.17 修复长文件名脚本环境创建并避免--env-file改动父进程环境、0.11.29 初始化脚本时尊重 Python 版本 pin; - 构建前端:0.11.3 实现 PEP 803、0.11.17 为 uv-build 增加
import-names/import-namespaces(PEP 794)、0.11.22 允许 PEP 517 构建钩子递归调用 uv、0.11.25 起构建前端推荐 uv 自己的构建后端、0.11.31 对树内构建后端不再误报uv_build配置警告; - 工具(
uv tool):0.11.17 从源码树推断uv tool的 Python 版本请求、0.11.25 工具回执包含完整 lockfile、0.11.20 允许工具卸载在悬挂回执后继续、0.11.24 清理部分安装的工具入口点; - 其他命令:0.11.8 支持
pip uninstall -y兼容、0.11.12 为uv pip install增加--no-editable、0.11.13 使uv pip check尊重依赖元数据覆盖、0.11.20 为uv pip list增加--find-links、0.11.17 暴露uv workspace命令及list子命令。
升级建议与适用前提
结合 changelogs/0.11.x.md 全系列的条目分布,可以给出以下基于仓库事实的升级参考:
- 最低安全基线:如果当前版本低于 0.11.6,建议至少升级到 0.11.6 以修复 wheel RECORD 卸载漏洞;理想目标是系列末端(0.11.33),以覆盖 tokio-tar 与 async-zip 的解析器加固。注意加固后的 uv 会拒绝部分此前可接受的畸形 sdist/ZIP,若流水线依赖畸形工件需提前排查;
- TLS 行为变化:升级跨过 0.11.0 后,如出现证书链接受/拒绝行为的反转,优先排查是否启用了
--system-certs(旧名--native-tls);企业代理 CA 场景应显式使用--system-certs,空值SSL_CERT_FILE不再被当作无效配置; - 构建方注意:从源码构建 Windows x86-64/i686 目标需要 NASM(或接受预编译 blob 回退);0.11.18 起 MSRV 为 Rust 1.94,0.11.27 将工具链更新至 1.96.1,工作区根目录的 rust-toolchain.toml 记录了当前固定版本;
- Python 版本注意:3.14 系列的 GC 回退(3.14.5 起恢复旧实现)会影响对内存行为的预期;PyEmscripten/Pyodide/PyPy/GraalPy 的支持在本系列中显著扩展;
- preview 特性门槛:audit 的高级输出、
uv check、uv upgrade、集中式项目环境等均处于 preview 状态,0.11.22 起可在uv.toml/pyproject.toml中声明开启,配置项参见 uv.schema.json。
前一个系列的变更记录已归档,见 changelogs/0.10.x.md;更早版本可依次查阅 changelogs/ 目录下的 0.1.x~0.9.x 文件。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0624
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00