Catch breaking changes

Catch breaking changes before they ship

A parameter removed in one pull request is a client's outage in the next release. Catch the change that breaks a client in a required CI check, before it merges.

Add the check to CIInstall API Genie

A removed parameter, caught

Each change is rated by what it does to a client. The exit status is 1 when one of them is breaking, and --formatter json gives a script the same report.

$ git show main:openapi.yaml > main.yaml
$ apigenie diff main.yaml openapi.yaml
openapi.yaml
  26  7  non-breaking  Added operation DELETE /orders/{orderId}
  10  7      breaking  Modified operation GET /orders/{orderId}
  10  7      breaking  Removed parameter expand in query
$ echo $?
1

What it covers

The tool that does it

Step by step

Catch breaking changes in CI: Fail the pull request that would break your clients, retire old operations on a schedule, and keep a changelog from git.

One check, required on every pull request

The GitHub Action compares each changed file with its version on the base branch, and the guide makes the check required, so a breaking change waits for a decision instead of merging.

Other use cases