OpenAPI Breaking Changes: The Complete List of Rules
oasdiff detects 755 distinct API changes across 10 OpenAPI areas, breaking and non-breaking, in OpenAPI 3.x specifications. Each change is classified by the OpenAPI object it affects and the kind of change it represents, generated directly from the oasdiff CLI.
A "breaking change" is any modification that could cause existing API clients to fail without code changes. Run these checks automatically in CI with the GitHub Action or the CLI.
How oasdiff decides what is breaking
oasdiff judges a change against the API contract your OpenAPI definition declares, not against what a particular server happens to accept. A change is breaking if a consumer that followed the old contract can stop working under the new one.
This matters because an OpenAPI definition declares which requests and responses are valid, but most servers do not enforce it at runtime, and a server may quietly accept a request the contract says is invalid. oasdiff still reports the change as breaking, because other consumers of the same contract do enforce it: API gateways and validators reject non-conforming requests, and generated client SDKs turn the contract into typed code that no longer compiles. Whether your own server is lenient is your choice to make; it does not mean the contract is unchanged.
Each check's severity is derived from two things: which side of the API the change is on, and its effect on the set of valid messages (shown on every rule page below). Requests flow from the client, responses to it, so the same effect breaks in opposite directions:
- Narrowing a request is breaking: a request that was valid before can now be rejected. Widening a request is not, since everything clients already send stays valid. For example, adding a required request property is breaking, whether or not the property has a default: a default is a server-side fallback value, and a request that omits the property is invalid under the new contract.
- Widening a response is breaking: the API can now return something clients were never written to handle. Narrowing a response is not, since everything clients can still receive was already possible before. The exception is a response option the client selects or relies on, such as a status code or a media type: withdrawing one is breaking even though it narrows the response.
- A change whose effect the definition cannot determine is a warning, with a note saying what is missing, such as a change to an object parameter whose serialization the definition leaves unspecified. A warning is not used for changes that break some setups and not others; those are errors.
- Violating a deprecation promise, such as removing an endpoint before its sunset date, is breaking by policy even when the wire contract question does not apply.
When a change cannot be proven safe, oasdiff reports it as breaking: reporting a safe change as breaking costs a reviewer one look, while reporting a breaking change as safe ships it to production. This derivation is enforced by tests in the oasdiff codebase, so a check's severity cannot drift from the rule above.
The definition itself can also show that a specific change is safe. A property marked readOnly never appears in a request, so restricting it cannot invalidate one; the same holds for writeOnly properties in responses. Such a change is reported at info, below its check's listed severity, with a comment stating the reason.
If a check's default severity does not match your API's compatibility policy, you can raise, lower, or disable it per check with a severity-levels file.
Every possible change, decided
OpenAPI gave API definitions a formal model. oasdiff does the same for API changes: every field of the specification, and every way each one can change, is enumerated, more than 15,000 possible edits. Every one of them is either covered by a check or excluded with a written reason. None are undecided, and the build fails if a new OpenAPI field appears that we have not classified. You can inspect this yourself: oasdiff checks changelog coverage lists every edit with the checks that cover it or the reason it is excluded.
Combined with the severity derivation above, this is what lets oasdiff promise that no breaking change your contract can express gets through unnoticed. Breaking changes stop being accidents and become decisions: seen, reviewed, and approved by a person, or not shipped.
The model itself is public: the vocabulary, the severity law, every named change with the document locations it covers, and the full coverage listing are published as one machine-readable file in the OpenAPI Changes Model repository, regenerated from every oasdiff release. If you believe a change is classified wrongly, open an issue there; disagreement with a verdict is the most valuable contribution.
The contract is the boundary of the promise: a change in behavior your definition does not describe is invisible to any specification-based tool, which is one more reason to keep the definition faithful to the API.
Core Structure
Data & Operations
Security & Connectivity
Other
Core Structure
Paths & Operations
21 changesExistence9
| Type | ID | Description |
|---|---|---|
| Info | api-operation-id-added | operation ID added to an endpoint |
| Info | api-operation-id-removed | operation ID deleted from an endpoint |
| Breaking | api-path-removed-before-sunset | path and endpoint deleted before sunset date |
| Info | api-path-removed-with-deprecation | path and endpoint deleted after deprecation |
| Breaking | api-path-removed-without-deprecation | path and endpoint deleted without deprecation |
| Breaking | api-removed-before-sunset | endpoint deleted before sunset date |
| Info | api-removed-with-deprecation | endpoint deleted after deprecation |
| Breaking | api-removed-without-deprecation | endpoint deleted without deprecation |
| Info | endpoint-added | endpoint added |
Lifecycle12
| Type | ID | Description |
|---|---|---|
| Breaking | api-deprecated-sunset-missing | endpoint deprecated without sunset date |
| Breaking | api-deprecated-sunset-parse | endpoint deprecated with invalid sunset date |
| Breaking | api-invalid-stability-level | invalid stability level |
| Breaking | api-path-sunset-parse | path and endpoint deleted with invalid or missing sunset date |
| Breaking | api-stability-decreased | endpoint stability level decreased |
| Info | api-stability-increased | endpoint stability level increased |
| Breaking | api-sunset-date-changed-too-small | modified sunset date doesn't meet min required deprecation days |
| Breaking | api-sunset-date-too-small | deprecated endpoint sunset before min required deprecation days |
| Info | endpoint-deprecated | endpoint deprecated |
| Info | endpoint-deprecated-with-sunset | endpoint deprecated with sunset date |
| Info | endpoint-reactivated | endpoint reactivated (deprecation set to false) |
| Breaking | sunset-deleted | sunset deleted |
Components
3 changesExistence3
| Type | ID | Description |
|---|---|---|
| Info | api-schema-removed | schema deleted from components/schemas |
| Info | webhook-added | webhook added |
| Breaking | webhook-removed | webhook removed |
Data & Operations
Schema
594 changesExistence20
| Type | ID | Description |
|---|---|---|
| Info | new-optional-request-property | optional property added to request |
| Breaking | new-required-request-property | required property added to request |
| Breaking | new-required-request-property-with-default | required property with default value added to request |
| Breaking | request-body-content-schema-added | contentSchema added to request body |
| Info | request-body-content-schema-removed | contentSchema removed from request body |
| Breaking | request-property-content-schema-added | contentSchema added to request property |
| Info | request-property-content-schema-removed | contentSchema removed from request property |
| Warning | request-property-removed | request property removed |
| Info | response-body-content-schema-added | contentSchema added to response body |
| Breaking | response-body-content-schema-removed | contentSchema removed from response body |
| Info | response-optional-property-added | response optional property added |
| Info | response-optional-property-removed | response optional property removed |
| Info | response-optional-write-only-property-added | response optional write-only property added |
| Info | response-optional-write-only-property-removed | response optional write-only property removed |
| Info | response-property-content-schema-added | contentSchema added to response property |
| Breaking | response-property-content-schema-removed | contentSchema removed from response property |
| Info | response-required-property-added | response required property added |
| Breaking | response-required-property-removed | response required property removed |
| Info | response-required-write-only-property-added | response required write-only property added |
| Info | response-required-write-only-property-removed | response required write-only property removed |
Requiredness15
| Type | ID | Description |
|---|---|---|
| Breaking | request-body-became-not-nullable | null excluded as a possible value in request body |
| Info | request-body-became-nullable | null added as a possible value in request body |
| Breaking | request-property-became-not-nullable | request property became not nullable |
| Info | request-property-became-nullable | request property became nullable |
| Info | request-property-became-optional | request property became optional |
| Breaking | request-property-became-required | request property became required |
| Breaking | request-property-became-required-with-default | request property with a default value became required |
| Info | response-body-became-not-nullable | response body became not nullable |
| Breaking | response-body-became-nullable | response body became nullable |
| Info | response-property-became-not-nullable | response property became not nullable |
| Breaking | response-property-became-nullable | response property became nullable |
| Breaking | response-property-became-optional | response property became optional |
| Info | response-property-became-required | response property became required |
| Info | response-write-only-property-became-optional | response write-only property became optional |
| Info | response-write-only-property-became-required | response write-only property became required |
Mutability (read-only / write-only)16
| Type | ID | Description |
|---|---|---|
| Info | request-optional-property-became-not-read-only | request optional property became not read-only |
| Info | request-optional-property-became-not-write-only | request optional property became not write-only |
| Info | request-optional-property-became-read-only | request optional property became read-only |
| Info | request-optional-property-became-write-only | request optional property became write-only |
| Info | request-required-property-became-not-read-only | request required property became not read-only |
| Info | request-required-property-became-not-write-only | request required property became not write-only |
| Info | request-required-property-became-read-only | request required property became read-only |
| Info | request-required-property-became-write-only | request required property became write-only |
| Info | response-optional-property-became-not-read-only | response optional property became not read-only |
| Info | response-optional-property-became-not-write-only | response optional property became not write-only |
| Info | response-optional-property-became-read-only | response optional property became read-only |
| Info | response-optional-property-became-write-only | response optional property became write-only |
| Info | response-required-property-became-not-read-only | response required property became not read-only |
| Info | response-required-property-became-not-write-only | response required property became not write-only |
| Info | response-required-property-became-read-only | response required property became read-only |
| Info | response-required-property-became-write-only | response required property became write-only |
Type & format34
| Type | ID | Description |
|---|---|---|
| Breaking | request-body-list-of-types-narrowed | request body list-of-types narrowed |
| Info | request-body-list-of-types-widened | request body list-of-types widened |
| Breaking | request-body-schema-became-false | request body schema became the boolean `false` |
| Info | request-body-schema-became-not-false | request body schema is no longer the boolean `false` |
| Breaking | request-body-type-changed | request body type changed |
| Info | request-body-type-compatible | request body type changed but backward compatible |
| Info | request-body-type-generalized | request body type generalized |
| Breaking | request-property-content-encoding-changed | request property contentEncoding changed |
| Breaking | request-property-content-media-type-changed | request property contentMediaType changed |
| Breaking | request-property-list-of-types-narrowed | request property list-of-types narrowed |
| Info | request-property-list-of-types-widened | request property list-of-types widened |
| Breaking | request-property-schema-became-false | request property schema became the boolean `false` |
| Info | request-property-schema-became-not-false | request property schema is no longer the boolean `false` |
| Breaking | request-property-type-changed | request property type changed |
| Info | request-property-type-compatible | request property type changed but backward compatible |
| Info | request-property-type-generalized | request property type generalized |
| Info | response-body-list-of-types-narrowed | response body list-of-types narrowed |
| Breaking | response-body-list-of-types-widened | response body list-of-types widened |
| Breaking | response-body-schema-became-false | response body schema became the boolean `false` |
| Info | response-body-schema-became-not-false | response body schema is no longer the boolean `false` |
| Breaking | response-body-type-changed | response body type changed |
| Info | response-body-type-compatible | response body type changed but backward compatible |
| Breaking | response-body-type-generalized | response body type generalized |
| Info | response-body-type-specialized | response body type specialized |
| Breaking | response-property-content-encoding-changed | response property contentEncoding changed |
| Breaking | response-property-content-media-type-changed | response property contentMediaType changed |
| Info | response-property-list-of-types-narrowed | response property list-of-types narrowed |
| Breaking | response-property-list-of-types-widened | response property list-of-types widened |
| Info | response-property-schema-became-false | response property schema became the boolean `false`Mitigation: This is informational because narrowing what the server returns does not invalidate clients. A schema that accepts no value at all usually indicates an error in the specification, since the server cannot produce a conforming response. |
| Breaking | response-property-schema-became-not-false | response property schema is no longer the boolean `false` |
| Breaking | response-property-type-changed | response property type changed |
| Info | response-property-type-compatible | response property type changed but backward compatible |
| Breaking | response-property-type-generalized | response property type generalized |
| Info | response-property-type-specialized | response property type specialized |
Constraints314
| Type | ID | Description |
|---|---|---|
| Breaking | request-body-exclusive-max-decreased | request body exclusiveMaximum decreased |
| Info | request-body-exclusive-max-increased | request body exclusiveMaximum increased |
| Breaking | request-body-exclusive-max-set | request body exclusiveMaximum set |
| Info | request-body-exclusive-max-unset | request body exclusiveMaximum unset |
| Info | request-body-exclusive-min-decreased | request body exclusiveMinimum decreased |
| Breaking | request-body-exclusive-min-increased | request body exclusiveMinimum increased |
| Breaking | request-body-exclusive-min-set | request body exclusiveMinimum set |
| Info | request-body-exclusive-min-unset | request body exclusiveMinimum unset |
| Breaking | request-body-max-contains-decreased | request body maxContains decreased |
| Info | request-body-max-contains-increased | request body maxContains increased |
| Breaking | request-body-max-contains-set | request body maxContains set |
| Info | request-body-max-contains-unset | request body maxContains unset |
| Breaking | request-body-max-decreased | request body max decreased |
| Info | request-body-max-increased | request body max increased |
| Breaking | request-body-max-items-decreased | request body max items decreased |
| Info | request-body-max-items-increased | request body max items increased |
| Breaking | request-body-max-items-set | request body max items set |
| Info | request-body-max-items-unset | request body maxItems unset |
| Breaking | request-body-max-length-decreased | request body max length decreased |
| Info | request-body-max-length-increased | request body max length increased |
| Breaking | request-body-max-length-set | request body max length set |
| Info | request-body-max-length-unset | request body maxLength unset |
| Breaking | request-body-max-properties-decreased | request body max properties decreased |
| Info | request-body-max-properties-increased | request body max properties increased |
| Breaking | request-body-max-properties-set | request body max properties set |
| Info | request-body-max-properties-unset | request body maxProperties unset |
| Breaking | request-body-max-set | request body max set |
| Info | request-body-max-unset | request body max unset |
| Info | request-body-min-contains-decreased | request body minContains decreased |
| Breaking | request-body-min-contains-increased | request body minContains increased |
| Breaking | request-body-min-contains-set | request body minContains set |
| Info | request-body-min-contains-unset | request body minContains unset |
| Info | request-body-min-decreased | request body min decreased |
| Breaking | request-body-min-increased | request body min increased |
| Info | request-body-min-items-decreased | request body minItems decreased |
| Breaking | request-body-min-items-increased | request body min items increased |
| Breaking | request-body-min-items-set | request body min items set |
| Info | request-body-min-items-unset | request body minItems unset |
| Info | request-body-min-length-decreased | request body min length decreased |
| Breaking | request-body-min-length-increased | request body min length increased |
| Breaking | request-body-min-length-set | request body minLength set |
| Info | request-body-min-length-unset | request body minLength unset |
| Info | request-body-min-properties-decreased | request body minProperties decreased |
| Breaking | request-body-min-properties-increased | request body min properties increased |
| Breaking | request-body-min-properties-set | request body minProperties set |
| Info | request-body-min-properties-unset | request body minProperties unset |
| Breaking | request-body-min-set | request body min set |
| Info | request-body-min-unset | request body min unset |
| Breaking | request-body-multiple-of-changed | request body multipleOf changed |
| Info | request-body-multiple-of-generalized | request body multipleOf generalizedMitigation: This change is not breaking because the old multipleOf is an integer multiple of the new one, so every previously valid value remains valid. |
| Breaking | request-body-multiple-of-set | request body multipleOf set |
| Info | request-body-multiple-of-unset | request body multipleOf unset |
| Breaking | request-body-pattern-property-added | pattern property added to request body |
| Info | request-body-pattern-property-removed | pattern property removed from request body |
| Breaking | request-body-unique-items-set | request body uniqueItems set |
| Info | request-body-unique-items-unset | request body uniqueItems unset |
| Info | request-parameter-exclusive-max-unset | request parameter exclusiveMaximum unset |
| Info | request-parameter-exclusive-min-unset | request parameter exclusiveMinimum unset |
| Breaking | request-parameter-max-contains-decreased | request parameter maxContains decreased |
| Info | request-parameter-max-contains-increased | request parameter maxContains increased |
| Breaking | request-parameter-max-contains-set | request parameter maxContains set |
| Info | request-parameter-max-contains-unset | request parameter maxContains unset |
| Breaking | request-parameter-max-items-set | request parameter maxItems set |
| Info | request-parameter-max-items-unset | request parameter maxItems unset |
| Info | request-parameter-max-length-unset | request parameter maxLength unset |
| Breaking | request-parameter-max-properties-decreased | request parameter maxProperties decreased |
| Info | request-parameter-max-properties-increased | request parameter maxProperties increased |
| Breaking | request-parameter-max-properties-set | request parameter maxProperties set |
| Info | request-parameter-max-properties-unset | request parameter maxProperties unset |
| Info | request-parameter-max-unset | request parameter max unset |
| Info | request-parameter-min-contains-decreased | request parameter minContains decreased |
| Breaking | request-parameter-min-contains-increased | request parameter minContains increased |
| Breaking | request-parameter-min-contains-set | request parameter minContains set |
| Info | request-parameter-min-contains-unset | request parameter minContains unset |
| Info | request-parameter-min-items-unset | request parameter minItems unset |
| Breaking | request-parameter-min-length-set | request parameter minLength set |
| Info | request-parameter-min-length-unset | request parameter minLength unset |
| Info | request-parameter-min-properties-decreased | request parameter minProperties decreased |
| Breaking | request-parameter-min-properties-increased | request parameter minProperties increased |
| Breaking | request-parameter-min-properties-set | request parameter minProperties set |
| Info | request-parameter-min-properties-unset | request parameter minProperties unset |
| Info | request-parameter-min-unset | request parameter min unset |
| Breaking | request-parameter-multiple-of-set | request parameter multipleOf set |
| Info | request-parameter-multiple-of-unset | request parameter multipleOf unset |
| Breaking | request-property-exclusive-max-decreased | request property exclusiveMaximum decreased |
| Info | request-property-exclusive-max-increased | request property exclusiveMaximum increased |
| Breaking | request-property-exclusive-max-set | request property exclusiveMaximum set |
| Info | request-property-exclusive-max-unset | request property exclusiveMaximum unset |
| Info | request-property-exclusive-min-decreased | request property exclusiveMinimum decreased |
| Breaking | request-property-exclusive-min-increased | request property exclusiveMinimum increased |
| Breaking | request-property-exclusive-min-set | request property exclusiveMinimum set |
| Info | request-property-exclusive-min-unset | request property exclusiveMinimum unset |
| Breaking | request-property-max-contains-decreased | request property maxContains decreased |
| Info | request-property-max-contains-increased | request property maxContains increased |
| Breaking | request-property-max-contains-set | request property maxContains set |
| Info | request-property-max-contains-unset | request property maxContains unset |
| Breaking | request-property-max-decreased | request property max decreased |
| Info | request-property-max-increased | request property max increased |
| Breaking | request-property-max-items-decreased | request property max items decreased |
| Info | request-property-max-items-increased | request property max items increased |
| Breaking | request-property-max-items-set | request property max items set |
| Info | request-property-max-items-unset | request property maxItems unset |
| Breaking | request-property-max-length-decreased | request property max length decreased |
| Info | request-property-max-length-increased | request property max length increased |
| Breaking | request-property-max-length-set | request property max length set |
| Info | request-property-max-length-unset | request property maxLength unset |
| Breaking | request-property-max-properties-decreased | request property max properties decreased |
| Info | request-property-max-properties-increased | request property max properties increased |
| Breaking | request-property-max-properties-set | request property max properties set |
| Info | request-property-max-properties-unset | request property maxProperties unset |
| Breaking | request-property-max-set | request property max set |
| Info | request-property-max-unset | request property max unset |
| Info | request-property-min-contains-decreased | request property minContains decreased |
| Breaking | request-property-min-contains-increased | request property minContains increased |
| Breaking | request-property-min-contains-set | request property minContains set |
| Info | request-property-min-contains-unset | request property minContains unset |
| Info | request-property-min-decreased | request property min decreased |
| Breaking | request-property-min-increased | request property min increased |
| Info | request-property-min-items-decreased | request property minItems decreased |
| Breaking | request-property-min-items-increased | request property min items increased |
| Breaking | request-property-min-items-set | request property min items set |
| Info | request-property-min-items-unset | request property minItems unset |
| Info | request-property-min-length-decreased | request property min length decreased |
| Breaking | request-property-min-length-increased | request property min length increased |
| Breaking | request-property-min-length-set | request property minLength set |
| Info | request-property-min-length-unset | request property minLength unset |
| Info | request-property-min-properties-decreased | request property minProperties decreased |
| Breaking | request-property-min-properties-increased | request property min properties increased |
| Breaking | request-property-min-properties-set | request property minProperties set |
| Info | request-property-min-properties-unset | request property minProperties unset |
| Breaking | request-property-min-set | request property min set |
| Info | request-property-min-unset | request property min unset |
| Breaking | request-property-multiple-of-changed | request property multipleOf changed |
| Info | request-property-multiple-of-generalized | request property multipleOf generalizedMitigation: This change is not breaking because the old multipleOf is an integer multiple of the new one, so every previously valid value remains valid. |
| Breaking | request-property-multiple-of-set | request property multipleOf set |
| Info | request-property-multiple-of-unset | request property multipleOf unset |
| Breaking | request-property-pattern-added | request property pattern set |
| Warning | request-property-pattern-changed | request property pattern changed |
| Info | request-property-pattern-generalized | request property pattern generalized |
| Breaking | request-property-pattern-property-added | pattern property added to request property |
| Info | request-property-pattern-property-removed | pattern property removed from request property |
| Info | request-property-pattern-removed | request property pattern unset |
| Breaking | request-property-unique-items-set | request property uniqueItems set |
| Info | request-property-unique-items-unset | request property uniqueItems unset |
| Info | request-read-only-property-exclusive-max-decreased | request read-only property exclusiveMaximum decreased |
| Info | request-read-only-property-exclusive-min-increased | request read-only property exclusiveMinimum increased |
| Info | request-read-only-property-max-decreased | request read-only property max decreased |
| Info | request-read-only-property-max-items-decreased | request read-only property max items decreased |
| Info | request-read-only-property-max-length-decreased | request read-only property max length decreased |
| Info | request-read-only-property-max-properties-decreased | request read-only property max properties decreased |
| Info | request-read-only-property-min-increased | request read-only property min increased |
| Info | response-body-exclusive-max-decreased | response body exclusiveMaximum decreased |
| Breaking | response-body-exclusive-max-increased | response body exclusiveMaximum increased |
| Info | response-body-exclusive-max-set | response body exclusiveMaximum set |
| Breaking | response-body-exclusive-max-unset | response body exclusiveMaximum unset |
| Breaking | response-body-exclusive-min-decreased | response body exclusiveMinimum decreased |
| Info | response-body-exclusive-min-increased | response body exclusiveMinimum increased |
| Info | response-body-exclusive-min-set | response body exclusiveMinimum set |
| Breaking | response-body-exclusive-min-unset | response body exclusiveMinimum unset |
| Info | response-body-max-contains-decreased | response body maxContains decreased |
| Breaking | response-body-max-contains-increased | response body maxContains increased |
| Info | response-body-max-contains-set | response body maxContains set |
| Breaking | response-body-max-contains-unset | response body maxContains unset |
| Info | response-body-max-decreased | response body max decreased |
| Breaking | response-body-max-increased | response body max increased |
| Info | response-body-max-items-decreased | response body maxItems decreased |
| Breaking | response-body-max-items-increased | response body max items increased |
| Info | response-body-max-items-set | response body maxItems set |
| Breaking | response-body-max-items-unset | response body maxItems unset |
| Info | response-body-max-length-decreased | response body maxLength decreased |
| Breaking | response-body-max-length-increased | response body max length increased |
| Info | response-body-max-length-set | response body maxLength set |
| Breaking | response-body-max-length-unset | response body max length unset |
| Info | response-body-max-properties-decreased | response body maxProperties decreased |
| Breaking | response-body-max-properties-increased | response body max properties increased |
| Info | response-body-max-properties-set | response body maxProperties set |
| Breaking | response-body-max-properties-unset | response body maxProperties unset |
| Info | response-body-max-set | response body max set |
| Breaking | response-body-max-unset | response body max unset |
| Breaking | response-body-min-contains-decreased | response body minContains decreased |
| Info | response-body-min-contains-increased | response body minContains increased |
| Info | response-body-min-contains-set | response body minContains set |
| Breaking | response-body-min-contains-unset | response body minContains unset |
| Breaking | response-body-min-decreased | response body min decreased |
| Info | response-body-min-increased | response body min increased |
| Breaking | response-body-min-items-decreased | response body min items decreased |
| Info | response-body-min-items-increased | response body minItems increased |
| Info | response-body-min-items-set | response body minItems set |
| Breaking | response-body-min-items-unset | response body min items unset |
| Breaking | response-body-min-length-decreased | response body min length decreased |
| Info | response-body-min-length-increased | response body minLength increased |
| Info | response-body-min-length-set | response body minLength set |
| Breaking | response-body-min-length-unset | response body minLength unset |
| Breaking | response-body-min-properties-decreased | response body min properties decreased |
| Info | response-body-min-properties-increased | response body minProperties increased |
| Info | response-body-min-properties-set | response body minProperties set |
| Breaking | response-body-min-properties-unset | response body minProperties unset |
| Info | response-body-min-set | response body min set |
| Breaking | response-body-min-unset | response body min unset |
| Breaking | response-body-multiple-of-changed | response body multipleOf changed |
| Info | response-body-multiple-of-set | response body multipleOf set |
| Info | response-body-multiple-of-specialized | response body multipleOf specializedMitigation: This change is not breaking because the new multipleOf is an integer multiple of the old one, so every value the server may now produce was already valid before. |
| Breaking | response-body-multiple-of-unset | response body multipleOf unset |
| Info | response-body-pattern-property-added | pattern property added to response body |
| Breaking | response-body-pattern-property-removed | pattern property removed from response body |
| Breaking | response-body-unique-items-unset | response body uniqueItems unset |
| Info | response-header-exclusive-max-decreased | response header exclusiveMaximum decreased |
| Breaking | response-header-exclusive-max-increased | response header exclusiveMaximum increased |
| Info | response-header-exclusive-max-set | response header exclusiveMaximum set |
| Breaking | response-header-exclusive-max-unset | response header exclusiveMaximum unset |
| Breaking | response-header-exclusive-min-decreased | response header exclusiveMinimum decreased |
| Info | response-header-exclusive-min-increased | response header exclusiveMinimum increased |
| Info | response-header-exclusive-min-set | response header exclusiveMinimum set |
| Breaking | response-header-exclusive-min-unset | response header exclusiveMinimum unset |
| Info | response-header-max-contains-decreased | response header maxContains decreased |
| Breaking | response-header-max-contains-increased | response header maxContains increased |
| Info | response-header-max-contains-set | response header maxContains set |
| Breaking | response-header-max-contains-unset | response header maxContains unset |
| Info | response-header-max-decreased | response header max decreased |
| Breaking | response-header-max-increased | response header max increased |
| Info | response-header-max-items-decreased | response header maxItems decreased |
| Breaking | response-header-max-items-increased | response header maxItems increased |
| Info | response-header-max-items-set | response header maxItems set |
| Breaking | response-header-max-items-unset | response header maxItems unset |
| Info | response-header-max-length-decreased | response header maxLength decreased |
| Breaking | response-header-max-length-increased | response header maxLength increased |
| Info | response-header-max-length-set | response header maxLength set |
| Breaking | response-header-max-length-unset | response header maxLength unset |
| Info | response-header-max-properties-decreased | response header maxProperties decreased |
| Breaking | response-header-max-properties-increased | response header maxProperties increased |
| Info | response-header-max-properties-set | response header maxProperties set |
| Breaking | response-header-max-properties-unset | response header maxProperties unset |
| Info | response-header-max-set | response header max set |
| Breaking | response-header-max-unset | response header max unset |
| Breaking | response-header-min-contains-decreased | response header minContains decreased |
| Info | response-header-min-contains-increased | response header minContains increased |
| Info | response-header-min-contains-set | response header minContains set |
| Breaking | response-header-min-contains-unset | response header minContains unset |
| Breaking | response-header-min-decreased | response header min decreased |
| Info | response-header-min-increased | response header min increased |
| Breaking | response-header-min-items-decreased | response header minItems decreased |
| Info | response-header-min-items-increased | response header minItems increased |
| Info | response-header-min-items-set | response header minItems set |
| Breaking | response-header-min-items-unset | response header minItems unset |
| Breaking | response-header-min-length-decreased | response header minLength decreased |
| Info | response-header-min-length-increased | response header minLength increased |
| Info | response-header-min-length-set | response header minLength set |
| Breaking | response-header-min-length-unset | response header minLength unset |
| Breaking | response-header-min-properties-decreased | response header minProperties decreased |
| Info | response-header-min-properties-increased | response header minProperties increased |
| Info | response-header-min-properties-set | response header minProperties set |
| Breaking | response-header-min-properties-unset | response header minProperties unset |
| Info | response-header-min-set | response header min set |
| Breaking | response-header-min-unset | response header min unset |
| Info | response-header-multiple-of-set | response header multipleOf set |
| Breaking | response-header-multiple-of-unset | response header multipleOf unset |
| Info | response-property-exclusive-max-decreased | response property exclusiveMaximum decreased |
| Breaking | response-property-exclusive-max-increased | response property exclusiveMaximum increased |
| Info | response-property-exclusive-max-set | response property exclusiveMaximum set |
| Breaking | response-property-exclusive-max-unset | response property exclusiveMaximum unset |
| Breaking | response-property-exclusive-min-decreased | response property exclusiveMinimum decreased |
| Info | response-property-exclusive-min-increased | response property exclusiveMinimum increased |
| Info | response-property-exclusive-min-set | response property exclusiveMinimum set |
| Breaking | response-property-exclusive-min-unset | response property exclusiveMinimum unset |
| Info | response-property-max-contains-decreased | response property maxContains decreased |
| Breaking | response-property-max-contains-increased | response property maxContains increased |
| Info | response-property-max-contains-set | response property maxContains set |
| Breaking | response-property-max-contains-unset | response property maxContains unset |
| Info | response-property-max-decreased | response property max decreased |
| Breaking | response-property-max-increased | response property max increased |
| Info | response-property-max-items-decreased | response property maxItems decreased |
| Breaking | response-property-max-items-increased | response property max items increased |
| Info | response-property-max-items-set | response property maxItems set |
| Breaking | response-property-max-items-unset | response property maxItems unset |
| Info | response-property-max-length-decreased | response property maxLength decreased |
| Breaking | response-property-max-length-increased | response property max length increased |
| Info | response-property-max-length-set | response property maxLength set |
| Breaking | response-property-max-length-unset | response property max length unset |
| Info | response-property-max-properties-decreased | response property maxProperties decreased |
| Breaking | response-property-max-properties-increased | response property max properties increased |
| Info | response-property-max-properties-set | response property maxProperties set |
| Breaking | response-property-max-properties-unset | response property maxProperties unset |
| Info | response-property-max-set | response property max set |
| Breaking | response-property-max-unset | response property max unset |
| Breaking | response-property-min-contains-decreased | response property minContains decreased |
| Info | response-property-min-contains-increased | response property minContains increased |
| Info | response-property-min-contains-set | response property minContains set |
| Breaking | response-property-min-contains-unset | response property minContains unset |
| Breaking | response-property-min-decreased | response property min decreased |
| Info | response-property-min-increased | response property min increased |
| Breaking | response-property-min-items-decreased | response property min items decreased |
| Info | response-property-min-items-increased | response property minItems increased |
| Info | response-property-min-items-set | response property minItems set |
| Breaking | response-property-min-items-unset | response property min items unset |
| Breaking | response-property-min-length-decreased | response property min length decreased |
| Info | response-property-min-length-increased | response property minLength increased |
| Info | response-property-min-length-set | response property minLength set |
| Breaking | response-property-min-length-unset | response property minLength unset |
| Breaking | response-property-min-properties-decreased | response property min properties decreased |
| Info | response-property-min-properties-increased | response property minProperties increased |
| Info | response-property-min-properties-set | response property minProperties set |
| Breaking | response-property-min-properties-unset | response property minProperties unset |
| Info | response-property-min-set | response property min set |
| Breaking | response-property-min-unset | response property min unset |
| Breaking | response-property-multiple-of-changed | response property multipleOf changed |
| Info | response-property-multiple-of-set | response property multipleOf set |
| Info | response-property-multiple-of-specialized | response property multipleOf specializedMitigation: This change is not breaking because the new multipleOf is an integer multiple of the old one, so every value the server may now produce was already valid before. |
| Breaking | response-property-multiple-of-unset | response property multipleOf unset |
| Info | response-property-pattern-added | response property pattern set |
| Warning | response-property-pattern-changed | response property pattern changed |
| Info | response-property-pattern-property-added | pattern property added to response property |
| Breaking | response-property-pattern-property-removed | pattern property removed from response property |
| Breaking | response-property-pattern-removed | response property pattern unset |
| Breaking | response-property-unique-items-unset | response property uniqueItems unset |
Values35
| Type | ID | Description |
|---|---|---|
| Breaking | request-body-became-enum | request body restricted to enum |
| Breaking | request-body-const-added | request body const value set |
| Breaking | request-body-const-changed | request body const value modified |
| Info | request-body-const-removed | request body const value unset |
| Info | request-body-default-value-added | request body default value set |
| Info | request-body-default-value-changed | request body default value modified |
| Info | request-body-default-value-removed | request body default value unset |
| Breaking | request-body-enum-value-removed | request body enum value deleted |
| Breaking | request-property-became-enum | request property restricted to enum |
| Breaking | request-property-const-added | request property const value set |
| Breaking | request-property-const-changed | request property const value modified |
| Info | request-property-const-removed | request property const value unset |
| Info | request-property-default-value-added | request property default value set |
| Info | request-property-default-value-changed | request property default value changed |
| Info | request-property-default-value-removed | request property default value unset |
| Info | request-property-enum-value-added | request property enum value added |
| Breaking | request-property-enum-value-removed | request property enum value removed |
| Breaking | request-property-x-extensible-enum-value-removed | request property x-extensible-enum value removed |
| Info | request-read-only-property-enum-value-removed | request read-only property enum value removed |
| Info | response-body-const-added | response body const value set |
| Breaking | response-body-const-changed | response body const value modified |
| Breaking | response-body-const-removed | response body const value unset |
| Info | response-body-default-value-added | response body default value set |
| Info | response-body-default-value-changed | response body default value changed |
| Info | response-body-default-value-removed | response body default value unset |
| Info | response-mediatype-enum-value-removed | response mediatype enum value removed |
| Info | response-property-const-added | response property const value set |
| Breaking | response-property-const-changed | response property const value modified |
| Breaking | response-property-const-removed | response property const value unset |
| Info | response-property-default-value-added | response property default value set |
| Info | response-property-default-value-changed | response property default value changed |
| Info | response-property-default-value-removed | response property default value unset |
| Breaking | response-property-enum-value-added | response property enum value addedMitigation: The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. |
| Info | response-property-enum-value-removed | response property enum value removed |
| Info | response-write-only-property-enum-value-added | response write-only property enum value added |
Structure & composition144
| Type | ID | Description |
|---|---|---|
| Breaking | request-body-all-of-added | sub-schema added to allOf in request body |
| Info | request-body-all-of-added-annotation-only | annotation-only sub-schema added to allOf in request body (no wire-contract effect) |
| Info | request-body-all-of-removed | sub-schema deleted from allOf in request body |
| Info | request-body-all-of-removed-annotation-only | annotation-only sub-schema removed from allOf in request body (no wire-contract effect) |
| Info | request-body-any-of-added | sub-schema added to anyOf in request body |
| Breaking | request-body-any-of-removed | sub-schema deleted from anyOf in request body |
| Breaking | request-body-contains-added | contains constraint added to request body |
| Info | request-body-contains-removed | contains constraint removed from request body |
| Breaking | request-body-dependent-required-added | request body dependentRequired added |
| Breaking | request-body-dependent-required-changed | request body dependentRequired changed |
| Info | request-body-dependent-required-removed | request body dependentRequired removed |
| Breaking | request-body-dependent-schema-added | dependent schema added to request body |
| Info | request-body-dependent-schema-removed | dependent schema removed from request body |
| Info | request-body-discriminator-added | request body discriminator added |
| Info | request-body-discriminator-mapping-added | request body discriminator mapping added |
| Info | request-body-discriminator-mapping-changed | request body discriminator mapping changed |
| Info | request-body-discriminator-mapping-deleted | request body discriminator mapping deleted |
| Info | request-body-discriminator-property-name-changed | request body discriminator property name changed |
| Info | request-body-discriminator-removed | request body discriminator deleted |
| Breaking | request-body-else-added | else subschema added to request body |
| Info | request-body-else-removed | else subschema removed from request body |
| Breaking | request-body-if-added | if subschema added to request body |
| Info | request-body-if-removed | if subschema removed from request body |
| Info | request-body-one-of-added | sub-schema added to oneOf in request body |
| Breaking | request-body-one-of-removed | sub-schema deleted from oneOf in request body |
| Warning | request-body-prefix-items-added | sub-schema added to prefixItems in request body |
| Warning | request-body-prefix-items-removed | sub-schema removed from prefixItems in request body |
| Breaking | request-body-property-names-added | propertyNames constraint added to request body |
| Info | request-body-property-names-removed | propertyNames constraint removed from request body |
| Breaking | request-body-then-added | then subschema added to request body |
| Info | request-body-then-removed | then subschema removed from request body |
| Breaking | request-body-unevaluated-items-added | unevaluatedItems constraint added to request body |
| Info | request-body-unevaluated-items-removed | unevaluatedItems constraint removed from request body |
| Breaking | request-body-unevaluated-properties-added | unevaluatedProperties constraint added to request body |
| Info | request-body-unevaluated-properties-removed | unevaluatedProperties constraint removed from request body |
| Breaking | request-body-wrapped-in-one-of | request body wrapped in a oneOf |
| Warning | request-body-wrapped-in-one-of-original-preserved | request body wrapped in a oneOf that keeps the original schema |
| Breaking | request-property-all-of-added | sub-schema added to allOf in request property |
| Info | request-property-all-of-added-annotation-only | annotation-only sub-schema added to allOf in request property (no wire-contract effect) |
| Info | request-property-all-of-removed | sub-schema deleted from allOf in request property |
| Info | request-property-all-of-removed-annotation-only | annotation-only sub-schema removed from allOf in request property (no wire-contract effect) |
| Info | request-property-any-of-added | sub-schema added to anyOf in request property |
| Breaking | request-property-any-of-removed | sub-schema deleted from anyOf in request property |
| Breaking | request-property-contains-added | contains constraint added to request property |
| Info | request-property-contains-removed | contains constraint removed from request property |
| Breaking | request-property-dependent-required-added | request property dependentRequired added |
| Breaking | request-property-dependent-required-changed | request property dependentRequired changed |
| Info | request-property-dependent-required-removed | request property dependentRequired removed |
| Breaking | request-property-dependent-schema-added | dependent schema added to request property |
| Info | request-property-dependent-schema-removed | dependent schema removed from request property |
| Info | request-property-discriminator-added | request property discriminator added |
| Info | request-property-discriminator-mapping-added | request property discriminator mapping added |
| Info | request-property-discriminator-mapping-changed | request property discriminator mapping changed |
| Info | request-property-discriminator-mapping-deleted | request property discriminator mapping deleted |
| Info | request-property-discriminator-property-name-changed | request property discriminator property name changed |
| Info | request-property-discriminator-removed | request property discriminator removed |
| Breaking | request-property-else-added | else subschema added to request property |
| Info | request-property-else-removed | else subschema removed from request property |
| Breaking | request-property-if-added | if subschema added to request property |
| Info | request-property-if-removed | if subschema removed from request property |
| Info | request-property-one-of-added | sub-schema added to oneOf in request property |
| Breaking | request-property-one-of-removed | sub-schema deleted from oneOf in request property |
| Warning | request-property-prefix-items-added | sub-schema added to prefixItems in request property |
| Warning | request-property-prefix-items-removed | sub-schema removed from prefixItems in request property |
| Breaking | request-property-property-names-added | propertyNames constraint added to request property |
| Info | request-property-property-names-removed | propertyNames constraint removed from request property |
| Breaking | request-property-then-added | then subschema added to request property |
| Info | request-property-then-removed | then subschema removed from request property |
| Breaking | request-property-unevaluated-items-added | unevaluatedItems constraint added to request property |
| Info | request-property-unevaluated-items-removed | unevaluatedItems constraint removed from request property |
| Breaking | request-property-unevaluated-properties-added | unevaluatedProperties constraint added to request property |
| Info | request-property-unevaluated-properties-removed | unevaluatedProperties constraint removed from request property |
| Info | response-body-all-of-added | sub-schema added to allOf in response body |
| Info | response-body-all-of-added-annotation-only | annotation-only sub-schema added to allOf in response body (no wire-contract effect) |
| Breaking | response-body-all-of-removed | sub-schema removed from allOf in response body |
| Info | response-body-all-of-removed-annotation-only | annotation-only sub-schema removed from allOf in response body (no wire-contract effect) |
| Breaking | response-body-any-of-added | sub-schema added to anyOf in response body |
| Info | response-body-any-of-removed | sub-schema removed from anyOf in response body |
| Info | response-body-contains-added | contains constraint added to response body |
| Breaking | response-body-contains-removed | contains constraint removed from response body |
| Info | response-body-dependent-required-added | response body dependentRequired added |
| Breaking | response-body-dependent-required-changed | response body dependentRequired changed |
| Breaking | response-body-dependent-required-removed | response body dependentRequired removed |
| Info | response-body-dependent-schema-added | dependent schema added to response body |
| Breaking | response-body-dependent-schema-removed | dependent schema removed from response body |
| Info | response-body-discriminator-added | response body discriminator added |
| Info | response-body-discriminator-mapping-added | response body discriminator mapping added |
| Info | response-body-discriminator-mapping-changed | response body discriminator mapping changed |
| Info | response-body-discriminator-mapping-deleted | response body discriminator mapping deleted |
| Info | response-body-discriminator-property-name-changed | response body discriminator property name changed |
| Info | response-body-discriminator-removed | response body discriminator removed |
| Info | response-body-else-added | else subschema added to response body |
| Breaking | response-body-else-removed | else subschema removed from response body |
| Info | response-body-if-added | if subschema added to response body |
| Breaking | response-body-if-removed | if subschema removed from response body |
| Breaking | response-body-one-of-added | sub-schema added to oneOf in response body |
| Info | response-body-one-of-removed | sub-schema removed from oneOf in response body |
| Warning | response-body-prefix-items-added | sub-schema added to prefixItems in response body |
| Warning | response-body-prefix-items-removed | sub-schema removed from prefixItems in response body |
| Info | response-body-property-names-added | propertyNames constraint added to response body |
| Breaking | response-body-property-names-removed | propertyNames constraint removed from response body |
| Info | response-body-then-added | then subschema added to response body |
| Breaking | response-body-then-removed | then subschema removed from response body |
| Info | response-body-unevaluated-items-added | unevaluatedItems constraint added to response body |
| Breaking | response-body-unevaluated-items-removed | unevaluatedItems constraint removed from response body |
| Info | response-body-unevaluated-properties-added | unevaluatedProperties constraint added to response body |
| Breaking | response-body-unevaluated-properties-removed | unevaluatedProperties constraint removed from response body |
| Breaking | response-body-wrapped-in-one-of | response body wrapped in a oneOf |
| Warning | response-body-wrapped-in-one-of-original-preserved | response body wrapped in a oneOf that keeps the original schema |
| Info | response-property-all-of-added | sub-schema added to allOf in response property |
| Info | response-property-all-of-added-annotation-only | annotation-only sub-schema added to allOf in response property (no wire-contract effect) |
| Breaking | response-property-all-of-removed | sub-schema removed from allOf in response property |
| Info | response-property-all-of-removed-annotation-only | annotation-only sub-schema removed from allOf in response property (no wire-contract effect) |
| Breaking | response-property-any-of-added | sub-schema added to anyOf in response property |
| Info | response-property-any-of-removed | sub-schema removed from anyOf in response property |
| Info | response-property-contains-added | contains constraint added to response property |
| Breaking | response-property-contains-removed | contains constraint removed from response property |
| Info | response-property-dependent-required-added | response property dependentRequired added |
| Breaking | response-property-dependent-required-changed | response property dependentRequired changed |
| Breaking | response-property-dependent-required-removed | response property dependentRequired removed |
| Info | response-property-dependent-schema-added | dependent schema added to response property |
| Breaking | response-property-dependent-schema-removed | dependent schema removed from response property |
| Info | response-property-discriminator-added | response property discriminator added |
| Info | response-property-discriminator-mapping-added | response property discriminator mapping added |
| Info | response-property-discriminator-mapping-changed | response property discriminator mapping changed |
| Info | response-property-discriminator-mapping-deleted | response property discriminator mapping deleted |
| Info | response-property-discriminator-property-name-changed | response property discriminator property name changed |
| Info | response-property-discriminator-removed | response property discriminator removed |
| Info | response-property-else-added | else subschema added to response property |
| Breaking | response-property-else-removed | else subschema removed from response property |
| Info | response-property-if-added | if subschema added to response property |
| Breaking | response-property-if-removed | if subschema removed from response property |
| Breaking | response-property-one-of-added | sub-schema added to oneOf in response property |
| Info | response-property-one-of-removed | sub-schema removed from oneOf in response property |
| Warning | response-property-prefix-items-added | sub-schema added to prefixItems in response property |
| Warning | response-property-prefix-items-removed | sub-schema removed from prefixItems in response property |
| Info | response-property-property-names-added | propertyNames constraint added to response property |
| Breaking | response-property-property-names-removed | propertyNames constraint removed from response property |
| Info | response-property-then-added | then subschema added to response property |
| Breaking | response-property-then-removed | then subschema removed from response property |
| Info | response-property-unevaluated-items-added | unevaluatedItems constraint added to response property |
| Breaking | response-property-unevaluated-items-removed | unevaluatedItems constraint removed from response property |
| Info | response-property-unevaluated-properties-added | unevaluatedProperties constraint added to response property |
| Breaking | response-property-unevaluated-properties-removed | unevaluatedProperties constraint removed from response property |
Lifecycle16
| Type | ID | Description |
|---|---|---|
| Info | request-property-deprecated | request property deprecated |
| Breaking | request-property-deprecated-sunset-invalid | request property deprecated with invalid sunset date |
| Breaking | request-property-deprecated-sunset-missing | request property deprecated without sunset date |
| Info | request-property-deprecated-with-sunset | request property deprecated with sunset date |
| Info | request-property-reactivated | request property reactivated (deprecation set to false) |
| Breaking | request-property-stability-decreased | request property stability level decreased |
| Info | request-property-stability-increased | request property stability level increased |
| Breaking | request-property-sunset-date-too-small | deprecated request property sunset before min required deprecation days |
| Info | response-property-deprecated | response property deprecated |
| Breaking | response-property-deprecated-sunset-invalid | response property deprecated with invalid sunset date |
| Breaking | response-property-deprecated-sunset-missing | response property deprecated without sunset date |
| Info | response-property-deprecated-with-sunset | response property deprecated with sunset date |
| Info | response-property-reactivated | response property reactivated (deprecation set to false) |
| Breaking | response-property-stability-decreased | response property stability level decreased |
| Info | response-property-stability-increased | response property stability level increased |
| Breaking | response-property-sunset-date-too-small | deprecated response property sunset before min required deprecation days |
Parameters
72 changesExistence9
| Type | ID | Description |
|---|---|---|
| Info | new-optional-request-default-parameter-to-existing-path | optional request parameter added at path level |
| Info | new-optional-request-parameter | optional request parameter added to endpoint |
| Breaking | new-request-path-parameter | new request path parameter |
| Breaking | new-required-request-default-parameter-to-existing-path | required request parameter added at path level |
| Breaking | new-required-request-header-property | new required request header |
| Breaking | new-required-request-parameter | required request parameter added to endpoint |
| Warning | request-parameter-removed | request parameter deletedMitigation: This is a warning because some clients may return an error when receiving an unexpected parameter. It is recommended to deprecate the parameter first. |
| Breaking | request-parameter-removed-before-sunset | request parameter deleted before sunset date |
| Info | request-parameter-removed-with-deprecation | request parameter deleted after deprecation |
Requiredness7
| Type | ID | Description |
|---|---|---|
| Breaking | request-header-property-became-required | request header property became required |
| Breaking | request-parameter-became-not-nullable | request parameter became not nullable |
| Info | request-parameter-became-nullable | request parameter became nullable |
| Info | request-parameter-became-optional | request parameter became optional |
| Breaking | request-parameter-became-required | request parameter became required |
| Breaking | request-parameter-property-became-not-nullable | request parameter property became not nullable |
| Info | request-parameter-property-became-nullable | request parameter property became nullable |
Type & format13
| Type | ID | Description |
|---|---|---|
| Breaking | request-parameter-list-of-types-narrowed | request parameter list-of-types narrowed |
| Info | request-parameter-list-of-types-widened | request parameter list-of-types widened |
| Breaking | request-parameter-property-list-of-types-narrowed | request parameter property list-of-types narrowed |
| Info | request-parameter-property-list-of-types-widened | request parameter property list-of-types widened |
| Breaking | request-parameter-property-schema-became-false | request parameter property schema became the boolean `false` |
| Info | request-parameter-property-schema-became-not-false | request parameter property schema is no longer the boolean `false` |
| Warning | request-parameter-property-type-changed | request parameter property type changed |
| Info | request-parameter-property-type-generalized | request parameter property type generalized |
| Breaking | request-parameter-property-type-specialized | request parameter property type specialized |
| Breaking | request-parameter-schema-became-false | request parameter schema became the boolean `false` |
| Info | request-parameter-schema-became-not-false | request parameter schema is no longer the boolean `false` |
| Breaking | request-parameter-type-changed | request parameter type changed |
| Info | request-parameter-type-generalized | request parameter type generalized |
Constraints26
| Type | ID | Description |
|---|---|---|
| Breaking | request-parameter-exclusive-max-decreased | request parameter exclusiveMaximum decreased |
| Info | request-parameter-exclusive-max-increased | request parameter exclusiveMaximum increased |
| Breaking | request-parameter-exclusive-max-set | request parameter exclusiveMaximum set |
| Info | request-parameter-exclusive-min-decreased | request parameter exclusiveMinimum decreased |
| Breaking | request-parameter-exclusive-min-increased | request parameter exclusiveMinimum increased |
| Breaking | request-parameter-exclusive-min-set | request parameter exclusiveMinimum set |
| Breaking | request-parameter-max-decreased | request parameter max decreased |
| Info | request-parameter-max-increased | request parameter max increased |
| Breaking | request-parameter-max-items-decreased | request parameter max items decreased |
| Info | request-parameter-max-items-increased | request parameter max items increased |
| Breaking | request-parameter-max-length-decreased | request parameter max length decreased |
| Info | request-parameter-max-length-increased | request parameter max length increased |
| Breaking | request-parameter-max-length-set | request parameter max length set |
| Breaking | request-parameter-max-set | request parameter max set |
| Info | request-parameter-min-decreased | request parameter min decreased |
| Breaking | request-parameter-min-increased | request parameter min increased |
| Info | request-parameter-min-items-decreased | request parameter min items decreased |
| Breaking | request-parameter-min-items-increased | request parameter min items increased |
| Breaking | request-parameter-min-items-set | request parameter min items set |
| Info | request-parameter-min-length-decreased | request parameter min length decreased |
| Breaking | request-parameter-min-length-increased | request parameter min length increased |
| Breaking | request-parameter-min-set | request parameter min set |
| Breaking | request-parameter-pattern-added | request parameter pattern set |
| Warning | request-parameter-pattern-changed | request parameter pattern changed |
| Info | request-parameter-pattern-generalized | request parameter pattern generalized |
| Info | request-parameter-pattern-removed | request parameter pattern unset |
Values10
| Type | ID | Description |
|---|---|---|
| Breaking | request-header-property-became-enum | request header property restricted to enum |
| Breaking | request-parameter-became-enum | request parameter restricted to enum |
| Info | request-parameter-default-value-added | request parameter default value set |
| Info | request-parameter-default-value-changed | request parameter default value changed |
| Info | request-parameter-default-value-removed | request parameter default value unset |
| Info | request-parameter-enum-value-added | request parameter enum value added |
| Breaking | request-parameter-enum-value-removed | request parameter enum value deleted |
| Info | request-parameter-property-enum-value-added | request parameter property enum value added |
| Breaking | request-parameter-property-enum-value-removed | request parameter property enum value removed |
| Breaking | request-parameter-x-extensible-enum-value-removed | request parameter x-extensible-enum value deleted |
Lifecycle7
| Type | ID | Description |
|---|---|---|
| Info | request-parameter-deprecated | request parameter deprecated |
| Breaking | request-parameter-deprecated-sunset-missing | request parameter deprecated without sunset date |
| Info | request-parameter-reactivated | request parameter reactivated (deprecation set to false) |
| Breaking | request-parameter-sunset-date-changed-too-small | request parameter sunset date moved below min required deprecation days |
| Breaking | request-parameter-sunset-date-too-small | deprecated request parameter sunset before min required deprecation days |
| Breaking | request-parameter-sunset-deleted | request parameter sunset date deleted while still deprecated |
| Breaking | request-parameter-sunset-parse | request parameter deprecated with invalid sunset date |
Request Body
13 changesExistence9
| Type | ID | Description |
|---|---|---|
| Info | request-body-added-optional | optional request body added |
| Breaking | request-body-added-required | required request body added |
| Info | request-body-media-type-added | request body media-type added |
| Breaking | request-body-media-type-item-schema-added | request body media-type item schema added |
| Info | request-body-media-type-item-schema-removed | request body media-type item schema removed |
| Breaking | request-body-media-type-removed | request body media-type deleted |
| Breaking | request-body-media-type-schema-added | request body media-type schema added |
| Info | request-body-media-type-schema-removed | request body media-type schema removed |
| Breaking | request-body-removed | request body removed |
Requiredness2
| Type | ID | Description |
|---|---|---|
| Info | request-body-became-optional | request body became optional |
| Breaking | request-body-became-required | request body became required |
Type & format2
| Type | ID | Description |
|---|---|---|
| Breaking | request-body-content-encoding-changed | request body contentEncoding changed |
| Breaking | request-body-content-media-type-changed | request body contentMediaType changed |
Responses
19 changesExistence11
| Type | ID | Description |
|---|---|---|
| Info | response-body-media-type-item-schema-added | response media-type item schema added |
| Breaking | response-body-media-type-item-schema-removed | response media-type item schema removed |
| Breaking | response-body-media-type-item-schema-removed-untyped | response media-type item schema removed, leaving the body untyped |
| Info | response-body-media-type-schema-added | response media-type schema added |
| Breaking | response-body-media-type-schema-removed | response media-type schema removed |
| Info | response-media-type-added | response media type added |
| Breaking | response-media-type-removed | response media type removed |
| Info | response-non-success-status-added | response non-success status added |
| Info | response-non-success-status-removed | response non-success status removed |
| Info | response-success-status-added | response success status added |
| Breaking | response-success-status-removed | response success status removed |
Type & format8
| Type | ID | Description |
|---|---|---|
| Breaking | response-body-content-encoding-changed | response body contentEncoding changed |
| Breaking | response-body-content-media-type-changed | response body contentMediaType changed |
| Warning | response-media-type-name-changed | response media type changed |
| Breaking | response-media-type-name-generalized | response media type changed to a more general type |
| Info | response-media-type-name-specialized | response media type changed to a more specific type |
| Info | response-media-type-parameter-added | response media type parameter added |
| Breaking | response-media-type-parameter-changed | response media type parameter value changed |
| Breaking | response-media-type-parameter-removed | response media type parameter removed |
Headers
12 changesExistence3
| Type | ID | Description |
|---|---|---|
| Info | optional-response-header-removed | optional response header deleted |
| Breaking | required-response-header-removed | required response header removed |
| Info | response-header-added | response header added |
Requiredness3
| Type | ID | Description |
|---|---|---|
| Info | response-header-became-not-nullable | response header became not nullable |
| Breaking | response-header-became-nullable | response header became nullable |
| Breaking | response-header-became-optional | response header became optional |
Type & format6
| Type | ID | Description |
|---|---|---|
| Info | response-header-schema-became-false | response header schema became the boolean `false` |
| Breaking | response-header-schema-became-not-false | response header schema is no longer the boolean `false` |
| Breaking | response-header-type-changed | response header type changed |
| Info | response-header-type-compatible | response header type changed but backward compatibleMitigation: This change is backward compatible because a header value is transmitted as text, so any type can be represented as a string on the wire and is not enforced there. |
| Breaking | response-header-type-generalized | response header type generalized |
| Info | response-header-type-specialized | response header type specialized |
Security & Connectivity
Security
16 changesExistence12
| Type | ID | Description |
|---|---|---|
| Info | api-global-security-added | security scheme added in security |
| Breaking | api-global-security-removed | security scheme deleted in security |
| Breaking | api-global-security-scope-added | scope added to a security scheme in security |
| Info | api-global-security-scope-removed | scope deleted from a security scheme in security |
| Info | api-security-added | security requirements added to endpoint |
| Info | api-security-component-added | security scheme added in components/securitySchemes |
| Info | api-security-component-oauth-scope-added | scope added to OAuth flow in components/securitySchemes |
| Info | api-security-component-oauth-scope-removed | scope deleted from OAuth flow in components/securitySchemes |
| Info | api-security-component-removed | security scheme deleted in components/securitySchemes |
| Breaking | api-security-removed | security requirements deleted from endpoint |
| Breaking | api-security-scope-added | scope added to an endpoint's security scheme |
| Info | api-security-scope-removed | scope deleted from an endpoint's security scheme |
Type & format4
| Type | ID | Description |
|---|---|---|
| Info | api-security-component-oauth-scope-changed | scope modified in OAuth flow in components/securitySchemes |
| Info | api-security-component-oauth-token-url-changed | token URL modified in OAuth flow in components/securitySchemes |
| Info | api-security-component-oauth-url-changed | auth URL modified in OAuth flow in components/securitySchemes |
| Info | api-security-component-type-changed | security scheme type modified in components/securitySchemes |
Other
info
3 changesLifecycle3
| Type | ID | Description |
|---|---|---|
| Info | api-major-version-not-bumped | a breaking change was detected but the major version did not increase |
| Info | api-version-decreased | a breaking change was detected but the version decreased |
| Info | api-version-not-bumped | a breaking change was detected but the version was not bumped |
This list is generated from the oasdiff checks changelog command, so it always matches the rules oasdiff actually runs. See the oasdiff GitHub repo for the source.