oav/ChangeLog.md

1244 строки
36 KiB
Markdown
Исходник Ответственный История

Этот файл содержит невидимые символы Юникода!

Этот файл содержит невидимые символы Юникода, которые могут быть отображены не так, как показано ниже. Если это намеренно, можете спокойно проигнорировать это предупреждение. Используйте кнопку Экранировать, чтобы показать скрытые символы.

Этот файл содержит неоднозначные символы Юникода, которые могут быть перепутаны с другими в текущей локали. Если это намеренно, можете спокойно проигнорировать это предупреждение. Используйте кнопку Экранировать, чтобы подсветить эти символы.

# Change Log - oav
## 06/11/2024 3.3.7
- Released during an npmjs.org outage. Version not showing up, but shows as successful release. Patch bump to re-attempt releasing the same version.
## 06/03/2024 3.3.6
- Support all current LTS Node versions (>=18.0.0)
- Bump `newman` dependency to `~6.0.0`.
## 05/7/2024 3.3.5
- Bump Node engine version requirement for security vulnerability.
## 03/27/2024 3.3.4
- Re-enable the arm-id validation in all cases, even when `isArmCall` is `false`. The special handling for this error will be done in RPaaS's codebase.
## 02/12/2024 3.3.3
- #1014 Set armId format validation to always enabled, but allow suppression of errors when `isArmCall` validator argument is set to `false`. Update the special casing on additionalProperties validation. This error was was erroneously skipping validation validation error when isArmCall is set to `true`. This value is _defaulted_ to `true` when used for `Model Validation` and `Semantic Validation`.
- #995 Remove `ms-rest` dependency in favor of newer `@azure/ms-rest-js`
## 01/29/2024 3.3.2
- Remove `mockjs` dependency.
## 11/14/2023 3.3.1
- #1019 Fixing edge case caused by introduction of fake property `refWithReadOnly` used to handle `readonly` errors thrown when placed alongside a `ref` node in a swagger schema.
## 10/19/2023 3.3.0
- #1011 Enhancing JSON report by exposing new properties including `coveredSpecFiles`, `unCoveredOperationsList`, `errorLink` and `schemaPathWithPosition`.
## 10/19/2023 3.2.14
- #1010 Fix an issue with details of `Failed Operations` not displayed in Windows-generated HTML report.
## 09/29/2023 3.2.13
- #1004 fixes an issue with the injected property refWithReadOnly causing additionalProperty error in schema validator.
## 09/25/2023 3.2.12
- #996 Allows `required` properties to be ommitted from a response if they are also marked `readonly`.
## 07/05/2023 3.2.11
- Re-enable `additionalProperties` validation where the `liveValidator` configuration has `isArmCall` set to `false`. The version of `oav` that is being used to validate `azure-rest-api-specs` has this behavior enabled, so this is not a breaking change.
## 06/15/2023 3.2.10
- Patch `byte` type validation to properly decode and re-encode a base64 string. A `byte` formatted body's validity has **nothing** to do with whether or not one can successfully encode it to ascii.
## 06/05/2023 3.2.9
- Reverting 3.2.9-beta.1 override changes.
- We made this update to address a problem in a node project that takes a dependency on `oav`. Unbeknownst to me, a package taking a dependency on `oav` does _not_ inherit the `override` settings defined in the `oav` `package.json`. With that being the case, there is no reason to leave these overrides added to the `package.json` for `oav`.
- Pin `lodash` in dev dependencies to account for build failure on newer versions.
- Update various other dependencies.
## 04/18/2023 3.2.9-beta.1
- Dependency updates
- Override transitive dependencies:
- `file-type@3.9.0 -> 16.5.4`
- `qs@6.5.3 -> 6.8.3`
# 04/12/2023 3.2.8
- Dependency updates
- "@azure/core-http `^2.2.7` -> `^3.0.1`
- Upgrading core-http allows us to bump the dependency on `xmljs2` to one without a CVE
## 02/24/2023 3.2.7
- Fix roundtrip validation model with circular reference
## 02/23/2023 3.2.6
- Improved the API scenario long running operation pooling mechanism.
- support for checking final-via-state
- update the mechanism of gettig the lro polling url.
- Support generating the ARM rules for api scenario.
## 02/19/2023 3.2.6
- LiveValidator - logging INVALID_TYPE error for additionalProperties for RpaaS call
- TrafficValidator - bug fix about incorrect payload file path in html report
## 02/03/2023 3.2.5
- Lock @apidevtools/swagger-parser@10.0.3 as 10.1.0 brings conflict of ajv package version
- generate-api-scenario
- Support `--scope` option in static generator
- API Scenario
- Skip create and delete resource group if specify resource group name
- bug fix about incorrect payload file path in html report
## 01/30/2023 3.2.4
- Generate Examples - Support specified generation rule
- Revert node requirement to >=12
- API Scenario
- Support scenario file as scope
- Support test-proxy recording externalization with `--testProxyAssets` option
- Support `--randomSeed` option
- Support file type in formdata and body
- Change the prefix length to 8 from 10 in generated API Scenario
- validate-traffic
- Add `--jsonReport` parameter in command `validate-traffic`
## 11/23/2022 3.2.3
- AjvSchemaValidator - Ignore unknown format when compile schema
## 11/07/2022 3.2.2
- API Scenario
- Support LRO polling with operation-location header
- Support AzureKey based authentication
## 10/20/2022 3.2.1
- ModelValidator - Fix bug during reporting real exampleJsonPath
- ModelValidator - Add LRO header validation for data-planes swagger
- GenerateExamples - Add title and operationId to example
- GenerateExamples - Generate subscriptionId in guid format
- ModelValidator - Add type validation for additionalProperties whose type is specified as an object
- Bugfix: FileLoader - isUnderFileRoot function supports validation for absolute path
- API Scenario
- Add roleAssignment step
- Bugfix: Use content-type specified in swagger
- Bugfix: fix query parameter value type
## 10/10/2022 3.2.0
- Retire some features
- Retire commands "generate-uml"
- Retire commands "generate-wireformat"
- Retire commands "resolve-spec"
- Retire Autorest plugin
## 09/19/2022 3.1.0
- API Scenario
- Support parameterized host and AzureAD authentication option
- Remove support for `shareScope`
- Refactor postman collection generation with folders
- Improve LRO poller and use retry-after header in delay
- Improve logging level to reuse the `-l` option
- Clean some unused dependencies
- Support Roundtrip validation in validation
- Integrate Roundtrip validation into API Scenario
## 09/06/2022 3.0.6
- AJV validator - Support arm-id format validation
- ModelValidator - Only enable arm-id validation for both of model validator and live validation(rpaas api validation is excluded)
## 08/04/2022 3.0.5
- ModelValidator - Support api-version validation
- ModelValidator - Fix bug when operation has no own parameters
- validate-traffic
- add detailed operationId on swagger link
- add detailed position info on pathInpayload link
- add detailed position info on schema link
- change report UI
- support multi swaggers on report
- API Scenario
- Support Subscription and Tenant scope
- Support assertion in response
## 07/20/2022 3.0.4
- GenerateExamples - Support data generation in byte format
- ModelValidator - Support data validation in byte format
- API Scenario
- Support readme.test.md run API test
- Fix step variable unresolved in newman collection
- Fix bugs about html report
- Aggregate reports into one per scenario file
- Fix bug of object variables and patches
- Improve markdown report
## 07/06/2022 3.0.3
- Generate high quality examples from API Scenario tests
## 06/30/2022 3.0.2
- traffic-converter
- Implement [oav-traffic-converter](https://github.com/Azure/azure-sdk-tools/tree/main/tools/oav-traffic-converter)
- Add activity parsed from request header to logs
## 06/10/2022 3.0.1
- GenerateExamples - Change the domain of LRO header
- ModelValidator - Still validate LRO operation when response doesn't have schema
- ModelValidator - Report real exampleJsonPath when additional parameter includes "."
- Support duration format when generating examples
- SemanticValidator - Fix bug about multipart/form-data
## 06/10/2022 3.0.0
- API Scenario runner
- Implement [API Scenario v1.2 schema](https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/api-scenario/references/v1.2/schema.json)
- operationId based step
- more variable types and prefix support
- Support loading file from remote uri
- Support [testProxy](https://github.com/Azure/azure-sdk-tools/tree/main/tools/test-proxy) recording mode when running API Scenario
- Improve API Scenario generation from RESTler dependencies
- Support running API Scenario against localhost endpoint
- Refactor Postman based runner client
- Support API Scenario generation from testProxy recording
- Support local devMode where AAD auth, ARM call and LRO polling will be disabled
## 05/27/2022 2.12.2
- LiveValidator - Get real schema and data while error's schema has allOf property
- TrafficValidator - Refine validation report
- SemanticValidator - Support arm-id format for string type
## 04/20/2022 2.12.1
- Fix bug about copyfiles command during build
## 04/07/2022 2.12.0
- ModelValidator - Ignore INVALID_TYPE validation in case of query parameter in string format
- Traffic Validation - Support validation report generation
## 04/06/2022 2.11.10
- SemanticValidator - Fix bug about error path.
## 03/11/2022 2.11.9
- Api Scenario - Fix bug about readonly during example diff.
## 02/23/2022 2.11.8
- SemanticValidator - Clarify the error message when NOT schema of 'path' fails
- Add coverage for trafficValidator
- FIx GC introduced by 2.11.7
## 02/15/2022 2.11.7
- LiveValidator - Fix bug about date-time validation.
- LiveValidator - Fix bug about duplicated swagger files when loading by path patterns.
## 02/14/2022 2.11.6
- Upgrade newman package to 5.3.1. Fix intel license issue.
- Fix simple git high security issue.
## 01/21/2022 2.11.5
- LiveValidator - Loosen date-time validation for missing "Z" in the end
- LiveValidator - Validate multipleOf data again when ajv validation results have error about multipleOf in response
## 12/15/2021 2.11.4
- LiveValidator - Ignore required validation rule in response when x-ms-secret is true and the httpMethod is POST
- ModelValidator - add validation for common path scope parameters in swagger
- ModelValidator - Increase model validation test coverage to 90%+
- ModelValidator - Ignore LRO_RESPONSE_CODE validation in case of error responses
- ModelValidator - fix failed to resolve discriminator models in nested definitions
## 12/03/2021 2.11.3
- Utils - move get provider related functions to utils because of DI error
## 12/02/2021 2.11.2
- LiveValidator - add more unittest for data-plane spec path
- OperationSearcher - use local variable instead of glob regex
## 12/01/2021 2.11.1
- LiveValidator - Supports logging spec loading traces separately
- Fix `getProviderFromSpecPath` regex issue and add unittest
## 11/30/2021 2.11.0
- Api scenario - add new step armDeploymentScript
- Api scenario - rename step armTemplateDeployment to armTemplate
## 11/10/2021 2.10.3
- Fix 'generate-examples' command failed to generate correct format for uri format parameter
- LiveValidatorLoader - make response headers as optional for swagger 2.0
- LiveValidator - ignore LRO header check if using 201/200+ provisioningState
- SemanticValidator - Fix false alarm for MISSING_PATH_PARAMETER_DEFINITION
- ModelValidator/SemanticValidator - support suppression on error code
- Use `new URL` instead of `url.parse`. Since url.parse will encode url and will be deprecated.
- SemanticValidator - Add new rules of 'INVALID_XMS_DISCRIMINATOR_VALUE' and 'DISCRIMINATOR_PROPERTY_NOT_FOUND'
## 11/04/2021 2.10.2
- Traffic validation - support multiple swaggers and multiple payloads
- Extends format types in AJV schema validation
- Bug fix - check discriminator property type must be string
- Bug fix for generate api scenario
- Fix jsonPathToArray bug (which will incorrectly transform ["Microsoft.something"] into ["Microsoft", "something"])
- Upgrade autorest scheams about x-ms-enum change
- Model/Live validation - fix content-type validation and unknown format issue during validator building
## 10/26/2021 2.10.1
- MV - Fix error conversion issue of invalid token parsing in model validation
- Api scenario generation support swagger file as input parameters
## 10/20/2021 2.10.0
- Add new version of model validation
## 10/19/2021 2.9.2
- Increase semantic validation test coverage to 90%+
- Export loader types
## 09/30/2021 2.9.1
- Example extractor support add url parameter if define x-ms-parameterized-host
## 09/30/2021 2.9.0
- Rename test scenario to API scenario
- Implement API scenario v1.1 schema
- Support PATCH operation in API scenario step
- Add convention for ArmTemplate parameters
- Support cleanUp steps
- Fix xMsExampleExtractor bug
## 09/03/2021 2.8.1
- support calculate test scenario operation coverage
- OAV runner support step scope variables
- Fix runner armTemplate output as runtime variable
- Runner support identify step level variables by using different variable name prefix.
## 08/17/2021 2.8.0
- Isolate RP when running transform on cache model in live validator so that the transform won't fail on global cache level
- Fix type error in nullableTransformer
- Throw exception when getting error in transformLoadedSpecs at livevalidator initialization
- Improve wording of error messages
- Support resolve body variables in armTemplate
- Do not write default variable with placeholder
- Fix validate-traffic file path resolved error.
- Fix generate-examples can't generate some http code in response
## 08/12/2021 2.7.3
- Refactor semantic validation using AJV
- Enable url path for a swagger loading
## 08/09/2021 2.7.2
- Add runner architecture drawio
- Oav runner run test scenarios sequentially
- Oav runner can reuse the 'after-step' environment of the previous step in debugging mode.
## 08/03/2021 2.7.1
- Disable checkUnderFileRoot in `Validate Traffic` command
## 07/21/2021 2.7.0
- Oav runner support specifying option 'runId' with option 'from' and/or 'to' to debug.
- Oav runner support using env variable 'TEST_SCENARIO_JSON_ENV' to override variables in env.json.
- Replace Oav runner option 'cleanUp' with 'skipCleanUp'.
- Update README.md add gif to show API test
- Fix bug. Avoid duplicate step name when generate postman collection
- Small bug fix. Set postman collection subscriptionId env when do AAD auth
- Response diff ignore exception
## 07/15/2021 2.6.2
- Bug Fix: `validate-traffic` command doesn't support relative path input
## 7/13/2021 2.6.1
- Oav test scenario runner support output variables from step
- New oav command "oav run" alias for "oav run-test-scenario" command
- Oav runner support dryRun mode. Only generate postman collection
- Oav runner support predefined resourceGroup and skip cleanUp
- Test scenario schema support "requestUpdate" and "outputVariables" syntax
- Fix resourceUpdate bug
## 07/08/2021 2.6.0
- Support `validate-traffic <traffic-path> <spec-path>` command in OAV cli
## 07/05/2021 2.5.9
- Ignore LRO_RESPONSE_HEADER rule check in case of synchronous api call
## 06/25/2021 2.5.8
- support extract armTemplate deployment output to variables
## 06/22/2021 2.5.7
- small fix for passing validation-level
## 06/22/2021 2.5.6
- optimise validation logical. Ignore readonly and secret property response check
- DO NOT output log when request method is POST
- Support level option. Current two levels: validate-request, validate-request-response. validate-request will only check request parameters. validate-request-response check both request and response.
- Improve test scenario markdown report format
- Bugfix: packaging issue for handlebar files
- Add test scenario JUnit xml report support
## 6/10/2021 2.5.5
- add markdown report support for test scenario runner
- support rule based test scenario generation
- rename error code
- fix relative path bug
## 5/27/2021 2.5.4
- Analyze dependency return resource id schema reference
- Bug fix: test scenario get arm deployment parameters
- Bug fix: test scenario definition step use anyOf instead of oneOf.
- Postman runner support check armTemplate deployment status
## 5/25/2021 2.5.3
- Ignore MISSING_RESOURCE_ID rule for sub level azure resources
## 5/18/2021 2.5.2
- Supports different log types in livevalidator
## 5/13/2021 2.5.1
- test scenario runner support overwrite location, armEndpoint, subscriptionId
## 05/12/2021 2.5.0
- Optimise report blob path.
- Support mask client secret, token and swagger sensitive data
- Refine report schema
- Response diff ignore Id, location, datetime.
- Bump handlebars version to fix vulnerability issue
## 05/11/2021 2.4.0
- Support example generation with multiple operations input
- Added more logging and duration to live validator
## 04/14/2021 2.3.3
- Support auto upload generated file to azure blob.
- Support mask bearer token
- generate-static-test-scenario support generate readme.test.md
## 04/06/2021 2.3.2
- Support auto generate test scenario based on resource type.
- Support directly run test scenario file with embedded internal newman runner
- Support analyze dependency from readme tag.
## 03/30/2021 2.3.1
- Update error message of some rules to align to the document
## 03/24/2021 2.3.0
- Support load test-scenario file
- Support generate postman collection from test-scenario
## 02/08/2021 2.2.7
- Add new rules of 'LRO_RESPONSE_HEADER' and 'LRO_RESPONSE_CODE'.
- Add option of 'isArmCall' to differentiate rulesets for Arm and RpaaS in validation apis.
## 03/12/2021 2.2.6
- Fixed the mock value of 'location' header and 'azure_AsyncOperation' header.
## 02/08/2021 2.2.5
- Add new rule of 'MISSING_RESOURCE_ID'.
- Add option of 'isArmCall' to differentiate rulesets for Arm and RpaaS.
## 02/08/2021 2.2.4
- Bump version to republish since previous version is stuck to be fetched.
## 01/26/2021 2.2.3
- Bugfix collect correct err.data in discriminator validation for multiple level allOf
## 01/22/2021 2.2.2
- Bugfix for example generator: resolve reference undefined property.
## 01/21/2021 2.2.1
- Bugfix should copy required array for allOf transformer
- Bugfix collect correct err.data in discriminator validation
## 01/15/2021 2.2.0
- Enable support for test scenario parsing
## 11/25/2020 2.0.1
- Ignore required validation rule in response when x-ms-secret is true
- Ignore schema validation when request body is not required and value is empty {}
## 11/23/2020 2.0.0
- Replace ts-common libraries by openapi-tools-common single library
- Adding example generation functionality
- Bugfix show source in response code not found
- Bugfix error on response body root
- Bugfix content type
- Downgrade tsconfig target to es2018
- Bugfix Don't report error if readme.md is found outside of rootpath
- Remove readonly/writeonly/secret value in description and params
- Bugfix exclusiveMinimum not reported
- Adding new code DISCRIMINATOR_VALUE_NOT_FOUND
## 07/24/2020 0.22.1
- Upgrade yasway with removing clonedeep when validate schema.
## 07/09/2020 0.21.7
- Fix the bug that the value of 'x-ms-secret' should be boolean instead of string.
## 05/21/2020 0.21.6
- Avoid adding nullable value for parameter when its' type isn't string
- Output exception infomation for semantic validation
## 04/20/2020 0.21.5
- Output exception information when pretty switch is enabled.
## 04/10/2020 0.21.4
- Instead of replacing all the special characters in path parameters, only replace the part of parameter value which start with (http:|https:)
- Upgrade ms-rest version to 2.5.4
## 03/30/2020 0.21.3
- Upgrade yasway version including the fix on regression issue of customvalidator.
## 03/27/2020 0.21.2
- Upgrade yasway version including the fix on global parameter in request validation and x-ms-mutability check for read in request.
## 03/16/2020 0.21.1
- Enabled request parameter suppression in model validation.
## 03/16/2020 0.21.0
- Fixed oav does not report the invalid internal references error issue. Added a function (verfiyInternalReference) to check the error.
## 03/13/2020 0.20.13
- Normalize the path parameter values by using whilelist (0-9a-zA-Z.\_) to fix the issue of validate-example failed
which caused by host path parameter values including special characters (:)
## 03/10/2020 0.20.12
- Fixed typeerror in live validator when search operation in case of unknownapiversion
## 03/03/2020 0.20.11
- Upgrade openapi-markdown package version
## 03/02/2020 0.20.10
- Upgrade virtual-fs package version
## 02/13/2020 0.20.9
- Fall back to match child resource in live validator
## 02/13/2020 0.20.8
- The path matching for subscription and provider in Live validation should be case-insensitive.
## 02/05/2020 0.20.7
- Add base model name as a value to discriminator enum value list.[Issue#468](https://github.com/Azure/oav/issues/468)
## 01/16/2020 0.20.6
- security vulnerability fix for handlebars, kind-of and lodash
## 12/26/2019 0.20.4
- Upgrade yasway and z-schema version.
## 12/05/2019 0.20.3
- Change the swaggerPathsPattern of LiveValidatorOptions to array type
## 11/26/2019 0.20.2
- Upgrade yasway version to consume the change for x-ms-secret property update
## 11/20/2019 0.20.1
- Resource provider and API version should be case-insensitive in live validation
- Upgrade yasway version to reflect the deep clone performance improvement change
## 11/4/2019 0.20.0
- Support x-ms-mutability in the response validation. If there's a write-only x-ms-mutabitlity property in the response, report an error
## 10/22/2019 0.19.9
- Extends logging for live validator to log performance metrics, correlationId and structured request information.
## 10/14/2019 0.19.8
- Add an optional logging callback to consume by livevalidator in order to dump log to external caller.
- Update the yasway version to 1.8.5.
- Add the new validation error code of SECRET_PROPERTY.
## 09/04/2019 0.19.6
- Report example position for request parameter errors [Issue#423](https://github.com/Azure/oav/issues/423).
- Fixed internal error when load invalid local reference file [Issue#449](https://github.com/Azure/oav/issues/449).
- Fixed internal error when load empty reference file [Issue#444](https://github.com/Azure/oav/issues/444).
## 09/03/2019 0.19.5
- Add package.lock file to lock the version of dependencies.
## 08/12/2019 0.19.4
- Update the error handling when loading and parsing suppression files.
## 07/30/2019 0.19.3
- Fixed validation of nullable array types if they were defined as tope level models or transformed into top level models in the `"definitions"` object. Fixes #437.
- Fixed an issue where `"properties": {}` was being incorrectly added to a schema with `"$ref"` in the response or a top level `array`.
## 07/12/2019 0.19.2
- Add support for validating discriminator is required and also the support for suppression.[Issue#386](https://github.com/Azure/oav/issues/386).
## 07/02/2019 0.19.1
- Update TypeScript to 3.5
- `@types/jsonpath` is a dependency because `PathComponent` type from the package is exported in `lib/util/validationError.ts`.
## 07/12/2019 0.19.0
- Modify path in payload for MISSING_REQUIRED_PROPERTIES and for OBJECT_ADDITIONAL_PROPERTIES to point to the actual property.
## 07/02/2019 0.18.6
- Adding support for JSON path & schema path in errors.
- Improved model validation when example provides the response body however the spec doesn't have a schema for the response and vice-versa.
## 06/12/2019 0.18.5
- Added support for JSON path & schema path in errors.
## 05/30/2019 0.18.4
- Better error reporting for spec reference pointing to invalid files.
## 05/29/2019 0.18.3
- Update cache initialization in live validator to `Promise.all()`.
- Update package version of `yuml2svg` dependency (since it contains typescript definitions).
- Add support for validating `readOnly` properties in the request.
- Limiting dependencies on `@types/lodash` and `typescript` due to stricter type definition rules in the later versions.
## 04/25/2019 0.18.2
- Use node env for jest #422.
## 04/08/2019 0.18.1
- Validate request body when it is a JSON object.
## 04/08/2019 0.18.0
- The `isSuccessful` is `undefined` in case of an existing `runtimeException`.
- `RequestResponseLiveValidationResult` has a runtimeExceptions field instead of an errors field.
## 04/05/2019 0.17.0
- Live Validation mode is now skipping validating for errors not specified when using the `includeErrors` option.
- The types `RequestValidationResult` and `ResponseValidationResult` have been replaced with the `LiveValidationResult` type.
## 04/05/2019 0.16.1
- OAV should exit with code `1` if it finds errors.
- Breaking changes in SpecValidationResult, CommonValidationResult.
## 04/01/2019 0.15.3
- Polymporphic anyOf's will be validated only against the matching subschema and any error wont be nested.
## 04/01/2019 0.15.2
- Inner errors will have the `LiveValidationIssue` type instead of`object`.
## 03/28/2019 0.15.1
- Allow for live validation to exclude/include specific errors.
## 03/27/2019 0.15.0
- Refactor live validator and new types for validation results.
- Expose separate request and response validate methods.
- Expose types for live validation parameters.
- `processValidationErrors`, `serializeErrors` and `getPotentialOperations` are not exported anymore. Validation methods automatically call these.
## 03/20/2019 0.14.8
- Don't parse examples when not needed.
- Remove example references when not needed to avoid "UNRESOLVABLE_REFERENCE" errors.
## 03/20/2019 0.14.7
- Change test runner to jest.
## 03/19/2019 0.14.6
- Don't resolve x-ms-examples for live validation and for semantic validation.
## 03/07/2019 0.14.5
- Fixing linting and coding style issues.
## 03/08/2019 0.14.4
- `INTERNAL_ERROR` as an error code.
## 03/07/2019 0.14.3
- OAV shouldn't parse `error.title` twice.
## 03/06/2019 0.14.2
- Use one cache per SpecValidator inside the LiveValidator.
## 03/06/2019 0.14.1
- Add doc cache during `LiveValidator initialization` to reduce memory footprint and execution time.
## 03/06/2019 0.14.0
- Remove package level global doc cache.
- Remove external exports of `clearCache()` and of `executePromisesSequentially()`
## 02/06/2019 0.13.6
- Polymorphic models should have `"type": "object"`.
## 02/05/2019 0.13.5
- Fixing `ONE_OF_MULTIPLE`. It was caused by `x-ms-enum.modelAsString` which validates
discriminators as an unrestricted strings
## 01/29/2019 0.13.4
- Provide url and file position for these errors:
- `RESPONSE_STATUS_CODE_NOT_IN_SPEC`,
- `RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE`,
- `XMS_EXAMPLE_NOT_FOUND_ERROR`,
- `DOUBLE_FORWARD_SLASHES_IN_URL`,
- `RESPONSE_SCHEMA_NOT_IN_SPEC`, and
- `REQUIRED_PARAMETER_EXAMPLE_NOT_FOUND`.
## 01/28/2019 0.13.3
- Provide url and file position for `RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE` errors.
## 01/23/2019 0.13.2
- Update `z-schema`.
## 01/18/2019 0.13.1
- Handle `text-matches` in suppression.
## 01/15/2019 0.13.0
- JSON types are updated.
## 01/14/2019 0.12.0
- Simplify model and semantic property names. `errorCode` becomes `code` and `errorDetails` becomes `details`.
## 01/14/2019 0.11.1
- Replace an example object with a function to avoid reference resolutions in examples.
## 01/08/2019 0.11.0
- Remove JS symbols from errors to avoid logging failure.
## 01/08/2019 0.10.4
- remove `ts-node`
## 12/11/2018 0.10.3
- exporting NodeError to consume it outside of oav..
## 12/07/2018 0.10.2
- no default response for non errors.
## 12/07/2018 0.10.1
- update `@ts-common/virtual-fs` to retry network requests.
## 12/05/2018 0.10.0
- no `CloudError` generation.
## 12/01/2018 0.9.7
- Properly handle JSON errors
## 11/29/2018 0.9.6
- update `@ts-common/json-parser` to properly handle UNICODE escape symbols.
## 11/28/2018 0.9.5
- catch `jsonpath` exceptions.
- Better internal structure.
## 11/27/2018 0.9.4
- Improve exception/error message.
## 11/26/2018 0.9.3
- Use `z-schema` instead of `@ts-common/z-schema`.
## 11/21/2018 0.9.2
- Remove `rewire()` package.
## 11/20/2018 0.9.1
- getErrorsFromSemanticValidation().
## 11/19/2018 0.9.0
- Improve error types.
## 11/16/2018 0.8.1
- Suppressions may have multiple `where` and `from` fields. OAV didn't handle it properly.
## 11/08/2018 0.8.0
- a source map for CloudError
- a bug fix for embedded examples.
## 11/08/2018 0.7.14
- update swagger definition
## 10/23/2018 0.7.13
- switch to Azure DevOps.
## 10/23/2018 0.7.12
- switch from `@ts-common/azure-openapi-markdown` to `@azure/openapi-markdown`.
## 10/15/2018 0.7.11
- exported functions don't catch exceptions.
## 10/15/2018 0.7.10
- Provide Title for all Schema Objects.
## 10/12/2018 0.7.9
- Additional source map for generated Schema objects.
## 10/09/2018 0.7.8
- Update `@ts-common/azure-openapi-markdown` package.
## 10/08/2018 0.7.7
- Fix a bug applying suppressions from HTTPS.
## 10/08/2018 0.7.6
- Fix a bug in ReadFile from HTTPS.
## 10/08/2018 0.7.5
- Get suppressions from HTTPS.
## 10/03/2018 0.7.4
- Fix `@ts-common/source-map` `.d.ts` files.
## 10/02/2018 0.7.3
- Suppress promise rejection.
## 10/02/2018 0.7.2
- Fix URL encoding test.
## 10/02/2018 0.7.1
- Fix yasway.
## 10/01/2018 0.7.0
- Suppression API is changed.
## 09/27/2018 0.6.5
- Suppression supports relative file and object paths.
## 09/25/2018 0.6.4
- Source Map for `.d.ts` files.
## 09/25/2018 0.6.3
- Source Map
## 09/25/2018 0.6.2
- Bug fix for `resolve-spec` CLI (#320)
## 09/25/2018 0.6.1
- Semantic validation warning bug fix.
## 09/21/2018 0.6.0
- Suppression. `where` is not supported yet.
## 09/21/2018 0.5.13
- Correcting where we add url and position information to semantic validation errors.
## 09/19/2018 0.5.12
- Adding url and position to source where issue occurs for semantic validation errors.
## 09/19/2018 0.5.11
- Adding pretty printing to validate-spec command, --pretty option.
## 09/17/2018 0.5.10
- xMsExamplesExtractor bug fix #309
## 09/11/2018 0.5.9
- OAV is using '@ts-common/z-schema' instead of 'z-schema'
## 09/10/2018 0.5.8
- Fix JSON-Pointer encoding.
## 08/28/2018 0.5.7
- Errors have optional `jsonUrl` and `jsonPosition` fields.
## 08/22/2018 0.5.6
- CloudError proper fix
## 08/22/2018 0.5.5
- CloudError bug fix #300.
## 08/22/2018 0.5.4
- Simplified source-map
## 08/21/2018 0.5.3
- Friendly nested definition name
## 08/21/2018 0.5.2
- Bug fix for `"type": "file"`
## 08/17/2018 0.5.1
- File URL and position in title
## 08/17/2018 0.5.0
- File URL and position
## 08/16/2018 0.4.70
- New transformation functions.
## 08/14/2018 0.4.69
- Collapse of similar errors for array elements in `similarPaths` property on the error.
## 08/13/2018 0.4.68
- Using a JSON parser with a source map.
## 08/11/2018 0.4.67
- Single error for not matching any discriminated types.
## 08/10/2018 0.4.66
- Use JSON Pointer format for inserted schema title for properties and definitions.
## 08/10/2018 0.4.65
- Include property name as schema title in the property object.
## 08/10/2018 0.4.64
- Include definition name as schema title in the definitions.
## 08/01/2018 0.4.63
- Replacing `reduce` error collections with lazy iterators.
## 07/18/2018 0.4.62
- Solve security vulnerabilities
## 07/18/2018 0.4.61
- Export more types
## 07/18/2018 0.4.60
- Use `yasway` type definitions
## 07/18/2018 0.4.59
- Bug fix: `scenarios is undefined` when running AutoRest plugin.
## 07/17/2018 0.4.58
- export additional types.
## 07/05/2018 0.4.57
- `--pretty` output.
## 07/05/2018 0.4.56
- Error serialization.
## 07/05/2018 0.4.55
- Remove a dependency on `@types/winston` package. `winston` is updated to `3.0.0`.
## 06/21/2018 0.4.54
- Apply rules for Nested Properties
## 06/26/2018 0.4.51
- Bug fix: Do BOM stripping for remote URL's [#266](https://github.com/Azure/oav/issues/266).
## 06/20/2018 0.4.50
- Replace sway dependency with yasway.
## 06/19/2018 0.4.49
- Bug fix: Data is valid against more than one schema from `oneOf` [#248](https://github.com/Azure/oav/pull/248)
The problem occurs when referenced model may also accept `null`. The fix is replacing `oneOf` with `anyOf`.
## 05/14/2018 0.4.38
- Bug fix: `oav extract-xmsexamples` also extracts request headers. [#241](https://github.com/Azure/oav/pull/241)
- Bug fix: x-ms-parametrized-host is not validated correctly [#240](https://github.com/Azure/oav/issues/240)
## 04/23/2018 0.4.37
- Update dependencies.
- Bug fixes: [#238](https://github.com/Azure/oav/pull/238)
- Path parameters can include single quotes and be evaluated succesfully.
- Enums with non-string values are properly evaluated.
## 04/19/2018 0.4.36
- If enums mismatch only in casing the new error ENUM_CASE_MISMATCH will be returned.
## 03/15/2018 0.4.35
- Validate default responses. [#228](https://github.com/Azure/oav/issues/228)
- Add option to model an implicit default cloud error response. [#224](https://github.com/Azure/oav/issues/224)
## 03/08/2018 0.4.34
- Updating default output level to info.
- Fixing issue #225, where output verbosity wasn't respected in one case.
## 02/28/2018 0.4.33
- Don't validate pure objects.
## 02/05/2018 0.4.32
- Fix bug for resolve external references introduced part of #202.
## 02/05/2018 0.4.31
- Bug fix for the fix made to resolve jshint issues in #202.
## 02/05/2018 0.4.30
- Improve matching for status code string for live validation.
## 02/05/2018 0.4.29
- Add support for live validation to support status code string along the status code number.
- Update to use package autorest-extension-base from npm.
## 02/01/2018 0.4.28
- Fix undefined headers issue when the spec does not define consumes values.
## 01/31/2018 0.4.27
- Updating dependency of lodash to 4.17.4.
## 01/31/2018 0.4.26
- Fix all linter issues. [#201](https://github.com/Azure/oav/issues/201)
- Add option to do case insensitive regex matches on swagger paths to the SpecValidator and LiveValidator. [#203](https://github.com/Azure/oav/issues/203)
## 01/30/2018 0.4.25
- Fixed a typo in the variable name while resolving nullable types.
## 01/17/2018 0.4.24
- The tool does not error on missing definitions in the swagger spec #194
- Added support for application/octet-stream or file upload/download scenarios #192
## 01/05/2018 0.4.23
- Addressing INVALID_TYPE issues reported by model validation due to nullable types/properties. [#155](https://github.com/Azure/oav/issues/155). In order to allow null types, we relax types to be 'oneOf' `null` or its type, for the cases where properties/models have x-nullable set or x-nullable is not defined and property is not required.
## 12/11/2017 0.4.22
- Added support to generate class diagram from a given swagger spec #188.
- Fixed #190, #191.
## 12/4/2017 0.4.21
- Removed the enum constraint or reference to an enum on the discriminator property if previously present before making it a constant.
## 11/20/2017 0.4.20
- Added support for processing [`"x-ms-parameterized-host": {}`](https://github.com/Azure/autorest/tree/master/docs/extensions#x-ms-parameterized-host) extension if present in the 2.0 swagger spec.
## 11/19/2017 0.4.19
- Added support for validating examples for parameters `"in": "formData"`.
## 11/09/2017 0.4.18
- Ensure scheme, host and basePath are used to construct the base url #180.
## 10/24/2017 0.4.17
- Disable resolving discriminators while performing semantic validation for an open api specification that conforms to 2.0 version.
## 10/20/2017 0.4.16
- Entire tree except the leaf nodes need to be traversed for replacing references of (an uber(root) or intermediate) parent with a `"oneof"` array containing references to itself and all its children. #175
## 10/18/2017 0.4.15
- Updating model validator to resolve polymorphic types using oneOf. #171
## 10/17/2017 0.4.14
- Updating model validator to plugin to autorest.
## 09/12/2017 0.4.13
- Provide the filepath of the file that has an incorrect json. This makes it easy for customers to find out the faulty file among numerous files.
## 09/12/2017 0.4.12
- [Model Validator] Should handle forward slashes in path parameters. #165
- [Model Validator] Should handle question mark in paths that are defined in x-ms-paths. #140
## 08/30/2017 0.4.11
- [Wire Format Generator] Should handle resolved x-ms-examples. #161
## 08/23/2017 0.4.10
- [Wire Format Generator] Removed condition for checking 200 & 204 in final status code for non-LRO. #159
- [Wire Format Generator] Updated default directory to be the api-version folder of the swagger spec. #159
## 08/03/2017 0.4.9
- [Live Validator] Shallow clone the azure-rest-api-spec repo.
- [Model Validator] Improve pluggability of oav into vs-code. #143
## 08/03/2017 0.4.8
- [Live Validator] Before cloning the rest api specs repo if directory named 'repo' exists we delete it and then create an empty directory to clone repo inside it.
## 07/11/2017 0.4.7
- Fixed Live validator for reorg branch of azure-rest-api-specs #137
## 07/03/2017 0.4.6
- Fixed issue #134
## 06/26/2017 0.4.5
- Added support to generate wireformat as a YAML doc
- Improved the format to specify request body for a in a request using curl.