Skip to content
This repository has been archived by the owner on Nov 8, 2024. It is now read-only.

Latest commit

 

History

History
402 lines (249 loc) · 11 KB

CHANGELOG.md

File metadata and controls

402 lines (249 loc) · 11 KB

API Elements: OpenAPI 3 Parser Changelog

0.16.1 (2021-07-15)

Enhancements

  • Support for 'Schema Object' additionalProperties when the value is boolean.

0.16.0 (2021-02-23)

Enhancements

  • Support for OpenAPI 3.1, some features and fields are not supported (these will emit the appropriate unsupported warnings).

    This includes support for const and array type in 'Schema Object'.

  • Support for the 'title', 'description', and 'enum' properties in 'Schema Object's found within 'Parameter Object'.

0.15.2 (2021-02-15)

Enhancements

  • Minimal support for 'Parameter Object' schemas, simple schemas using 'type' and 'example' are supported.

0.15.1 (2020-11-10)

Bug Fixes

  • Return a parsing warning when Paths Object contains keys which are not strings. Previously the parser would throw an error.

0.15.0 (2020-08-06)

Enhancements

  • The parser will only emit warnings for unsupported features a single time. This can dramatically increase the performance when dealing with documents which use many unsupported features.

Bug Fixes

  • Return a warning when parsing a document with a 'Media Type Object' using a text based media type when the example value is not a string. Previously an invalid asset element was created which contained non-string content.

  • Moves the description from 'Server Object' variable values into the member element which contain it for consistency.

  • Fixes a case where source map information for the description of a 'Server Object' variable would be missing.

  • Prevent the generation of message body examples for text-based media types when the value is not string based. A warning will now be emitted under this circumstance.

0.14.2 (2020-07-20)

Bug Fixes

  • Prevents the parser from throwing an unhandled error while parsing components which use keys which are the same as an API Element type identifier. The parser will now produce a handled error mentioning that these keys are reserved and currently unsupported in the parser.

0.14.1 (2020-07-01)

Enhancements

  • Adds support for the Schema Object title property.

Bug Fixes

  • Adds an accept header to requests with the matching responses content type.

0.14.0 (2020-06-24)

Enhancements

  • Adds partial support for using oneOf in a Schema Object. One of is supported when used in a schema object alone, or with the nullable constraint or any annotation. It is not supported in the case when one of is used in conjunction with other constraints in the same schema object.

Bug Fixes

  • Supports using $ref in the root of a component, for example:

    components:
      schemas:
        UserAlias:
          $ref: '#/components/schemas/User'
        User:
          type: object
  • Prevents the parser from throwing an error upon encountering an unknown or invalid YAML node tag, such as !!unknown.

0.13.1 (2020-06-22)

Bug Fixes

  • Prior versions of the adapter reported the following 'Header Object' keys as invalid: style, explode, allowReserved, schema, content, example, and examples. These will now return an unsupported warning instead.

  • Negative boolean YAML values was previously treated as true and thus Parameter Object's with required: false would have been incorrectly treated as required.

0.13.0 (2020-06-12)

The package has been updated for compatibility with @apielements/core.

0.12.3 (2020-06-10)

Bug Fixes

  • Prevent 'Server Object' variables from being incorrectly wrapped in an object element.

  • Fix generateMessageBody option, the option had no affect in prior releases.

0.12.2 (2020-05-12)

Bug Fixes

  • Support required keys in a Schema Object which are not found in the properties list.

0.12.1 (2020-04-30)

Bug Fixes

  • Prevent the parser from throwing an error when handling a Server Object with variables when the URL does not contain any variables. For example:

    openapi: 3.0.3
    servers:
      - url: https://example.com
        variables:
          version:
            default: '1.0'
    paths: {}

0.12.0 (2020-04-29)

The package has been renamed to @apielements/openapi3-parser.

0.11.1 (2020-04-28)

Enhancements

  • Support for servers in Path Item Object and Operation Object

  • 'Parameter Object' 'explode' style is partially supported, it can be used with query parameters.

0.11.0 (2020-04-20)

Enhancements

  • Compatibility with Fury 3.0.0 Beta 14.

  • Support for "default" response status codes.

  • Support for Server Object and Server Variable Object

  • The parser can now be configured to disable generation of example message bodies by providing an adapter option generateMessageBody as false during parse.

0.10.2 (2020-03-16)

Enhancements

  • Adds support for termsOfService in 'Info Object'.

  • Adds support for contact in 'Info Object'.

Bug Fixes

  • Prevents an exception being raised when using freeze() on the parse result returned by the parser when the OpenAPI document uses a request header with multiple request/response pairs.

0.10.1 (2020-01-30)

Bug Fixes

  • Prevents the parser from throwing an error when encountering an unsupported scheme in a http Security Scheme Object.

0.10.0 (2019-12-06)

Enhancements

  • Added support for info.license (License Object).

