Releases: yanxulang/yanxu-markdown
Releases · yanxulang/yanxu-markdown
Release list
1.0.1
言章 1.0.1 发布说明
言章 1.0.1 修复 1.0.0 标签全新克隆验收发现的示例与基准锁校验和漂移,并把跨平台锁语义一致性加入持续集成。公共 API、渲染结果和安全策略不变。
修复
- 在所有仓库内容确定后重建示例和基准锁,记录最终根包内容校验和;
- 连续重建锁会得到完全相同的内容,证明锁生成收敛;
- CI 在更新前保存提交锁,更新后移除平台相关的
target行并逐字比较其余内容; - CI 继续允许 macOS 与 Linux 目标三元组不同,但版本、修订、依赖图或校验和漂移都会失败。
兼容性
- 最低言序:1.1.12;
- 清单格式:2;
- 言页:
^1.0,修订固定为其v1.0.0; - 宿主权限:无;
- 公共声明:28 个,与 1.0.0 相同;
- 许可证:MIT。
此补丁没有破坏性 API 或输出变化。1.0.0 用户只需把固定标签更新为 v1.0.1并重新生成应用锁。
验证
- 11 个
.yx文件通过格式与静态检查; - 7 份行为规格全部通过;
- 28 个公开声明全部通过机器 API 文档门禁;
- 根包、示例和基准三份锁在线重建后离线验证;
- 三份锁连续重建两次的 SHA-256 保持一致;
- 两份示例通过源码运行,默认示例通过 Release 制品复验;
- 根包、示例和基准三个 Release 制品构建成功;
- 源码与 Release 基准各 50 轮,完整和流式字符均为 289450,流式片段为 9950;
- PR、默认分支和标签 CI 均执行跨平台锁语义比较。
已知限制
1.0.0 的 Markdown 子集、同步流式失败语义、URL 业务授权边界和可信扩展责任保持不变。详见安全模型与性能文档。
1.0.0
言章 1.0.0 发布说明
言章 1.0.0 建立安全 Markdown 解析、结构化节点、目录、完整 HTML 与增量 HTML 的首个稳定兼容面。此版本不是只调整版本号:解析、资源、错误、言页集成、测试、示例、基准、文档和持续集成均完成稳定化。
主要变化
- 保留标题、段落、分隔线、平坦列表、引用和围栏代码子集;
- 保留粗体、强调、删除线、行内代码、链接和图片;
- 提供确定的重复标题锚点与目录;
- 新增输入、行、块、列表、内联深度、输出字符和片段预算;
- 新增所有解析、内联、节点、目录和完整渲染的受限入口;
- 新增结构化错误详情及尝试解析/渲染信封;
- 新增块级流式渲染、统计和显式可信扩展;
- 新增手工节点严格校验、严格围栏闭合和地址策略收紧;
- 新增独立可锁示例、确定性基准和 Release 制品验证。
安全
所有普通 HTML 输出通过言页 1.0。文字、代码、属性和标题锚点默认转义;链接协议按大小写不敏感白名单处理;图片拒绝邮件、电话和片段;控制字符、脚本和数据协议不能进入 URL 属性。
扩展块是唯一公开的原样 HTML 写出边界。它仍受字符和片段预算保护,但调用方必须保证内容可信。
兼容性
- 最低言序:1.1.12;
- 清单格式:2;
- 言页:1.0.x,稳定清单固定
v1.0.0; - 宿主权限:无;
- 许可证:MIT。
0.1 的解析、渲染内联、渲染节点、渲染HTML、目录、锚点和是否安全链接继续提供。安全收紧和新错误行为见迁移指南。
破坏性或收紧变化
- 未闭合代码围栏现在失败;
- 围栏结束行必须严格匹配三个反引号;
- 地址协议检查大小写不敏感并拒绝控制字符;
- 危险图片地址整体按文字回退;
- 手工节点缺失字段、错误类型、无效标题层级和非文字列表项目失败;
- 大输入和输出可能触发新资源错误;
- 最低言序版本提升到 1.1.12。
验证
- 11 个
.yx源文件执行格式与静态检查; - 7 份行为规格覆盖解析、渲染、目录、地址、资源、错误、流式和扩展;
- 2 个示例执行源码与 Release 验证;
- 1 个基准负载执行源码与 Release 各 50 轮;
- 50 轮完整与流式字符均为 289450,流式片段为 9950;
- 根包、示例和基准均使用格式 2 清单、独立锁和零宿主权限;
- Release 构建产出根库、示例与基准三个 YXB 制品。
耗时是环境数据,不作为版本承诺。确定性计数与具体复验命令见性能文档。
已知限制
- 不完整实现 CommonMark 或 GFM;
- 不解析或清洗原始 HTML;
- 不支持嵌套列表、表格、脚注和引用式链接;
- 流式输出不是增量 Markdown 解析,也没有异步背压或回滚;
- URL 策略不判断主机、重定向、同源和业务授权;
- 扩展输出的内容安全由调用方负责。
升级
把依赖范围更新到 ^1.0,固定 v1.0.0,使用言序 1.1.12 重新生成锁,运行应用快照和安全回归。完整步骤见迁移指南。