参考迁移指南
1.1.18 追溯说明
了解未发布快照的依赖、归档、原生装载与供应链迁移边界。
没有稳定 Release
1.1.18 没有通过完整动态检查,未形成稳定 Release。以下能力最终由 1.1.20 正式交付;请直接阅读1.1.20 迁移并升级到 1.1.20。
依赖与缓存
路径、Git 与注册表依赖在清单、锁定目标和完整树摘要校验后,发布为内容寻址、只读的 generation。解释器、VM、检查器、LSP、文档与构建消费解析阶段保存的同一能力,不再从可变来源路径重新建立信任。
首次升级后应联网运行一次yanbao install或yanbao 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 的十二项检查能力。缺少能力声明的旧核心不能被当作完成了安全审计。