Awesome Reviewers checks + prompts

API compatibility checking

Diffs a public interface between the base and the change and reports breaking changes: removed endpoints, changed types, narrowed inputs.

V1013 technique
tactic Static analysis
not detectable from CI configuration

Sub-techniques

3

IDNameDescription
V1013.001HTTP API diffCompare OpenAPI documents for breaking changes, and lint them for style.
V1013.002Schema and protobuf compatibilityWire-compatibility rules for protobuf, Avro or JSON Schema.
V1013.003Library API diffCompare the exported symbols and signatures of a package against its last release.

Craft it

  1. Generate the interface description (OpenAPI, .proto, public symbols) in CI on both base and head.
  2. Fail on breaking differences unless the version is bumped or a label allows it.
  3. Publish the diff as a PR comment so reviewers see the contract change.

Reverse engineer it

Signs that a codebase already runs this technique, and where to read how it is configured.

  • buf.yaml with a breaking section, oasdiff in CI, api-extractor.json.
  • Semver checks in release workflows.

Open-source packages

7