# 变更记录

## 0.2.0 — 2026-11-01

- 子类型 PTR 浏览；实例和服务类型保留基础身份，与基础类型订阅共享生命周期。
- 有界多包 Known-Answer：问题仅在首包，TC 连续标志，支持取消中途仍待发送的分包；上限 64 包。
- Known-Answer 数量上限按包预算计算为 `max_packets * 256 - 1`，默认 16383 条；字节上限可能进一步限制容量。编码失败时合法问题退化为普通 QM，显式诊断；无效问题单独诊断，不阻塞后续查询。
- Replay 同一帧返回查询编码时产生的诊断，避免最后一帧的错误被留在队列中。
- 公开 `Engine.stats()` 逻辑计数与名称规范化键缓存；50/200/500 合成服务各三轮测量，另有十分钟实际时间资源循环。
- SRV 按优先级和固定 seed 加权顺序公开完整候选；跨响应包汇集未过期 RRSet，支持 cache-flush 宽限与分包救回。
- 公开构造记录的 IN 类型/长度/SRV 字段边界原子校验，新增恶意字节、共享主机和生命周期回归。
- Native run 的失败/取消关闭和稳定错误分类；地址在周期检查前消失时，将 I/O 错误分类为 InterfaceUnavailable，保留正常网络故障的系统错误。
- Linux 专项验证实际多包 UDP/独立测试解析器、取消与普通 QM 降级、Avahi 子类型与共享身份、隔离网卡地址删除/恢复；证据见 `docs/specialized-interop.md`。
- 容量受限时保留已公布且仍有有效订阅及记录的服务，新增项只产生容量诊断，不挤掉旧项造成错误 Removed。
- 对 DNS-SD PTR 的异常 cache-flush 位归一化为 false，避免移除同组其他实例或错误停止 PTR 查询。
- 修复 Linux 测试未创建录制目录的问题，保存浏览器 stdout/stderr/退出码、读线程错误及录制状态；扩大实网工作流触发路径。
- Linux 同 VM 与 Avahi 0.8 的八项实网闭环检查通过，详见 `docs/evidence/linux-avahi-20261028.json`。

新版本发布与注册表消费记录见 [0.2.0 发布说明](docs/release-0.2.0.md)。NSEC、IPv6、发布者及自动接口切换等扩展暂缓；同 VM 专项不代表第二设备、Bonjour 或全部响应抑制行为。0.1.0 的标签和归档保持原样，其中不包含本节修复。

## 0.1.0 — 2026-10-24

Mooncakes 已发布；源码标签 `v0.1.0` 对应 `2b922d6`。注册表包独立消费、Native 编译与 socket 打开/关闭通过，详见 [发布记录](docs/evidence/release-0.1.0-20261024.json)。

### 已实现

- 纯 MoonBit 名称/TXT 模型、有限 DNS-SD wire 解码与 QM 查询编码，公开根包 API。
- 带 scope 的有界 TTL 缓存、goodbye/flush 宽限、PTR/SRV/TXT/地址聚合、部分状态与生命周期事件。
- 注入时钟和随机种子的 QM 抖动/退避/刷新、单包 Known-Answer、指定实例 resolve 超时与取消。
- 指定 IPv4 接口的 Native 组播适配、共享 5353 绑定、入站元数据、异步 Browser 和取消释放。
- browse/resolve/doctor/replay CLI、实时 JSONL、保存原始报文/时钟/种子的录制及确定性回放。
- 公开 API 示例、动态发现端口的受控 HTTP 示例、Windows 独立 zeroconf 进程互通证据、固定工具链与轻量 CI。
- 使用同一纯核心的浏览器离线回放示例，支持加载 JSONL、恢复种子和查看事件/待发查询。

### 已修复

- Native CLI 使用异步 stdout 逐行及时输出事件。
- 唯一记录更新按报文到达序号处理，避免同毫秒 TXT 更新产生暂不可用。
- 空闲定时 tick 不再重复重建服务状态，快照仍提供当前剩余 TTL。
- mDNS 名称上限支持 255 字节加根终止字节，并保持可逆文本表示。
- 同一 tick 内不同服务失效时，事件按各自相关记录保留 goodbye/TTL/flush 原因。
- 超长或截断的 UDP 报文被丢弃，浏览器继续处理后续合法响应；真实 socket 故障继续报错。

### 当前限制

实时传输为 IPv4 QM 组播，单播排除；Linux 仅编译，无第二设备证据。没有发布者、IPv6 组播、子类型、NSEC 负缓存、多包 Known-Answer 或完整 SRV 优先级/权重选择。
