# Changelog

## 0.7.2 — 2026-10-05

- 修复引用式链接的重复定义覆盖：第一条有效定义优先，后面的有效路径不能掩盖第一条断链。
- 引用标签按 Unicode 15.0.0 默认大小写折叠匹配，保留标点前空格和非断行空格的区别；不复用网页引文的排版归一化。
- 分开解析链接目的地和标题，支持标题中的括号、制表符分隔、角括号目的地中的非成对括号及路径标点转义；非法定义与标题继续保持未核验。
- 新增正反样例、9 项 portable 回归、4 项 CLI 集成，以及每目标 1 项公共 API 消费回归；断链失败不创建 init 基线，转义后越界地址仍拒绝。
- 修正固定案例警告统计：66 条中 58 条为引号诊断、8 条为编辑器位置写法；保存逐项上下文复核，尚未改变默认引文策略。
- 源码包、实际注册表安装与独立包验证均检查上述正反样例，并保存实际 JSON 检查结果；报告 v1、公开 API、项目配置与快照结构不变。

- 补入 0.7.1 正式交付身份、实际注册表多语言锚点回执与下一轮 CI 噪声复核计划，已发布内容保持固定。

## 0.7.1 — 2026-10-05

- 修复有效非 ASCII 标题锚点的误报：按 Unicode 15.0.0 默认规则转换大小写，包含 Sigma 上下文与 İ 的多字符展开；旧版依赖保留非 ASCII 大写的链接需改为实际生成的小写锚点。
- ATX/Setext 共用转换和重复锚点编号；保留缺失锚点失败、来源变化复核、百分号解码以及不做重音规范化的行为。
- 提供 12 条多语言标题链接最小样例和固定 github-slugger 2.0.0 的独立核对记录，纳入 CI、源码包、注册表 CLI 及独立包验证。
- 新增 7 项 portable 回归、3 项 CLI 集成、每目标 1 项公共 API 消费验证，保留 Unicode 数据许可、属性来源与离线生成检查。
- JSON 报告读取样例对非对象输入明确报错，错误类型的条目保留为待复核；补充 2 项消费边界回归。报告 v1、公开 MoonBit API、项目配置和快照结构不变。

## 0.7.0 — 2026-10-04

- 新增独立 MoonBit 库项目，通过注册表导入 portable 核心，在 native、JS、Wasm 执行同一维护样例。
- 新增复用 tracecite.json 的 CI 模板，以及八步新项目接入演示，验证本地与 Action 检查脚本一致。
- check/init JSON 报告新增 schema_version=1、tool_version 及 category；保留旧字段、可选字段省略行为和退出码。
- 提供 JSON Schema、真实报告、消费读取器和未知版本/状态/分类边界验证；原有无版本报告仍需按旧约定读取。
- 网页回源失败分别解释 HTTP 状态、超时、代理、重定向、体积、内容类型和文本解析；source_unavailable 与内容不匹配区分。
- 注册表与源码包消费验证新增独立库样例及共享配置接入流程，独立包验证新增六步纯 CLI 接入。
- 发布来源检查支持统一的 CLI 版本常量，并保留旧版字面版本兼容；新增过期常量与未使用常量的失败回归。
- 公开 MoonBit API、项目配置和基线结构未变化；0.6.1 的三个兼容性修复继续保留。


## 0.6.1 — 2026-10-04

- 根据两个真实仓库的固定案例修复 Unicode 标点锚点、脚注定义误识别及仓库根路径链接。
- `/路径` 本地来源现在相对 --root 解析；原先的操作系统绝对路径含义不再适用。实际目录穿越和符号链接越界仍失败。
- Unicode 15.0.0 标点表随 portable 核心分发，附生成脚本与 Unicode License V3；公开 MoonBit API 不变。
- 补充兼容性最小样例、5 项 portable 回归、5 项 CLI 集成及 Unicode 许可缺失保护测试。
- 固定真实案例中 async 的失败数从 3 降为 2，保留两条真实断链；moon 的失败数从 10 降为 0。未检查内容与待复核项继续明确统计。
- 保留 0.6.0 交付证据，新增真实仓库复现脚本与修复前后记录，不将本地评估表述为上游采用。

## 0.6.0 — 2026-10-04

- 项目配置和 CLI 扫描支持 `*`、`?`、完整段 `**`；排除支持同一规则，空匹配和通配符越界输入明确失败。
- 增加 `--review`，按来源归并受影响文档；`--preview-baseline` 展示去重后的新增、变化、删除及完整只读候选。
- 支持 Setext 和多行标题，与 ATX 共用锚点和区域快照规则，补充代码、注释、HTML、列表边界。
- 增加 coverage 数量预算及 CLI 覆盖，超限在非严格模式下也失败并阻止候选与快照。
- 新增 14 步离线复核演示，接入 CI、源码解包、独立包和注册表消费验证。
- 配置 JSON 继续使用版本 1；MoonBit 的 DocumentProjectConfig 新增 coverage 字段，手工构造该结构时需补充两个可选上限，解析函数调用方式不变。

