# 更新记录

## 0.15.32

增加有界质量规则与匹配可用率报告、持续事件及迟滞/冷却判定、上下文片段导出、事前缓冲触发录制、显式锚点分段时钟映射与残差检查。新增 incident 命令、可运行配置、独立三压缩文件对照和完整失败路径；保留现有公开接口及第三方来源。

## 0.15.31

将必要压缩运行组件适配为现代内部包，保留 Apache-2.0 来源与许可；兼容 0.10.14/0.10.17 编译器，迁移已移除的错误捕获和数值转换调用，完善 Windows 保存点发布重试与安装复现验证。

## 0.15.30

增加 MRSC1 持久录制会话、分段清单与 SHA256 审计、尾段隔离/完整孤立段接管、新段续写和每 Channel 序号策略；验证三种压缩的真实进程中断及幂等恢复。

修正 MIDX2 工作线程任务按全局上限预留展开缓冲的问题，改用当前 Chunk 的实际声明大小，并验证高压缩比的小压缩跨度。清单提交失败后，录制器的已提交计数保持此前持久进度。

## 0.15.29

增加按 log_time 的最近/as-of 跨话题流式关联、容差和缺失策略，固定重复及等距规则；同步异步共用协议，命令支持关联后分页与有界缓冲。

## 0.15.28

增加原生 ROS1 ros1msg 载荷解码、时间/别名/嵌套数组和大数组视图，接入查询及精确聚合；独立验证公开驾驶语料全部 1606 条消息。

## 0.15.27

增加 CDR 按需解码、大数组二进制视图、元素窗口与分块导出，Protobuf 顶层字段跳过；统一查询合并投影与过滤依赖，保留传统默认行为。

## 0.15.26

增加 MFLD2 分页字段索引：物理顺序增量构建、固定大小 CRC 页、有界 LRU、字符串相等 Bloom；统一查询自动识别，验证 12032 区域与损坏页原子失败。

## 0.15.25

统一异步查询：组合原生索引/MIDX2、字段剪枝、HTTP 缓存、工作线程和精确过滤；分离打开校验与查询读取统计，增加十组独立组合验证。

## 0.15.24

新增可选 Node.js 有界 MoonBit 工作线程池，并行解压与标准消息解码；保留稳定排序、按消费次序报告错误、预算/取消与背压，小任务旁路主线程，提供真实线程故障验证和端到端耗时/RSS 实测。

补齐无索引输入的并行命令回退声明，以及 Protobuf 映射中缺失消息值的默认实例与特殊类型转换；增加独立回归用例。

## 0.15.23

新增 CJOB2 贯通 Chunk 与最终排序/归并保存点；通过有界虚拟输入复用现有持久归并引擎，保持稳定消息次序及旧检查点兼容，实际杀进程验证最终归并组恢复、已提交副本复用和损坏段拒绝。

## 0.15.22

新增 MFLD1 块级字段范围摘要、保守条件排除及精确过滤计划；覆盖 JSON/Protobuf/CDR 解码语义绑定、未知块回退、CRC/源指纹、原子输出与独立条件对照，并单独报告查询读取和解压数量。

## 0.15.21

新增异步 MIDX2、本地/远程双源读取及缓存组合；核心提供完整索引审核和按页查询的 poll/feed 协议，支持解码筛选与全局分页，保留指纹校验、预算、取消及同步兼容性。

## 0.15.20

新增原创 ros2msg/XCDR1 大小端解码、对齐、数组/序列与嵌套消息，接入同步/异步筛选及精确聚合；与独立工具核对公开机械臂日志全部 4719 条消息，明确排除 XCDR2/IDL/wstring。

## 0.15.19

新增可选 ProtoJSON 规范映射，支持 Timestamp、Duration、Any、FieldMask、Struct/Value/ListValue 和包装类型；完善字段存在性、默认值及描述符检查，与官方运行库核对 77 项输出并保留原精确数值模式。

## 0.15.18

新增 Node.js 持久 HTTP Range 页缓存、并发预取与请求去重；以强 ETag 和页摘要保护快照，限制磁盘及等待队列，提供取消、租约恢复、故障矩阵及 cached 示例命令。

## 0.15.17

新增原创 Protobuf 描述符与 wire 解码、可插拔同步/异步消息适配器及 decode 命令；与筛选、投影、精确聚合组合，保留 64 位整数精度，加入官方 protobuf 对照与预算失败测试。

## 0.15.16

- 新增可独立校验的索引 Chunk 持久副本与 CJOB1 保存点，复用已完成块并最终整体校验源容器。
- 最终排序文件由同一任务目录管理，强杀后清理孤立文件；保留原文件级和归并组检查点行为。
- 验证块级录入与最终排序进程终止、源变化、损坏副本、CRC 拒绝、附件/元数据与稳定次序。

