#2318·buf

Introspect message fields that change to see if the message definitions are compatible

Author: dist1llCreated Jul 25, 2023Updated Sep 14, 2026
LabelsFeature

Consider two files

proto
package foo.v1;
message A {
  uint64 x = 1;
}
proto
package main.v1;
message Main {
  foo.v1.A a = 1;
}

If I now change foo to bar (renaming the directory, .proto filename and package name), without changing the type definition, buf breaking will report a breaking change, even though I configured buf.yaml to use WIRE.

main/v1/main.proto:4:3:Field "1" on message "Main" changed type from "foo.v1.A" to "bar.v1.A".

It's clear that renaming foo does not cause a WIRE-breaking change. Is this a known bug or limitation with buf? Or am I doing something wrong?