Skip to content

v0.23.0

Latest

Choose a tag to compare

@trendvidia trendvidia released this 26 Jul 03:05
782e9be

What's Changed

  • catalogs — the reference loader for locale catalog sources (#131) — companion to trendvidia/protowire#195, which pinned the RFC-001 §7 catalog-library source format: a catalog_libraries file is a text-format protowire.schema.catalog.v1.Catalog message, one locale per file, entries keyed by violation code with {param} templates. The new public catalogs package sits beside engineconfig (the shared-surface argument of trendvidia/protolsp#265): Load(baseDir, paths) merges files into one catalog per locale — per-domain files for the same locale merge, a duplicate code across files for one locale is a hard error naming both files, malformed input never partially loads — and FromConfig(cfg) applies the §7 path rule (relative paths resolve against the config file's directory). Output is plain (locale → entries) data; rendering stays in the engine (protocheck's NewMapCatalog consumes Entries directly). The vendored spec set gains proto/schema/catalog/v1/catalog.proto (covered by checkspecdrift), config.proto is re-vendored for its protowire#195 comment update, and the 08_engine_config fixture mirror's catalog_libraries values are .textproto paths now.

Behavior notes for downstream: no compiler-surface change — this release is additive API only (catalogs package, regenerated internal bindings). Unblocks trendvidia/protolsp#267.

Release gate: ci-local-full verified on this tag — generate/lint/test clean, checkspecdrift matches the protowire checkout, benchmarks pass.

Full Changelog: v0.22.0...v0.23.0