NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #265 most downloaded on npm
webpack Validation Utils
Last release 21 days ago
13 Sep 2026
Release timing varies
gaps range from 2 weeks to 1.5 years
Nearly every release is documented
notes for 44 of 45 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
45 releases · first in 2017
The absolutePath keyword reads a file: URL the way Node's own URL parser does: the scheme may be followed by any number of slashes, so file:/directory
absolutePath keyword reads a file: URL the way Node's own URL parser does: the scheme may be followed by any number of slashes, so file:/directory is accepted alongside file:///directory, and it is matched case-insensitively, so FILE:///directory is too. A scheme with no slash after it — file:directory — still names no absolute path and is rejected. (by @alexander-akait in #226)The absolutePath keyword accepts an optional file:// prefix now, so a path from import.meta.resolve() can be passed to an option that takes an absolut
The absolutePath keyword accepts an optional file:// prefix now, so a path from import.meta.resolve() can be passed to an option that takes an absolute path. Options that take a relative path reject such a value instead, they used to accept it. (by @laymonage, @alexander-akait in #222)
process.env.SKIP_VALIDATION is now read when schema-utils is loaded rather than on every validation, so set it before starting the process. enableValidation()/disableValidation() still take effect immediately and now share their state with every copy of schema-utils in the process directly. (by @alexander-akait in #217)
At most 100 errors of a list are listed in the message now, the rest is counted as and N more errors. errors still holds every error. (by @alexander-akait in #217)
read the format keyword as part of the type, i.e. should be a date string instead of should be a string (should match format "date") (by @alexander-akait in #225)
output the type of object properties in error messages, i.e. object { foo?: boolean, bar?: integer } (by @alexander-akait in #224)
Updated ajv to 8.20.0, ajv-formats to 3.0.1 and @types/json-schema to 7.0.15. ajv-formats 3 only moves ajv to a peer dependency, the formats themselves are unchanged. (by @alexander-akait in #221)
A string an absolutePath keyword applies to is described as an absolute path string or a relative path string rather than as a bare string, which read as though any string would do. A failure a schema reaches through more than one branch is listed once instead of repeatedly, so a relative path given to a rule condition is reported as the one line that says so. (by @alexander-akait in #223)
Fixed error filtering being quadratic in the amount of reported errors, which let a large invalid configuration lock up the process, and stopped errors from being dropped when one instance path merely contained another as a substring - two sibling properties where one name is a prefix of the other were enough to lose an error. An array of options reporting a lot of errors no longer throws RangeError: Maximum call stack size exceeded instead of a ValidationError. (by @alexander-akait in #217)
All notable changes to this project will be documented in this file.
One column per quarter.
reexport ValidationErrorConfiguration type
4.3.2 (2025-04-22) Bug Fixes compatibility with old types
export Schema and additional schemas
disallow arrays as the object type
implement undefinedAsNull keyword for enum type
(perf) improved initial start time
minimum supported Node.js version is >= 12.13.0
Node.js version is >= 12.13.0ajv to 8.8.0 version, please read internal changes, postFormatter require attention due some properties were changedformatExclusiveMaximum and formatExclusiveMinimum was changed (due usage ajv-formats package)Node.js version is >= 12.13.0ajv to 8.8.0 version, please read internal changes, postFormatter require attention due some properties were changedformatExclusiveMaximum and formatExclusiveMinimum was changed (due usage ajv-formats package)implement undefinedAsNull keyword for enum type
perf: reduced initial start time
update error message for integer
added the link property in validation error
minimum supported Node.js version is 10.13.0,
Node.js version is 10.13.0,const { validate } = require('schema-utils');ValidateError export was removed in favor the ValidationError export, please use const { ValidationError } = require('schema-utils');Node.js version is 10.13.0,const { validate } = require('schema-utils');ValidateError export was removed in favor the ValidationError export, please use const { ValidationError } = require('schema-utils');remove esModuleInterop from tsconfig
move @types/json-schema from devDependencies to dependencies
### 2.6.6 (2020-04-17) ### Bug Fixes * improve perf
correct dots at end of sentence
change initialised to initialized
prefer the baseDataPath option from arguments
better handle Windows absolute paths
### 2.6.1 (2019-11-28) ### Bug Fixes * typescript declarations
rework format for maxLength, minLength
### 2.4.1 (2019-09-27) ### Bug Fixes * publish definitions
## 2.3.0 (2019-09-26) ### Features * support not keyword
better error output for oneOf and anyOf
## 2.1.0 (2019-08-07) ### Bug Fixes * throw error on sparse arrays (#47) (b85ac38) ### Features * export ValidateError
errorMessage, please use description for links.<a name="1.0.0"></a>
<a name="0.4.7"></a>
### 2.0.1 (2019-07-18) ### Bug Fixes * error message for empty object
drop support for Node.js < 8.9.0
errorMessage, please use description for links.src: add support for custom error messages
## 2018-08-07 ### Bug Fixes * src: node >= v4.0.0 support
package: remove unnecessary webpack dependency
Bug Fixes## 2018-02-13 ### Bug Fixes * CHANGELOG: update broken links (4483b9f) * package: update broken links
Bug Fixes## 2018-02-13 ### Bug Fixes * package: update dependencies
validateOptions: throw err instead of process.exit(1)
Bug FixesvalidateOptions: catch ValidationError and handle it internally
Bug FixesValidationError: use Error.captureStackTrace for err.stack handling
Bug Fixes<a name="0.4.0"></a>
<a name="0.3.0"></a>
<a name="0.2.1"></a>
add support for typeof, instanceof ({Function|RegExp})
## 2017-04-29 ### Features * add ValidationError
validations: add validateOptions module
<a name="0.2.0"></a>
<a name="0.1.0"></a>
All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →