参考迁移指南

1.1.18 追溯说明

了解未发布快照的依赖、归档、原生装载与供应链迁移边界。

没有稳定 Release

1.1.18 没有通过完整动态检查,未形成稳定 Release。以下能力最终由 1.1.20 正式交付;请直接阅读1.1.20 迁移并升级到 1.1.20。

依赖与缓存

路径、Git 与注册表依赖在清单、锁定目标和完整树摘要校验后,发布为内容寻址、只读的 generation。解释器、VM、检查器、LSP、文档与构建消费解析阶段保存的同一能力,不再从可变来源路径重新建立信任。

首次升级后应联网运行一次yanbao installyanbao update,建立 Git v2 bare 对象库与注册表不可变快照。离线模式只接受锁文件中的 40 位精确 Git 提交和已经复验的 generation;不要手工移动旧缓存或改写摘要。

固定安全预算

输入上限
包清单 / 工作区成员清单4 MiB
锁文件16 MiB
辖制清单8 MiB
注册表索引32 MiB
单个模块源码8 MiB
Git bare 对象库1 GiB、1,000,000 项、256 层
目录工具单目录 4,096 项、整树 100,000 项、相对根 128 层

最终文件符号链接、Windows 重解析点、特殊文件、读取期间身份替换以及可移植大小写/Unicode 路径碰撞都会被拒绝。超过预算的项目应拆分源码或精简元数据。

归档、资源与原生库

打包从已打开的包根捕获入口、资源、图标和原生制品快照;解包同时计量 gzip 输入、完整 tar 展开量、条目、路径和数据,并拒绝附加 member、尾随数据、链接和等价路径碰撞。非规范旧归档应从源码重新打包。

ABI v2 磁盘模块只能装载自身或直接锁定依赖的制品。Linux 拒绝 RPATH/RUNPATH 和路径型依赖,macOS 只允许固定系统库路径,Windows 拒绝延迟导入;依赖相邻动态库的扩展应改为静态链接或受支持的系统依赖后重建。

工程协议仍为 v1,但全量audit必须协商并回显 Schema 1 的十二项检查能力。缺少能力声明的旧核心不能被当作完成了安全审计。