0.9.1 (2019-08-08)

Enhancements

  • Adds support for example values for text based media types such as text/* and application/xml.

Bug Fixes

  • Prevents the parser from throwing an exception when encountering an invalid media type.

0.9.0 (2019-07-02)

This release brings significant performance improvement to parsing large OpenAPI 3.0 documents.

0.8.1 (2019-06-12)

Bug Fixes

  • Fixed handling of OpenAPI 3 documents which included invalid 'Schema Object' in reusable components. Under some circumstances these could cause the parser to throw an exception.

0.8.0 (2019-06-11)

Breaking

  • Support for NodeJS 6 has been removed, upgrading to NodeJS 8 or newer is recommended.

Enhancements

  • Support parameters in media types, for example application/json; charset=UTF-8.

0.7.7 (2019-05-31)

fury-adapter-oas3-parser 0.7.7 is a re-release of 0.7.5 due to a packaging error with 0.7.5 which caused the package to be unpublished.

0.7.6 (2019-05-31)

fury-adapter-oas3-parser 0.7.6 is a re-release of 0.7.5 due to a packaging error with 0.7.5 which caused the package to be unpublished.

0.7.5 (2019-05-23)

Bug Fixes

  • Prevents an exception being raised when using freeze() on the parse result returned by the parser when you reference a parameter component multiple times in an OpenAPI Document.

0.7.4 (2019-04-12)

Enhancements

  • 'Parameter object' 'name' is now validated according to location ('in' parameter).

0.7.3 (2019-04-05)

Bug Fixes

  • Fixes a bug where parsing an OpenAPI 3.1.0 or higher document will result in an parse result containing only a warning and missing the API Category.

  • Fixes the parser from throwing an error while handling invalid or unsupported security scheme components.

  • Added additional information to YAML parsing errors where available to make the errors more understandable.

  • Fix referencing a headers component. Previously this would return an error that the headers components was undefined.

0.7.2 (2019-04-01)

Bug Fixes

  • Added validation of media types, previously we would throw an error while handling invalid media types.

0.7.0 (2019-03-26)

Enhancements

  • Compatibility with Fury 3.0.0 Beta 10.

  • Added primitive support for 'examples' in 'Media Type Object'. The first example value is used for JSON media types.

  • Added support for generating a JSON message body from a schema for JSON media types.

  • Added support for header parameters.

  • Instances of referenced data structures will now be instances of the referenced type.

    For example, given a schema named 'username' contains type: string. When another data structure references the 'username' schema, it's instance will be a StringElement.

Bug Fixes

  • Prevents an exception being raised due to improper handling of invalid schemas found in the reusable components section of an OpenAPI 3 document.

0.6.0 (2019-02-26)

Enhancements

Bug Fixes

  • Fix handling of empty !!set and !!map in YAML parsing.

0.5.2 (2019-02-19)

Enhancements

  • Added support for the nullable, description, default and example Schema Object properties.
  • Added support for response headers.
  • Added partial support for the example in Parameter Object
  • A warning will now be emitted when an invalid 'Parameter Object' 'in' value is set, previously this would cause an error.

Bug Fixes

  • Removed null as a valid type for a Schema Object, null is not supported as a type in OpenAPI 3 Schema Object. nullable should be used instead.
  • Added check for required in a Path Parameter.
  • The parser will now handle Responses Object which contains status codes that are not strings. Previously the parser would throw an error, we will now coerce number status codes to a string and emit a warning when a status code is not a string.

0.5.1 (2019-01-30)

Bug Fixes

  • Fixes support for schema objects which do not declare a type.

0.5.0 (2019-01-30)

Enhancements

  • Object properties in a Schema Object are now supported.
  • Referencing ($ref) a response object is now supported.
  • Array items in a Schema Object are now supported.
  • Object required properties in a Schema Object are now supported.
  • Request bodies and request body references are now supported in operations.

Bug Fixes

  • Fixed detection of YAML OpenAPI 3 documents where the OpenAPI version was not wrapped in quotes.

0.4.1 (2019-01-28)

Enhancements

  • Path and query parameters are supported in 'Operation Object'

Bug Fixes

  • Unsupported properties in 'Parameter Object' will now emit an unsupported warning, previously using unsupported properties was emitting a warning that the properties were invalid.

  • The parser will no longer error out for unsupported parameter 'in' values, instead an unsupported warning will be emitted.

  • Parameter names containing unreserved URI Template characters (-, ., _, and ~) are now supported.

  • Referencing ($ref) a parameter that couldn't be parsed (due to the parameter failing validation) will no longer cause a cryptic error that the referenced object was not defined.

0.4.0 (2019-01-25)

Enhancements

  • 'Request Body Object' are now supported, request body description and examples will be shown in the parse result.

Bug Fixes

  • The parser will warn when an OAS 3 document contains operation's with the same operationId.