Revision history for OpenAPI-Modern

0.036     2022-11-19 22:30:06Z
          - fix some media-type test cases to accomodate changes in
            JSON::Schema::Modern 0.558

0.035     2022-11-12 20:53:54Z
          - fixes to media-type parsing: correctly ignore any charset included
            with non-text Content-Types, and always interpret application/json
            as charset=utf-8 as per RFC8259 ยง11

0.034     2022-10-15 20:15:34Z
          - removed validation of readOnly properties in request bodies and
            writeOnly values in response bodies
          - bundled OAS v3.1 schemas have been updated to the 2022-10-07
            edition

0.033     2022-09-18 23:10:04Z
          - bump dependency on JSON::Schema::Modern, to pick up changes to
            error output when an openapi document is invalid

0.032     2022-08-13 23:17:31Z
          - error when a uri path specification contains duplicate capture
            names

0.031     2022-06-01 03:59:14Z
          - fix error when request or response body schema is empty (since
            v0.028)
          - use a custom error message with false schemas (to indicate the
            entire entity is forbidden)

0.030     2022-05-26 05:17:26Z
          - prohibit request bodies for HEAD and GET request unless
            requestBody explicitly specified, as this is a smuggling vector

0.029     2022-05-16 04:20:20Z
          - fix missing prereq for result serialization tests

0.028     2022-05-14 21:11:50Z
          - now only checking for readOnly values in request bodies and
            writeOnly values in response bodies (not path
            parameters/headers/query parameters).

0.027     2022-05-01 01:41:48Z
          - permit the use of unevaluatedProperties, unevaluatedItems in
            openapi subschemas, and collect annotations into the evaluation
            result
          - now checking for readOnly values in requests and writeOnly values
            in responses

0.026     2022-04-23 16:48:26Z
          - fix installation of sharedir files when fallback installers
            (ExtUtils::MakeMaker or Module::Build) are used

0.025     2022-04-03 19:58:27Z
          - find_path() no longer returns an undef operation_id when there is
            no operationId defined in the schema document

0.024     2022-03-25 23:41:04Z
          - operation_id and method are now always returned in the options
            hash in validate_request, validate_response, find_path

0.023     2022-03-12 00:25:21Z
          - get_operationId has been renamed to get_operationId_path
          - updated bundled schemas from 2021-09-28 versions to 2022-02-27

0.022     2022-02-16 06:00:37Z
          - construction with an invalid document is handled more nicely
          - added new dialect schema share/strict-schema.json to the list of
            available schemas, which prohibits unrecognized keywords
          - added custom LICENSE to schema files copied from
            github.com/OAI/OpenAPI-Specification
          - distribution is renamed from JSON-Schema-Modern-Document-OpenAPI
            to OpenAPI-Modern

0.021     2022-02-11 04:44:05Z
          - absolute locations in errors are now resolved against the
            request's Host header

0.020     2022-02-10 02:56:46Z
          - validation methods and find_path now also accept the HTTP request
            method as an option
          - the request object is no longer required as an argument to
            find_path
          - validate_request, validate_response now also support Mojolicious
            request and response objects

0.019     2022-01-23 08:17:30Z
          - some instanceLocations in errors from validate_request and
            validate_response have changed to be more specific regarding the
            source of the error
          - find_path is now a public method of OpenAPI::Modern, factored out
            of validate_request and validate_response to enable third-party
            callers to reuse information between these two method calls

0.018     2022-01-17 23:37:05Z
          - fix parsing of escaped characters in URI paths and capture values

0.017     2022-01-17 18:33:07Z
          - remove erroneous logic when checking the "discriminator" keyword
          - user-provided path_template, path_captures and operation_id are
            all verified against the request URI
          - path_template, operation_id and path_captures are no longer
            required arguments for validate_request, validate_response

0.016     2022-01-06 04:22:20Z
          - fix the prereq specification for YAML::PP

0.015     2021-12-31 21:17:11Z
          - load Math::BigInt before attempting to use it

0.014     2021-12-30 05:38:03Z
          - use bignums in JSON::Schema::Modern to properly support int32,
            int64 numeric formats

0.013     2021-12-22 19:23:30Z
          - support */* as a media-type in a content specification, to
            indicate valiation checks that can be performed on any content
            type (e.g. length)
          - add support for OAS-specific formats: int32, int64, float, double,
            password

0.012     2021-12-17 06:39:38Z
          - properly handle a missing Content-Length header alongside a
            non-zero-length body payload

0.011     2021-12-16 06:17:57Z
          - spurious validation errors fixed when request body is empty,
            yet not required

0.010     2021-12-11 23:11:43Z
          - OpenAPI metaschemas are now also available via URIs ending in
            .../latest
          - improved error messaging when a media-type or charset decoder fails
          - improved handling of HTTP headers

0.009     2021-12-06 05:55:01Z
          - validation no longer errors on a missing media type if the
            corresponding schema is empty (true)
          - validate_request and validate_response now accept an operation_id
            instead of a path_template for looking up the endpoint
            specification in the openapi document
          - treat Content-Type headers and media-type entries in openapi
            documents case-insensitively, and also match wildcards
            (image/jpg falls back to image/* or */*)

0.008     2021-12-03 05:33:29Z
          - process response headers in canonical order

0.007     2021-12-02 05:43:34Z
          - properly handle missing message bodies, with possibly a mising
            Content-Type header as well
          - better type handling for numeric strings and stringy numbers
          - detect and handle infinite recursion while evaluating

0.006     2021-12-01 05:22:01Z
          - support media type encodings in parameters

0.005     2021-11-30 06:22:10Z
          - performance improvements when loading and parsing documents
          - extract and cache all operationIds in the document

0.004     2021-11-28 22:09:01Z
          - implemented validate_response()
          - when validating requests and responses, values that look like
            numbers, and are evaluated as numbers in schemas, are now coerced
            to numbers automatically

0.003     2021-11-26 01:01:47Z
          - OpenAPI::Modern is born

0.002     2021-11-17 05:49:29Z
          - minimum Perl version raised to 5.20
          - embedded schemas are now traversed for resource URIs

0.001     2021-11-10 04:50:17Z
          - Initial release.