- Support for 'Schema Object'
additionalProperties
when the value is boolean.
-
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 arraytype
in 'Schema Object'. -
Support for the 'title', 'description', and 'enum' properties in 'Schema Object's found within 'Parameter Object'.
- Minimal support for 'Parameter Object' schemas, simple schemas using 'type' and 'example' are supported.
- Return a parsing warning when Paths Object contains keys which are not strings. Previously the parser would throw an error.
- 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.
-
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.
- 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.
- Adds support for the Schema Object title property.
- Adds an accept header to requests with the matching responses content type.
- 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.
-
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
.
-
Prior versions of the adapter reported the following 'Header Object' keys as invalid:
style
,explode
,allowReserved
,schema
,content
,example
, andexamples
. 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.
The package has been updated for compatibility with @apielements/core
.
-
Prevent 'Server Object' variables from being incorrectly wrapped in an object element.
-
Fix
generateMessageBody
option, the option had no affect in prior releases.
- Support required keys in a Schema Object which are not found in the properties list.
-
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: {}
The package has been renamed to @apielements/openapi3-parser
.
-
Support for
servers
inPath Item Object
andOperation Object
-
'Parameter Object' 'explode' style is partially supported, it can be used with query parameters.
-
Compatibility with Fury 3.0.0 Beta 14.
-
Support for "default" response status codes.
-
Support for
Server Object
andServer Variable Object
-
The parser can now be configured to disable generation of example message bodies by providing an adapter option
generateMessageBody
asfalse
during parse.
-
Adds support for
termsOfService
in 'Info Object'. -
Adds support for
contact
in 'Info Object'.
- 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.
- Prevents the parser from throwing an error when encountering an unsupported scheme in a http Security Scheme Object.
- Added support for
info.license
(License Object).
- Adds support for example values for text based media types such as
text/*
andapplication/xml
.
- Prevents the parser from throwing an exception when encountering an invalid media type.
This release brings significant performance improvement to parsing large OpenAPI 3.0 documents.
- 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.
- Support for NodeJS 6 has been removed, upgrading to NodeJS 8 or newer is recommended.
- Support parameters in media types, for example
application/json; charset=UTF-8
.
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.
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.
- 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.
- 'Parameter object' 'name' is now validated according to location ('in' parameter).
-
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.
- Added validation of media types, previously we would throw an error while handling invalid media types.
-
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 aStringElement
.
- Prevents an exception being raised due to improper handling of invalid schemas found in the reusable components section of an OpenAPI 3 document.
- Compatibility with Fury 3.0.0 Beta 9.
- Fix handling of empty
!!set
and!!map
in YAML parsing.
- Added support for the
nullable
,description
,default
andexample
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.
- 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.
- Fixes support for schema objects which do not declare a type.
- 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.
- Fixed detection of YAML OpenAPI 3 documents where the OpenAPI version was not wrapped in quotes.
- Path and query parameters are supported in 'Operation Object'
-
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.
- 'Request Body Object' are now supported, request body description and examples will be shown in the parse result.
- The parser will warn when an OAS 3 document contains operation's with the
same
operationId
.