v0.15.0

Posted January 7, 2026 ‐ 1 min read

字段属性继承与顺序检查、单表多 messager、扩展的 Transpose 支持,以及基于 protocompile 的新解析器。

主要更新

  • 字段属性 optional 现在可以从父字段继承(#310)。
  • 新增字段属性 order,用于校验字段顺序的单调性(#326)。
  • 单个 sheet 生成多个 messager(#332)。
  • enumstructunion 类型定义模式全部支持 Transpose(#338)。
  • CSV 导入器支持 UTF-8-BOM 格式(#318)。
  • fraction well-known 类型支持浮点数,兼容 Excel 原始值(#323)。
  • Merger / Scatter 支持 sheet 名称模式,并自动去重多个 book/sheet pattern 中的重复表(#341)。
  • 解析器替换jhump/protoreflect 替换为 bufbuild/protocompile(#334)。

新增功能

  • fieldprop(optional):继承父字段的 optional 属性(#310)。
  • 识别 metasheet noteline 并优化日期时间错误信息(#315)。
  • importer(CSV):支持 UTF-8-BOM 格式(#318)。
  • confgen(table):增加用于忽略某些行的 specifier(#259)。
  • protogen(errmsg):改进解析 metasheet 时的错误信息(#319)。
  • wellknown(fraction):支持浮点数,兼容 Excel 原始值(#323)。
  • fieldprop(order):新增字段属性 order,用于校验字段单调性(#326)。
  • 支持单个 sheet 生成多个 messager(#332)。
  • protogen(struct-mode):struct 模式支持字段注释(#336)。
  • protogenenumstructunion 类型定义模式支持 Transpose#338)。
  • confgen(Merger/Scatter):支持 sheet 名称模式,并自动过滤多个 book/sheet pattern 中的重复表(#341)。

缺陷修复

  • fix(fieldprop):incell struct 子字段属性原本不生效(#311)。
  • fix(xerrors):错误栈逻辑修复(#327)。
  • fix(load):仅在 patch 目录上检查文件是否存在(#340)。

重构

  • refactor(ecode):引入代码生成并提升可测试性(#312)。
  • refactor(transpose):优化 transposed table sheet 的逻辑(#320)。
  • refactor(protoparse):使用 bufbuild/protocompile 替换 jhump/protoreflect#334)。

测试与杂项

  • test(union):补充 list/map 中 union 的完整示例(#321)。
  • chore(importer):清理代码(#329)。

链接