v0.19.0
What's Changed
- Public report.proto bindings:
Report,Violation, andExecutionModeare now generated intogithub.com/trendvidia/protocompile/gen/protowire/schema/v1(packageschemav1, alongside the descriptor carriers, vendored at protowire2fcc218) — for engines producing wire Reports (RFC-001 goal-5 report equality, §6.6 rule 6 gRPC adapters) and tooling consuming them (#111, fixes #108) - Map per-element carrier: a map field whose value type is a type alias now expands the alias's rules onto the map field's own
AnnotationList— base-to-derived ahead of field-site entries, exactly likerepeatedelement aliases — plus a bare-pathTYPE_REFINEMENTentry whose location points at the value-type name insidemap<K, V>(#112, fixes #109). Descriptor-shape change vs v0.18.0: these rules previously lowered onto the synthetic entry's value field (…Entry.value[…]paths); that emission is gone. Key-type alias rules deliberately remain on the synthetic entry's key field, where they stay distinguishable from per-value rules - Typed
map_entry: synthetic map-entry messages now carryoptions.map_entry = trueas the typed field instead of unknown-field bytes, so in-memory reflection consumers (protodesc.NewFileIsMapclassification, protoreflect map accessors, dynamicpb) see a map without a wire round-trip; wire encoding is unchanged (#113, fixes #110). Other user-written options intentionally remain unknown-bytes-encoded in memory — see #114 for that contract discussion. protocheck can drop its re-add-map_entrypost-processing workaround after bumping
Full Changelog: v0.18.0...v0.19.0