Releases: yanxulang/yanxu-semver
Releases · yanxulang/yanxu-semver
Release list
言版 1.0.0
言版 1.0.0
摘要
1.0.0 定义言版的首个稳定公共 API:严格 SemVer 2.0.0 版本处理、明确的范围语法、可预期的预发布策略、结构化失败与有界候选选择。
新增能力
错误详情、尝试解析和尝试满足。等价、是预发布和递增。满足选项与{「包含预发布」:真}显式选项。范围是否合法、筛选满足、筛选满足选项和最小满足。- 部分尖帽范围与完整/部分端点的连字范围。
默认限制公开资源边界。
修复与强化
- 纯数字预发布标识不再转为浮点数,避免超过安全整数后的优先级错误。
- 带预发布或构建标识的完整版本可直接作为精确范围。
- 范围并集不再因早期匹配而跳过后续无效分支。
- 排序从二次复杂度插入排序升级为稳定归并排序。
- 范围上界和版本递增均检查安全整数溢出。
兼容性与迁移
- 包名和 0.1.0 的现有公开入口均保留。
- 普通范围默认不选中预发布;需要 0.1.0 的宽松行为时,使用
满足选项并显式包含预发布。 - 超长输入和超量候选现在使用
YANBAN_LIMIT明确拒绝。 - 建议把 Git 修订固定为
v1.0.0,版本范围使用^1.0,并提交言序.lock。
工具链、依赖与权限
- 最低言序:1.1.6。
- 第三方包依赖:无。
- 宿主权限:无;不向顶层应用传递额外权限。
- 实现:纯言序,无原生扩展。
验证
- 4 个规格文卷通过,覆盖官方优先级、无效输入、错误代码、范围边界、预发布、筛选、排序稳定性和资源上限。
- 全部规格文卷通过字节码 VM 执行。
- 两个示例和性能回归工作负载通过字节码 VM 执行。
- 全部言序文卷通过格式和静态检查,生成 API 无漂移。
- 锁图重建与 Release YXB 构建通过。
已知限制
- 主、次和修订段限于
0..9007199254740991。 - 范围语法不支持括号或隐式逗号交集。
- 范围交集仅使用 ASCII 空格分词。