Breaking changes
Each version you push is compared with the version before it. Every change found has a kind and a level: breaking, warning or information. The version's diff lists them, breaking changes first.
Breaking
| Kind | What changed |
|---|
operation-removed | An operation (a method and a path) is gone, and no new operation has its operationId. |
operation-moved | An operation’s method or path changed. It’s matched to the old one by its operationId. |
parameter-removed | A parameter an operation took is gone. |
parameter-became-required | An optional parameter is now required. |
required-parameter-added | An operation has a new parameter, and it’s required. |
request-body-became-required | An operation’s request body is now required. |
response-property-removed | A property is gone from a JSON success response. |
response-property-type-changed | A JSON success response, or a property in it, has a different type. |
response-enum-value-added | An enum in a JSON success response has a new value, which clients may not handle. |
request-enum-value-removed | An enum in a parameter or a JSON request body lost a value clients may still send. |
success-response-removed | A 2xx response an operation had is gone. |
security-requirement-added | An operation’s security asks for a scheme that a client meeting the old requirement doesn’t have. A new alternative breaks nobody. |
security-scheme-changed | A security scheme an operation uses changed its type, location, name, scheme, bearer format or flows. |
server-url-removed | A URL in servers is gone. |
Warnings
| Kind | What changed |
|---|
operation-id-changed | An operation’s operationId changed, so agents see a new tool name. |
description-removed | An operation or a parameter lost its description. |
operation-deprecated | An operation is now marked deprecated. |
| Kind | What changed |
|---|
operation-added | A new operation. |
optional-parameter-added | An operation has a new optional parameter. |
response-property-added | A JSON success response has a new property. |
In CI
The GitHub Action's fail-on-breaking input, off by default, fails the job when the diff has a breaking change.
Where this comes from
app/registry/_lib/diff.tstests/fixtures/registry/diff/app/registry/_lib/ci.ts