参考迁移指南

从 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.1.20,并记录yanxu version --json
  2. 联网运行yanbao installyanbao update,让锁定依赖进入新的不可变缓存;不要手改锁文件或缓存摘要。
  3. 运行检查、格式化一致性、规格测试、依赖审计和 Release 构建。
  4. 含原生扩展的项目在每个目标平台重新验证动态依赖闭包;不满足新装载规则时静态链接非系统依赖后重建。
  5. 检查超大模块、元数据、目录树、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、构建来源证明与签名复验。核心和共享包标签保持不可变;未通过动态门禁的预发布标签不会被移动或直接晋升为稳定版。