## 0.15.15

- 新增精确聚合状态的临时磁盘溢写、多轮有界归并和逐组 NDJSON 输出，保持原内存入口兼容。
- 新增跨文件及 MIDX1/MIDX2 输入的 spill 命令、失败原子性、取消和损坏排序段校验。
- 以 Decimal 核对 6144 条消息的 2048 个分组、精确平均分数和舍入；补计内存聚合极值字符串占用。

## 0.15.14

- 新增 MIDX2 分页磁盘索引、外部排序构建、全页 CRC 与排序审核、有界 LRU 页缓存、游标及 Dataset 接入。
- 实际验证百万条索引构建和查询，提供内存观测、临时空间与取消清理测试、文件命令及兼容说明。
- 增加公开驾驶 bag 的可复现保留负载转换及图像、点云回归，修正引用 Zstd 解码器 18 位 literal 长度字段掩码并增加边界测试。

## 0.15.13

- 增加有来源及固定 SHA-256 的真实机械臂录制回归，区分未提供的数据 CRC 与已验证校验。
- 增加九组跨压缩的同时间、逆序、重叠块与变长负载回归，独立核对查询、分页及侧车定位。
- 提供公开数据下载清单、实测报告及可选 CI，原始数据不随发行包重新分发。

## 0.15.12

- 断点恢复故障测试从已提交清单选择损坏段，避免崩溃后孤立文件导致平台相关的误判。
- 新增按记录读取的完整源诊断、首错作用域、读取统计与取消，未知证据明确为 null。
- 增加独立块恢复的实际消息时间与索引声明时间证据、范围数量预算及原子命令输出。
- 验证三种压缩和 45 项诊断/恢复用例，实际通过百万条消息及超过 2 GiB 文件的官方交叉验证，提供可复现报告与手动规模 CI。
- 修正旧诊断 JSON 可选字段的标量/null 表示，补齐迁移和资源边界说明。

## 0.15.11

- 新增逐输入文件持久检查点、声明映射与辅助段恢复、任务进度；读取兼容版本 1，验证进程终止、源变化拒绝及已完成输入不再解压。

## 0.15.10

- 新增统一本地/HTTP 异步提供方、跨文件堆归并、JSON 过滤与侧车 poll/feed、内容哈希、NDJSON 背压及取消/预算验证。

## 0.15.9

- 新增整数单调时钟回放、倍速/暂停/单步/跳转、异步背压回调和定时 NDJSON 示例；覆盖虚拟与真实时钟验证。

## 0.15.8

- 新增完整校验的日志语义比较，忽略压缩/布局/ID，保留重复计数，支持 JSON 规范化、辅助记录和有界差异详情。

## 0.15.7

- 新增有界流式 JSON 聚合、精确十进制累加、分组与时间窗口；提供 CLI、预算、取消和独立 Decimal 验证。

## 0.15.6

- 同步/异步 Node 文件读写和 SHA-256 改用直接字节桥接，完整单次读取省去额外聚合复制。
- 新增 ManagedFile/FileScope、显式关闭、有界连续预读、文件快照核对和物理读取指标；CLI 统一管理输入句柄。
- 增加 2 项同步与 1 项异步二进制/生命周期回归及三模式真实 I/O 基准，接入 CI。见 [文件 I/O](docs/file-io.md)。

## 0.15.5

- 新增外部合并持久任务：完整输入和每组归并完成后原子保存，恢复复用已完成排序段。
- 核对输入/辅助文件/排序段摘要、全部预算和输出配置；保留附件、元数据和同时间稳定次序。
- 新增任务查看、持有者锁和专有目录清理；2 项核心测试、5 项真正进程终止与独立参考工作流接入 CI。见 [恢复任务](docs/resumable-merge.md)。

## 0.15.4

- 新增有界 JSON 内容条件、JSON Pointer 投影、精确十进制比较和严格/跳过策略。
- 统一内存、文件、侧车、跨文件提供方过滤；CLI 支持筛选后分页与流式转换先筛选再采样。
- 增加 4 项核心测试和 18 项官方 MCAP/Python Decimal 独立工作流，接入 CI。详见 [JSON 查询](docs/json-query.md)。

## 0.15.3

- 新增版本化侧车索引的构建、打开、检查和新路径重建，支持顺序、无摘要/无索引分块及三种压缩文件，不改变源 MCAP。
- 默认通过宿主 SHA-256 回调核对源内容；显式快速身份模式报告 content_verified=false，过期、损坏或未知版本拒绝。
- 新增 SidecarReader/SidecarCursor、直接记录定位、单块缓存和 Dataset 提供方；CLI 支持 index-build/index-rebuild/index-check/index-query 及跨文件侧车配对。
- 新增 4 项便携核心测试、1 项 Node SHA-256 标准向量测试和 52 项独立参考文件工作流，接入 CI。