以下为 0.5.1 发布后的交付工具维护：

- 增加手动发布源码验证工作流：签出固定标签，下载注册表原始 ZIP，核对源码和摘要，验证真实消费后附加 Release 资产。
- 补齐 0.5.1 发布后的固定提交、资产摘要与验收回执；原版本标签和已发布源码包保持不变。

## 0.5.1 — 2026-10-01

已发布 [GitHub Release](https://github.com/Freakz2z/tracecite/releases/tag/v0.5.1) 和
[Freakz2z/tracecite@0.5.1](https://mooncakes.io/docs/Freakz2z/tracecite)。
源码提交：[d4090a5](https://github.com/Freakz2z/tracecite/commit/d4090a5ffa8fb1fdf01fe48a6b27801f72753683)。
交付摘要与消费验证见 [验收说明](docs/acceptance.md)。

- 同步模块、CLI 与安装说明版本，保留 0.5.0 的公开接口和维护行为。
- 发布前要求干净的固定标签提交；已有版本与注册表异常会阻止上传。
- 验证所有包内文件与源码一致；发布后核对注册表摘要、三目标真实消费与已安装 CLI 的维护闭环。
- native 包文件名带版本号，两平台构建通过后创建附校验文件和身份清单的 GitHub Release 草稿。

- 新增 ROADMAP.md，记录后续版本目标、任务与完成标准，并在 README 提供入口。

- 按组委会 9 项指南补齐逐项验收清单、源码结构和核心测试路径对照；CI 直接运行最小离线样例并检查格式与接口生成。

- 新增 13 步离线文档维护演示，保存逐步 JSON 诊断与验收回执，CI 上传完整证据。
- 增加申报方向与成果对照，区分受控测试、实际 Agent 接入和外部引用审计。
- 补齐第三方许可来源、完整 MoonBit core NOTICE、native 运行时组件通知；
  独立包使用全新暂存目录，附构建身份与文件摘要，缺项或校验失败时停止打包。
- 源码解包验证纳入许可、验收材料和使用安装后 CLI 的维护演示。

本版本将 0.5.0 发布后的文档与许可改动纳入正式源码包，交付标签为 v0.5.1。

## 0.5.0 — 2026-09-30

已发布 [Freakz2z/tracecite@0.5.0](https://mooncakes.io/docs/Freakz2z/tracecite)。
源码提交：[49f87d7](https://github.com/Freakz2z/tracecite/commit/49f87d781d4fd71a218eba38121fa12a59b30594)。

- 新增 Markdown 文档引用维护：本地链接、标题/行范围/区域、绑定源码的代码块、逐字引文。
- 保存引用快照，来源变化定位到文档行并展示之前与当前内容；明确统计未检查引用与代码块。
- 增加 tracecite.json 项目配置和 init 入口，本地与 GitHub Action 复用检查规则。
- 兼容原 cmd/main；增加可安装的 cmd/tracecite，核心库仍支持 native、JS、Wasm。
- 发布准备验证实际源码 ZIP、CLI 安装和三个目标的全新消费项目；公开注册表安装验证通过。

基准测试：native 79/79、JS/Wasm 各 66/66，CLI 集成 34 项，适配器 6 项。
发布 ZIP 摘要与固定 CI 见 [验收说明](docs/acceptance.md)。

## 早期开发里程碑

以下按提交记录列出演进，不将历史改动推定为某个注册表版本的完整发布内容。

| 日期（北京时间） | 成果 | 提交 |
| --- | --- | --- |
| 2026-09-23 | JSONL 输入约定、来源追溯校验、native CLI、portable 核心与 CI | [b0d6e6f](https://github.com/Freakz2z/tracecite/commit/b0d6e6f) / [487accf](https://github.com/Freakz2z/tracecite/commit/487accf) |
| 2026-09-24 | 跨运行引文/来源比较与本地文件独立回读 | [4e42c10](https://github.com/Freakz2z/tracecite/commit/4e42c10) / [7ac8255](https://github.com/Freakz2z/tracecite/commit/7ac8255) |
| 2026-09-28 | 网页独立回源、轻量笔记和普通报告，实际 Agent 接入与外部审计 | [adf163e](https://github.com/Freakz2z/tracecite/commit/adf163e) / [881e947](https://github.com/Freakz2z/tracecite/commit/881e947) |
| 2026-09-30 | 文档维护、项目配置、源码包消费验证与 0.5.0 正式发布 | [6ef7b71](https://github.com/Freakz2z/tracecite/commit/6ef7b71) / [0ac1293](https://github.com/Freakz2z/tracecite/commit/0ac1293) |
