Awesome Reviewers

Verification · Static analysis

API compatibility checking

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

Sub-techniques

  • HTTP API diff V1013.001

    Compare OpenAPI documents for breaking changes, and lint them for style.

  • Schema and protobuf compatibility V1013.002

    Wire-compatibility rules for protobuf, Avro or JSON Schema.

  • Library API diff V1013.003

    Compare the exported symbols and signatures of a package against its last release.

How to build 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.

Signals in a repository

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