Skip to content

v0.20.0

Choose a tag to compare

@trendvidia trendvidia released this 25 Jul 09:08
fad5fe8

What's Changed

  • report.proto re-vendored at protowire ad3bf9e — the public gen/protowire/schema/v1 bindings pick up two wire-shape additions to EnrichedViolation (#124):
    • for_key = 8 (protowire#125, v1.3.0): marks a violation against a map entry's key rather than its value — a key violation and a value violation on the same entry serialize to identical paths and are disambiguated by this flag. Closes the stale-bindings gap from #116 (v0.19.0 shipped bindings predating the field).
    • source_ref = 9 + the new SourceRef message (protowire#161): the §8.3.1 rule join key — originating file plus canonical descriptor path — engines populate whenever the rule resolved through an embedded source map (50404). Wire consumers join violations back to lowered rules by this key instead of fuzzy-matching source positions.
  • Spec-drift gate green: with the #106 type_chain clarification upstreamed (protowire#165, fixing protowire#155), make checkspecdrift passes clean on all three vendored spec files; ci-local-full (the release gate added in #119) verified on this tag.
  • Also since v0.19.0: bracket-form function options lowered into FunctionDecl.options (#120), in-memory options encoding contract documented on fdp (#115).

Downstream: unblocks trendvidia/protocheck#53 — protocheck can now un-lossy Report.Proto()/ReportFromProto on both fields and pass protowire conformance fixture 15_collections_golden end-to-end.

Full Changelog: v0.19.0...v0.20.0