v0.15.0

Posted January 7, 2026 ‐ 2 min read

Field property inheritance and order checks, multiple messagers per sheet, expanded Transpose support, and a new protocompile-based parser.

Highlights

  • Field property optional now inherits from a parent field (#310).
  • New field property order checks field monotonicity (#326).
  • Multiple messagers from one sheet — generate several messages for the same sheet (#332).
  • Transpose in enum, struct, and union type-definition modes (#338).
  • CSV importer accepts UTF-8 with BOM (#318).
  • Fraction well-known type accepts floating-point numbers for Excel raw-value compatibility (#323).
  • Merger / Scatter support sheet-name patterns and auto-deduplicate across multiple book/sheet patterns (#341).
  • Parser swapjhump/protoreflect replaced with bufbuild/protocompile (#334).

Features

  • fieldprop(optional): inherit parent field’s optional prop (#310).
  • Recognize metasheet noteline and improve datetime error messages (#315).
  • importer(CSV): support UTF-8-BOM format (#318).
  • confgen(table): add a specifier to ignore some rows (#259).
  • protogen(errmsg): improve error message on parsing metasheet (#319).
  • wellknown(fraction): support floating-point numbers for Excel raw-value compatibility (#323).
  • fieldprop(order): add new field property order to check field monotonicity (#326).
  • Support generating multiple messagers for the same sheet (#332).
  • protogen(struct-mode): support field notes for struct mode (#336).
  • protogen: support Transpose in enum, struct, and union type-definition modes (#338).
  • confgen(Merger/Scatter): support sheet-name patterns and auto-filter duplicate sheets across multiple book/sheet patterns (#341).

Fixes

  • fix(fieldprop): incell struct’s sub-field’s prop had no effect (#311).
  • fix(xerrors): error-stack logic (#327).
  • fix(load): only check file existence on patch dirs (#340).

Refactors

  • refactor(ecode): add codegen and improve testability (#312).
  • refactor(transpose): improve transposed-table-sheet logic (#320).
  • refactor(protoparse): replace jhump/protoreflect with bufbuild/protocompile (#334).

Tests & chores

  • test(union): full examples for union in list/map (#321).
  • chore(importer): clean code (#329).