参考迁移指南
从 1.1.17 升级到 1.1.20
采用不可变依赖快照、安全归档、解析深度限制,并复核预发布格式化结果。
言序 1.1.18 与 1.1.19 均未形成稳定 Release;1.1.17 用户应直接升级到 1.1.20。语言语法、25 个标准库签名、清单格式 2、锁文件格式 2、YXB 格式 1、字节码格式 2、原生 ABI v1/v2 和工程协议 1 均未提升版本。
升级步骤
- 固定安装 1.1.20,并记录
yanxu version --json。 - 联网运行
yanbao install或yanbao update,让锁定依赖进入新的不可变缓存;不要手改锁文件或缓存摘要。 - 运行检查、格式化一致性、规格测试、依赖审计和 Release 构建。
- 含原生扩展的项目在每个目标平台重新验证动态依赖闭包;不满足新装载规则时静态链接非系统依赖后重建。
- 检查超大模块、元数据、目录树、Git 对象库与 32 层源码结构是否触及固定安全预算。
yanbao install
yanbao check
yanbao test
yanbao audit
yanbao build --release不可变 generation、元数据/目录预算、归档和 ABI 细节见1.1.18 追溯说明;32 层解析边界见1.1.19 追溯说明。
只针对 1.1.19 预发布用户
1.1.19 格式化器会把单元素元组(值,)改写成语义不同的普通括号表达式(值)。若源码曾由该预发布版写回:
- 用版本控制检查 1.1.19 格式化产生的差异;
- 为仍表示元组的单元素表达式恢复末尾逗号;
- 使用 1.1.20 连续运行两次
yanxu fmt --write,确认第二次没有变化; - 重新执行类型检查与测试,确认元组和普通括号表达式没有混淆。
未用 1.1.19 写入式格式化的项目无需修改源码。1.1.20 会保留消歧逗号,并把对应崩溃输入固化为回归种子。
发行与供应链
1.1.20 的六平台 Release 提供逐目标构建元数据、CycloneDX 1.5 SBOM、构建来源证明与签名复验。核心和共享包标签保持不可变;未通过动态门禁的预发布标签不会被移动或直接晋升为稳定版。