Skip to content

Latest commit

 

History

History
308 lines (306 loc) · 35.6 KB

BREAKING-CHANGES-EXAMPLES.md

File metadata and controls

308 lines (306 loc) · 35.6 KB

Examples of Breaking and Non-Breaking Changes

These examples are automatically generated from unit tests.

Examples of breaking changes

adding 'allOf' schema to the request body or request body property is breaking
adding a new required property in request body is breaking
adding a pattern to a schema is breaking for recursive properties
adding a pattern to a schema is breaking
adding a required request body is breaking
changing a request body to enum is breaking
changing a request body type and changing it to enum simultaneously is breaking
changing a request property to not nullable is breaking
changing a required property in response body to optional and also deleting it is breaking
changing a response body to nullable is breaking
changing a response property to nullable is breaking
changing a response property to optional under AllOf, AnyOf or OneOf is breaking
changing an embedded response property to nullable is breaking
changing an existing header param from optional to required is breaking
changing an existing header param to enum is breaking
changing an existing property in request body anyOf to required is breaking
changing an existing property in request body items to required is breaking
changing an existing property in request body to enum is breaking
changing an existing property in request body to required is breaking
changing an existing property in request header to enum is breaking
changing an existing property in request header to required is breaking
changing an existing property in response body to optional is breaking
changing an existing property under another property in request body to required is breaking
changing an existing request body from optional to required is breaking
changing an existing required property in response body to not-write-only is breaking
changing an existing response header from required to optional is breaking
changing max length in request from nil to any value is breaking
changing max length in response from any value to nil is breaking
changing request's body schema type from number to integer is breaking
changing request's body schema type from number to string is breaking
changing request's body schema type from number/none to integer/int32 is breaking
changing request's body schema type from string to number is breaking
changing response's body schema type from integer to number is breaking
changing response's body schema type from number to string is breaking
changing response's body schema type from string to number is breaking
changing response's embedded property schema type from string/none to integer/int32 is breaking
deleting a media-type from response is breaking
deleting a non-required non-write-only property in response body is breaking with warning
deleting a path is breaking
deleting a path with some operations having sunset date in the future is breaking
deleting a required property in request is breaking with warn
deleting a required property in response body is breaking
deleting a required property under AllOf in response body is breaking
deleting an embedded optional property in request is breaking with warn
deleting an enum value is breaking
deleting an operation before sunset date is breaking
deleting an operation is breaking
deleting an operation without sunset date is breaking
deleting sunset header for a deprecated endpoint is breaking
deprecating an operation with a deprecation policy and sunset date before required deprecation period is breaking
deprecating an operation with a deprecation policy but without specifying sunset date is breaking
increasing max length in response is breaking
increasing min items in request is breaking
modifying a pattern in a schema is breaking
modifying a pattern in request parameter is breaking
modifying the default value of an optional request parameter is breaking
new header, query and cookie required request default param is breaking
new required header param is breaking
new required path param is breaking
new required property in request header is breaking
reducing max in request is breaking
reducing max length in request is breaking
reducing min items in response is breaking
reducing min length in response is breaking
removing 'allOf' schema from the request body or request body property is breaking with warn
removing 'anyOf' schema from the request body or request body property is breaking
removing 'oneOf' schema from the request body or request body property is breaking
removing a media type from request body is breaking
removing a success status is breaking
removing an existing optional response header is breaking as warn
removing an existing required response header is breaking as error
removing an existing response with non-successful status is breaking (optional)
removing an existing response with successful status is breaking
removing an schema object from components is breaking (optional)
removing the default value of an optional request parameter is breaking
removing the path without a deprecation policy and without specifying sunset date is breaking if some APIs are not alpha stability level
removing the path without a deprecation policy and without specifying sunset date is breaking if some APIs are not draft stability level
removing/updating a property enum in response is breaking (optional)
removing/updating a tag is breaking (optional)
removing/updating an enum in request body is breaking (optional)
removing/updating an operation id is breaking (optional)
setting the default value of an optional request parameter is breaking

Examples of non-breaking changes

adding a media-type to response is not breaking
adding a new required property in response body is not breaking
adding a new required property under AllOf in response body is not breaking
adding a new required read-only property in request body is not breaking
adding a non-existent required property in request body is not breaking
adding a required property to response is not breaking
adding a tag is not breaking
adding an enum value is not breaking
adding an enum value to request body is not breaking
adding an operation ID is not breaking
adding an optional request body is not breaking
both max lengths in request are nil is not breaking
both max lengths in response are nil is not breaking
changing a link to operation ID is not breaking
changing an existing property in request body to optional is not breaking
changing an existing property in request header to optional is not breaking
changing an existing property in response body to required is not breaking
changing an existing read-only property in request body to required is not breaking
changing an existing required property in response body to write-only is not breaking
changing an existing write-only property in response body to optional is not breaking
changing comments is not breaking
changing extensions is not breaking
changing max length in request from any value to nil is not breaking
changing max length in response from nil to any value is not breaking
changing operation ID is not breaking
changing request's body schema type from integer to number is not breaking
changing response's body schema type from number to integer is not breaking
changing response's body schema type from number/none to integer/int32 is not breaking
changing servers is not breaking
deleting a path after sunset date of all contained operations is not breaking
deleting a pattern from a schema is not breaking
deleting a required write-only property in response body is not breaking
deleting a tag is not breaking
deleting an operation after sunset date is not breaking
deprecating a header is not breaking
deprecating a parameter is not breaking
deprecating a schema is not breaking
deprecating an operation with a deprecation policy and sunset date after required deprecation period is not breaking
deprecating an operation without a deprecation policy and without specifying sunset date is not breaking for draft level
deprecating an operation without a deprecation policy and without specifying sunset date is not breaking
increasing max length in request is not breaking
increasing min items in response is not breaking
modifying a pattern to ".*" in a schema is not breaking
modifying the default value of a required request parameter is not breaking
new optional header param is not breaking
new optional property in request header is not breaking
new required response header param is not breaking
no change is not breaking
reducing max in response is not breaking
reducing max length in response is not breaking
reducing min items in request is not breaking
reducing min length in request is not breaking
removing an existing response with error status is not breaking
removing an existing response with unparseable status is not breaking
removing the path without a deprecation policy and without specifying sunset date is not breaking for alpha level
removing the path without a deprecation policy and without specifying sunset date is not breaking for draft level
renaming a path parameter is not breaking

