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.001Compare OpenAPI documents for breaking changes, and lint them for style.
-
Schema and protobuf compatibility
V1013.002Wire-compatibility rules for protobuf, Avro or JSON Schema.
-
Library API diff
V1013.003Compare the exported symbols and signatures of a package against its last release.
How to build it
- Generate the interface description (OpenAPI, .proto, public symbols) in CI on both base and head.
- Fail on breaking differences unless the version is bumped or a label allows it.
- 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.