v0.15.0
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 swap —
jhump/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).
Links #