Examples of info-level changes for changelog

adding 'allOf' schema to the request body or request body property
adding 'allOf' schema to the response body or response body property
adding 'anyOf' schema to the request body or request body property
adding 'anyOf' schema to the response body or response body property
adding 'oneOf' schema to the request body or request body property
adding 'oneOf' schema to the response body or response body property
adding a new global security to the API
adding a new media type to request body
adding a new media type to response
adding a new oauth security scope
adding a new operation id
adding a new optional request property
adding a new required request property
adding a new security component
adding a new security to the API endpoint
adding a new tag
adding a non-success response status
adding a required property to response body is detected
adding a required write-only property to response body is detected
adding a security scope from an API global security
adding a security scope to an API endpoint security
adding a success response status
adding an enum value to a response property
adding an enum value to a response write-only property
adding an enum value to request parameter
adding an optional write-only property to a response
adding discriminator to the request body or request body property
adding discriminator to the response body or response property
adding pattern to request parameters
adding request body default value or request property default value
adding request parameter default value
adding request property enum values
adding request property pattern
adding response body default value or response body property default value
adding response property pattern
adding two new request properties, one required, one optional
changing a response property schema format
changing a response property schema type
changing a response schema type
changing an existing header param from required to optional
changing an existing header param to optional
changing an existing request body from required to optional
changing discriminator mapping in the request body or request body property
changing discriminator mapping in the response body or response property
changing discriminator propertyName in the request body or request body property
changing discriminator propertyName in the response body or response property
changing optional request property to not read-only
changing optional request property to not write-only
changing optional request property to read-only
changing optional request property to write-only
changing optional response property to not read-only
changing optional response property to not write-only
changing optional response property to read-only
changing optional response property to required
changing optional response property to write-only
changing optional response write-only property to required
changing pattern of request parameters
changing request body and property types from array to object
changing request body and property types from object to array
changing request body default value
changing request body to not nullable
changing request body to nullable
changing request body type
changing request header parameter format
changing request header parameter type
changing request parameter default value
changing request parameter type to enum
changing request path parameter format
changing request path parameter type
changing request property default value
changing request property format
changing request property pattern
changing request property required value to false
changing request property required value to true
changing request property to not nullable
changing request property to nullable
changing request property type
changing request query parameter format
changing request query parameter type
changing request's body to optional
changing request's body to required is breaking
changing required request property to not read-only
changing required request property to not write-only
changing required request property to read-only
changing required request property to write-only
changing required response property to not read-only
changing required response property to not write-only
changing required response property to optional
changing required response property to read-only
changing required response property to write-only
changing response body default value
changing response body property default value
changing response property pattern
changing security component oauth's url
changing security component type
changing write-only required response property to optional
decreasing max length of request body
decreasing max length of request property
decreasing maxItems of request parameters
decreasing maxLength of request parameters
decreasing maximum value of request parameter
decreasing minItems value of request parameter
decreasing minLength of request body
decreasing minLength of request property
decreasing minLength value of request parameter
decreasing minimum value of request parameter
decreasing minimum value of request property
decreasing request body maximum value
decreasing request property maximum value
deprecating an operation with sunset greater than min
increasing max length of request body
increasing max length of request property
increasing maxItems of request parameters
increasing maxLength of request parameters
increasing maximum value of request parameter
increasing minItems value of request parameter
increasing minLength of request body
increasing minLength of request property
increasing minLength value of request parameter
increasing minimum value of request parameter
increasing minimum value of request property
increasing request body maximum value
increasing request property maximum value
new header, query and cookie request params
new paths or path operations
path operations that became deprecated
path operations that were re-activated
removing 'allOf' schema from the request body or request body property
removing 'allOf' schema from the response body or response body property
removing 'anyOf' schema from the request body or request body property
removing 'anyOf' schema from the response body or response body property
removing 'oneOf' schema from the request body or request body property
removing 'oneOf' schema from the response body or response body property
removing a global security from the API
removing a new media type to response
removing a new oauth security scope
removing a new security component
removing a new security to the API endpoint
removing a non-success response status
removing a required request property
removing a required write-only property that was required in response body is detected
removing a security scope from an API endpoint security
removing a security scope from an API global security
removing an enum value from a response property
removing an enum value from a response write-only property
removing an enum value from request parameter
removing an existent property that was required in response body is detected
removing an existing operation id
removing an existing tag
removing an optional write-only property from a response
removing discriminator from the request body or request body property
removing discriminator from the response body or response property
removing media type from request body
removing pattern from request parameters
removing request body default value or request property default value
removing request parameter default value
removing request property enum values
removing request property pattern
removing response body default value or response body property default value
removing response property pattern
updating an existing operation id
updating an existing tag