- Update TypeScript to 3.5
@types/jsonpath
is a dependency becausePathComponent
type from the package is exported inlib/util/validationError.ts
.
- Modify path in payload for MISSING_REQUIRED_PROPERTIES and for OBJECT_ADDITIONAL_PROPERTIES to point to the actual property.
- Adding support for JSON path & schema path in errors.
- Better error reporting for spec reference pointing to invalid files.
- 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
andtypescript
due to stricter type definition rules in the later versions.
- Use node env for jest #422.
- Validate request body when it is a JSON object.
- The
isSuccessful
isundefined
in case of an existingruntimeException
. RequestResponseLiveValidationResult
has a runtimeExceptions field instead of an errors field.
- Live Validation mode is now skipping validating for errors not specified when using the
includeErrors
option. - The types
RequestValidationResult
andResponseValidationResult
have been replaced with theLiveValidationResult
type.
- OAV should exit with code
1
if it finds errors. - Breaking changes in SpecValidationResult, CommonValidationResult.
- Polymporphic anyOf's will be validated only against the matching subschema and any error wont be nested.
- Inner errors will have the
LiveValidationIssue
type instead ofobject
.
- Allow for live validation to exclude/include specific errors.
- Refactor live validator and new types for validation results.
- Expose separate request and response validate methods.
- Expose types for live validation parameters.
processValidationErrors
,serializeErrors
andgetPotentialOperations
are not exported anymore. Validation methods automatically call these.
- Don't parse examples when not needed.
- Remove example references when not needed to avoid "UNRESOLVABLE_REFERENCE" errors.
- Change test runner to jest.
- Don't resolve x-ms-examples for live validation and for semantic validation.
- Fixing linting and coding style issues.
INTERNAL_ERROR
as an error code.
- OAV shouldn't parse
error.title
twice.
- Use one cache per SpecValidator inside the LiveValidator.
- Add doc cache during
LiveValidator initialization
to reduce memory footprint and execution time.
- Remove package level global doc cache.
- Remove external exports of
clearCache()
and ofexecutePromisesSequentially()
- Polymorphic models should have
"type": "object"
.
- Fixing
ONE_OF_MULTIPLE
. It was caused byx-ms-enum.modelAsString
which validates discriminators as an unrestricted strings
- 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
, andREQUIRED_PARAMETER_EXAMPLE_NOT_FOUND
.
- Provide url and file position for
RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE
errors.
- Update
z-schema
.
- Handle
text-matches
in suppression.
- JSON types are updated.
- Simplify model and semantic property names.
errorCode
becomescode
anderrorDetails
becomesdetails
.
- Replace an example object with a function to avoid reference resolutions in examples.
- Remove JS symbols from errors to avoid logging failure.
- remove
ts-node
- exporting NodeError to consume it outside of oav..
- no default response for non errors.
- update
@ts-common/virtual-fs
to retry network requests.
- no
CloudError
generation.
- Properly handle JSON errors
- update
@ts-common/json-parser
to properly handle UNICODE escape symbols.
- catch
jsonpath
exceptions. - Better internal structure.
- Improve exception/error message.
- Use
z-schema
instead of@ts-common/z-schema
.
- Remove
rewire()
package.
- getErrorsFromSemanticValidation().
- Improve error types.
- Suppressions may have multiple
where
andfrom
fields. OAV didn't handle it properly.
- a source map for CloudError
- a bug fix for embedded examples.
- update swagger definition
- switch to Azure DevOps.
- switch from
@ts-common/azure-openapi-markdown
to@azure/openapi-markdown
.
- exported functions don't catch exceptions.
- Provide Title for all Schema Objects.
- Additional source map for generated Schema objects.
- Update
@ts-common/azure-openapi-markdown
package.
- Fix a bug applying suppressions from HTTPS.
- Fix a bug in ReadFile from HTTPS.
- Get suppressions from HTTPS.
- Fix
@ts-common/source-map
.d.ts
files.
- Suppress promise rejection.
- Fix URL encoding test.
- Fix yasway.
- Suppression API is changed.
- Suppression supports relative file and object paths.
- Source Map for
.d.ts
files.
- Source Map
- Bug fix for
resolve-spec
CLI (#320)
- Semantic validation warning bug fix.
- Suppression.
where
is not supported yet.
- Correcting where we add url and position information to semantic validation errors.
- Adding url and position to source where issue occurs for semantic validation errors.
- Adding pretty printing to validate-spec command, --pretty option.
- xMsExamplesExtractor bug fix #309
- OAV is using '@ts-common/z-schema' instead of 'z-schema'
- Fix JSON-Pointer encoding.
- Errors have optional
jsonUrl
andjsonPosition
fields.
- CloudError proper fix
- CloudError bug fix #300.
- Simplified source-map
- Friendly nested definition name
- Bug fix for
"type": "file"
- File URL and position in title
- File URL and position
- New transformation functions.
- Collapse of similar errors for array elements in
similarPaths
property on the error.
- Using a JSON parser with a source map.
- Single error for not matching any discriminated types.
- Use JSON Pointer format for inserted schema title for properties and definitions.
- Include property name as schema title in the property object.
- Include definition name as schema title in the definitions.
- Replacing
reduce
error collections with lazy iterators.
- Solve security vulnerabilities
- Export more types
- Use
yasway
type definitions
- Bug fix:
scenarios is undefined
when running AutoRest plugin.
- export additional types.
--pretty
output.
- Error serialization.
- Remove a dependency on
@types/winston
package.winston
is updated to3.0.0
.
- Apply rules for Nested Properties
- Bug fix: Do BOM stripping for remote URL's #266.
- Replace sway dependency with yasway.
- Bug fix: Data is valid against more than one schema from
oneOf
#248 The problem occurs when referenced model may also acceptnull
. The fix is replacingoneOf
withanyOf
.
- Bug fix:
oav extract-xmsexamples
also extracts request headers. #241 - Bug fix: x-ms-parametrized-host is not validated correctly #240
- Update dependencies.
- Bug fixes: #238
- Path parameters can include single quotes and be evaluated succesfully.
- Enums with non-string values are properly evaluated.
- If enums mismatch only in casing the new error ENUM_CASE_MISMATCH will be returned.
- Updating default output level to info.
- Fixing issue #225, where output verbosity wasn't respected in one case.
- Don't validate pure objects.
- Fix bug for resolve external references introduced part of #202.
- Bug fix for the fix made to resolve jshint issues in #202.
- Improve matching for status code string for live validation.
- Add support for live validation to support status code string along the status code number.
- Update to use package autorest-extension-base from npm.
- Fix undefined headers issue when the spec does not define consumes values.
- Updating dependency of lodash to 4.17.4.
- Fix all linter issues. #201
- Add option to do case insensitive regex matches on swagger paths to the SpecValidator and LiveValidator. #203
- Fixed a typo in the variable name while resolving nullable types.
- 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
- Addressing INVALID_TYPE issues reported by model validation due to nullable types/properties. #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.
- Added support to generate class diagram from a given swagger spec #188.
- Fixed #190, #191.
- Removed the enum constraint or reference to an enum on the discriminator property if previously present before making it a constant.
- Added support for processing
"x-ms-parameterized-host": {}
extension if present in the 2.0 swagger spec.
- Added support for validating examples for parameters
"in": "formData"
.
- Ensure scheme, host and basePath are used to construct the base url #180.
- Disable resolving discriminators while performing semantic validation for an open api specification that conforms to 2.0 version.
- 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
- Updating model validator to resolve polymorphic types using oneOf. #171
- Updating model validator to plugin to autorest.
- 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.
- [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
- [Wire Format Generator] Should handle resolved x-ms-examples. #161
- [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
- [Live Validator] Shallow clone the azure-rest-api-spec repo.
- [Model Validator] Improve pluggability of oav into vs-code. #143
- [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.
- Fixed Live validator for reorg branch of azure-rest-api-specs #137
- Fixed issue #134
- Added support to generate wireformat as a YAML doc
- Improved the format to specify request body for a in a request using curl.