## 0.15.2

- 新增 QuerySource、MessageStream、Dataset 和 DatasetCursor，按全局时间与来源位置归并文件，无需生成合并文件。
- 声明按内容去重并映射冲突 ID，保留重复消息及来源编号；支持全局分页、seek、取消、预算和 NDJSON。
- 无索引回退显式计数为 materialized_sources，现有单文件查询接口不变。
- 新增 4 项核心测试和 16 项独立参考跨文件查询工作流，接入 CI。

## 0.15.1

- 新增有磁盘总预算和失败清理的 stream_transform，保留通道身份，支持乱序大文件的排序、筛选、采样、分页、对齐、重命名及附件/元数据筛选。
- 新增完整验证的 scan_source 访问器和消息物理位置，复用外部合并的输入校验；保持已有内存接口。
- query --format ndjson 与 FileCursor.write_ndjson 逐条输出；修复无摘要回退后主题声明未同步的问题。
- 新增 4 项核心回归与 12 项独立参考磁盘工作流，接入 CI。

## 0.14.0

- 将异步 I/O、HTTP、外部排序、独立块恢复、固定种子差分和真实 RSS 测量全部接入持续集成及报告归档。
- 新增 108 项固定种子独立参考差分/损坏输入检查，以及两档真实输入、查询/合并共 4 组操作系统进程峰值 RSS 测量。
- 更新接口迁移和资源预算文档，明确查询倒序同时间次序、异步宿主范围和独立恢复的部分提取语义。
- 增加实际发行 ZIP 审计：仅允许 Git 跟踪文件，排除私人材料与临时文件，核对版本、许可证和归档摘要；提供 Mooncakes 发行版本的安装说明。

## 0.13.0

- 新增显式 recover_blocks / recover-blocks：依靠非零摘要 CRC 和 ChunkIndex 定位，接受独立通过校验的块，并输出恢复/跳过字节区间清单。
- 清单明确标为索引块部分提取，不推断丢失消息数量，不接纳分块外消息、附件、元数据或未知记录；未验证全源文件 CRC，不宣称完整恢复。
- 修复 Chunk 解码遗漏尾随字节检查，强化连续前缀恢复的块边界验证。
- 新增 2 项核心回归测试和 9 项官方工具真实文件恢复验证，覆盖三种压缩、中间块损坏及摘要拒绝路径。

## 0.12.0

- 新增逐记录校验和导入的 external_merge，按输入物理顺序分配稳定序号，以有限内存生成带计数/CRC 的临时排序段，分批多轮归并。
- 配置排序段、归并头部、临时磁盘、段数及声明预算，保留附件/元数据，按内容去重并重映射声明，拒绝损坏输入和不兼容 profile。
- 新增 Node 专属临时任务目录及流式输出事务；成功独占发布，失败/取消清理已知临时文件，不递归删除父目录或覆盖原文件。
- CLI external-merge 接入预算参数；新增 5 项核心测试及 5 项真实磁盘合并/清理工作流。

## 0.11.0

- 新增异步 HTTP 范围源，要求 HTTP 206、精确 Content-Range、强 ETag 与后续 If-Match，检测内容和长度变化。
- 每请求有独立超时、有限重试与响应体长度检查；使用 identity 表示，拒绝整文件回退和自动跳转，支持中止活动请求。
- 复用异步磁盘游标处理远程 MCAP，不下载全文件；提供 remote 查询示例及 15 项本机 HTTP 故障工作流。

## 0.10.0

- 新增 asyncio 的 AsyncSource、AsyncReader/AsyncCursor、AsyncSink/AsyncWriter，实际通过宿主 Promise 执行异步文件操作，保留原同步 API。
- 写入使用有预算的编码队列并等待输出接纳再推进，拒绝并发操作和 sink 重复占用，支持终止失败与协作取消。
- 新增按消息数、已写字节目标、时间跨度切分的 RotatingWriter，每个完成段包含自己的声明、索引与 Footer。
- 固定使用 Apache-2.0 的 moonbitlang/async 0.20.2；新增 7 项异步测试与 5 项真实异步 I/O/事件循环/分段工作流。

## 0.9.0

- 新增磁盘 FileCursor，按块时间边界推进、堆归并已加载消息，正确处理重叠块、同时间物理次序、倒序和分页，不为每页收集整个查询结果。
- 支持 seek/cancel、候选负载与读取跨度预算、进度及终止失败状态；无索引时显式使用受预算限制的内存回退。
- 提供 poll/feed 非阻塞读取协议，供异步宿主提供所需文件跨度。CLI query 改用磁盘游标，limit 可提前终止后续 I/O。
- 增加 6 项排序、异常、短页、缓存、回退及协议测试。

