Releases: OAI/OpenAPI-Specification
OAS 3.0.0 Released!
OAS 3.0.0 Change Log
The OAI is pleased to announce the official release of the OpenAPI Specification 3.0.0!
The list below reflect the changes since the last release candidate.
Schema Changes
- The
headersmap under the Encoding Object can now also reference headers.
Descriptive Changes
- Reworded descriptions for clearer intent (no change of meaning).
- The OpenAPI Definition File has been renamed as the OpenAPI Document.
- Changes to better conform to RFC 2119.
- Elaborated Request Body's and Response's content field support media type ranges.
- Fixed descriptions of
operationRefandoperationIdunder the Link Object. Also clarified that a Link MUST contain one of them. - Added links to OAuth2's and OpenID Connect's specifications.
Document Changes
- Some example fixes.
Check it out! https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/3.0.0.md
OAS 3.0.0-rc2 Released!
OAS 3.0.0-rc2 Change Log
Schema Changes
- The following objects have been removed from the specification: Server Variables, Content, Encoding, Callbacks, Headers, Links, Link Parameters, Scopes. They have all been replaced by the
Mapconstruct being effectively what they are. Clarifies that specification extensions are not allowed, as they did not make sense. - The Encoding Property Object has been renamed to the Encoding Object. This is a result of the above change.
- The Encoding Object now specifies to which media type each property is applicable.
- The Encoding Object now defines
headersas a map of Header Objects. - The different components under the
Components Objectcan now either be defined inline or referenced. - For parameters using
content, now only one media type can be used at most. - The
headersproperty under the Link Object has been removed. - Link Object has a new
requestBodyproperty to allow passing a request body. - The Schema Object's
discriminatorproperty has been completely reworked to utilize the newly supportedoneOfandanyOf. A newDiscriminator Objecthas been added to support these changes. - The XML Object's
namespacenow MUST be an absolute URI. - The
apiKeysecurity scheme can now also be incookie.
Descriptive Changes
- The
Rich Text Formattingsection has been reworded to ease the requirements. - Added OpenAPI Definition File definition.
- Clarified that an empty or nonexisting
serverswould default to a single Server with theurlvalue of/. - Reworded the section explaining the specification's versioning scheme.
- Server Variable
enum's description has been fixed to state it can only be a string (the type was correct). - Added clarification + examples how path matching works for paths defined under the
Paths Object. - Removed recommendation for a 120 character limit for the
summaryfield under the Operation Object. - Further details added to the
formandsimpletypes ofstyle. - Clarified that the Encoding Object applies to both
multipartandapplication/x-www-form-urlencodedand only those. - Clarified the possible response code wildcards are only
1XX,2XX,3XX,4XXor5XX. - Variable Expressions have been renamed to Runtime Expressions. They have been unified between Links and Callbacks, and have a dedicated section. Various examples have been moved and removed as a result.
- Runtime expressions now use curly braces when found inside strings.
- Link Object's
parametersnow defines how to deal with cases of parameter name ambiguity.
Document Changes
- ToC has been updated to reflect changes.
- Fixed various anchors in the document.
- Various examples have been fixed.
- Various editorial changes were made to make the document more readable.
Check it out! https://github.com/OAI/OpenAPI-Specification/blob/3.0.0-rc2/versions/3.0.md
OAS 3.0.0-rc1 Released!
OAS 3.0.0-rc1 Change Log
Schema Changes
urlis now required under the Server Object.- Server Variable Object's
enumanddefaultvalues are nowstringonly (were anyprimitive). serversunder the Path Item Object and Operation Object has been fixed to be an array of Server Objects and not a single one.- The
exampleandexamplesfields have been reworked, alongside the Example Object. There is no longerexamplesfield under the Schema Object. Whereexamplesexist, they are now a map of named examples with additional metadata for each example. The Example Object now has defined fields and is not free-form. contentis now required under the Request Body Object.hrefunder the Link Object has been renamed tooperationRef, its description is clarified as well.- The
deprecatedfield under the Schema Object now defaults tofalse. - The
flowfield under the Security Scheme Object has been renamed toflows. - Request Body's
requirednow defaults tofalse. - Added
allowReservedto the Encoding Property Object.
Descriptive Changes
termsOfServicenow MUST be in the form of a URL.- all
descriptionfields now support CommonMark. - Clarified that specific response codes (
200for example) take precedence over response ranges (2XXfor example). - Clarified that for Parameter Object, either
schemaorcontentare required. patternunder the Schema Object now specifies the regex flavor.- Added header restrictions. "Accept", "Content-Type", "Authorization" header paramters and "Content-Type" response headers will now be ignored.
- Referenced a specific version of supported CommonMark.
- Added clarifications to
nullnot being a type (as opposed to a value).
Document Changes
- ToC has been updated to reflect changes.
- Fixed various anchors in the document.
- Various examples have been fixed.
Check it out! https://github.com/OAI/OpenAPI-Specification/blob/3.0.0-rc1/versions/3.0.md
OAS 3.0.0-rc0 Released!
We're happy to announce the release of the first Implementer's Draft of OAS 3.0.0, known as 3.0.0-rc0.
A lot of changes in this release, as a first one goes, so expect the change log to be updated. An initial list of changes, in no particular order:
- Changed the versioning scheme of the spec.
- Reusable definitions in the spec has been expanded and reorganized under the Components Object.
- Added support for operation callbacks.
- Added support for a new static linking between responses and operations.
- Reworked parameters - removed formData parameters, added cookie parameters, changed body parameters to Request Body Objects as a separate entity.
- Parameters now support complex types.
- Responses support multiple media type specifications.
- Reworked file support. Dropped
fileas a type, but provided better handling for file uploads and downloads. - Reworked security definitions to allow for support for more schemes.
- Improved support for examples throughout the spec.
- Added support for defining multiple servers hosting the API, including URL variables.
Check it out! https://github.com/OAI/OpenAPI-Specification/blob/3.0.0-rc0/versions/3.0.md
Our blog post contains more details of the process and next steps.