Releases: ajv-validator/ajv
3.5.0
Asynchronous validation using custom keywords and formats that make some asynchronous calls/requests.
Passed Ajv options are cloned and ajv.opts
is renamed to _opts
. It is not recommended to modify options of the existing instance as it may lead to inconsistent behaviour in schemas with references.
3.4.0
Option coerceTypes
to coerce data types to match type
in schema. See Coercing data types.
3.3.0
3.2.0
useDefaults
option to assign defaults to missing properties and items.
3.1.0
3.0.0
v5 $data
reference to use values from the validated data as values for schema keywords.
New formats: uuid
, json-pointer
, relative-json-pointer
.
Option loopRequired
to limit the size of compiled validation function in case of very large number of required properties.
Improved macro keywords:
- simpler code and faster compilation.
- macro keyword adds the error.
- macro keyword can be limited to some data type(s).
npm run bundle
now creates minified UMD browser bundle with source map.
Changes
Previously Ajv was compiling "required" keyword as if the option loopRequired
was set to 21. Currently the default value is Infinity
(better performance but larger validation function in case of many required properties).
Function for inline
keyword receives keyword as the second parameter. See Inline keywords.
Errors for custom keywords now have actual keyword in error.keyword
property (previously "custom"
).
2.5.0
schemaPath
in errors.
2.4.0
switch
keyword from from JSON-schema v5 proposals.
v5 meta-schema used by default with option v5.
2.3.0
Added parentSchema
property to error option when option verbose
is true.
2.2.0
time
format
formatMaximum
/formatMinimum
and exclusiveFormatMaximum
/exclusiveFormatMinimum
from JSON-schema v5 proposals with option v5