## 0.8.0

- 新增结构化 FileDiagnosis，区分包络、记录、声明、压缩、CRC、索引、摘要、截断及资源问题；偏移/预期值只在已知时提供，未知字段为 null。
- 新增 rebuild_indexes 和 CLI validate/reindex，从完整有效的数据区重建全部索引和摘要，可修复坏索引、坏摘要或缺失文件尾；拒绝对数据截断或 CRC 错误执行索引修复。
- 诊断区分 data_valid 和 data_crc_verified，避免将未提供校验和的文件标记为 CRC 已验证；恢复报告附源文件诊断。
- 新增 6 项诊断/修复测试和 8 项真实故障工作流，并将 0.4–0.8 的全部验证脚本接入持续集成。

## 0.7.0

- 新增 transform_log 和 CLI transform：同时映射主题、逐通道时间窗采样、时间对齐、附件名称/类型/时间筛选及元数据匹配。
- 筛选/采样后再分页，保留同主题不同通道的声明区别；变换后清理无引用声明，重建索引与统计，不修改输入。
- 新增 5 项核心测试及三种压缩下的官方读者验证；对齐同时平移消息和附件两类时间，遇 UInt64 溢出/下溢拒绝。

## 0.6.0

- 新增通用 `cmd/mcap`：inspect、query、slice、merge、recover、rewrite，可配置主题、纳秒时间、分页、压缩和预算。
- JSON 时间以十进制字符串输出，CSV 正确转义逗号、引号和换行，保留原始消息体的十六进制表示。
- 文件输出先写同目录临时文件，再以独占硬链接发布，拒绝覆盖现有路径；错误返回结构化信息及非零退出码。
- 新增 3 项参数/导出测试及 8 项真实命令行工作流，官方读者校验文件输出。

## 0.5.0

- 新增同步 WriteSink 和 StreamWriter，按字节、消息数或时间跨度刷新块，支持手动 flush、取消与输出失败终止。
- 增量累计数据区 CRC、Statistics 和物理索引，结束时生成分组摘要及 Footer，不保留完整历史消息。
- Node.js 输出使用独占创建，拒绝覆盖已有文件；补充源文件变化检测测试。
- 新增 5 项核心测试及 1 项 JS 宿主测试，官方读者核对三种压缩下各 1,000 条实际流式消息、索引和 CRC。

## 0.4.0

- 新增 UInt64 偏移的 ReadSource、短读重试、内存/Node.js 文件适配器，文件适配器检测源文件身份或修改时间变化。
- 新增从 Footer 加载摘要的 RangeReader，按主题/时间读取 Chunk，并提供可设预算的 LRU 解压缓存和读取量诊断。
- 无索引时使用有明确大小预算的完整扫描回退；完整校验是显式操作，不将未读取内容报告为已校验。
- 增加 7 项读取/缓存/异常测试及真实文件样例。`python tools/range_benchmark.py` 用约 16.9 MB 合成输入核对窄窗口查询读取量低于全文件的 10%，报告保存在 `_interop/range/report.json`。

## 0.3.0

- 新增 `QueryIndex::cursor`，复用已有索引快照，以 `next`、`next_page` 连续遍历。主题筛选通过通道有序段的二叉堆归并，不为每一页重新生成全部候选结果。
- 新增包含时间边界的双向 `seek`、终止式 `cancel` 和 `QueryProgress`；明确 offset/limit、同时间消息顺序、参数错误原子性和跳转后的进度规则。
- 增加独立运行的 `cmd/cursor` 示例和接口说明，Wasm、JS CI 均运行该示例。
- 新增 10 项测试，覆盖多通道同主题、重复时间戳跨页、快照隔离、非法状态、三种压缩文件往返，以及固定种子数据与独立排序对照。
- 容器仍以 MCAP 0 为目标；压缩边界不变。查询索引保留完整内存快照，本版本不包含磁盘按需读取或流式写盘。

## 0.2.0

- 补齐 MCAP 0 全部 15 类标准记录的读写与容器校验，提供无压缩、LZ4 标准帧和 Zstd 单帧分块读写。
- 增加附件、Statistics、索引与摘要验证、录制器、查询、裁剪、合并和连续前缀恢复。
- 提供 30 项官方参考交叉验证/文件工作流，以及实际输入、预期输出和三个可复现文件样例。

已签入的 `examples/expected` 文件仍保留 0.2.0 生成的快照及原始哈希。样例验证比较容器校验和、消息/附件/元数据语义，不要求新版本输出二进制逐字节相同。
