A fast and simple JSON Schema validator for JavaScript and Node.js, supporting JSON Schema draft-07. Useful for validating JavaScript values against JSON schemas and returning detailed validation results (including error paths and messages), with options like custom formats and custom validation keywords.
Project status
- Maintenance status: GitHub shows an upstream push on 2026-05-08, indicating the repo is not dormant and has had recent activity, though the provided versioned updates listed stop at v1.4.1 (2022-05-17).
- Update cadence: Tagged/version updates appear infrequent (v1.4.0 in 2020, v1.4.1 in 2022), but the 2026-05 upstream push suggests development is continuing even if newer tagged updates are not reflected in the supplied data.
AI summary generated
Recent updates
v1.4.1
Release v1.4.1 (2022-05-17) contains code changes to keyword handling and format validation, including adding support for the JSON Schema "contains" keyword and fixing exclusiveMinimum boolean behavior. The release notes section is empty, so the changes below are inferred from the actual diff.
BreakingFeaturesv1.4.0
v1.4.0 introduces new validation control options (throwFirst, throwAll) and a new error type (ValidatorResultError) that can be thrown based on those options. It also changes how validation handles undefined when options.required is enabled, and improves URI handling by considering schema.$id in addition to schema.id.
Featuresv1.3.0
Release v1.3.0 was published on 2020-10-16, but no release notes were provided by the publisher. As a result, there is no documented information here about new features, bug fixes, security updates, or breaking changes.
v1.2.11
v1.2.11 ships with no release notes provided by the publisher. The code diff shows behavior changes in how the validator handles invalid schema keyword values (notably null and undefined), plus a TypeScript declaration adjustment for the `const` keyword and some dev-only testing tooling updates.
v1.2.10
No release notes were provided for v1.2.10. The only code changes are in the TypeScript declaration file, plus a package version bump.
v1.2.9
v1.2.9 updates jsonschema's handling of schema `pattern` and `patternProperties` regular expressions, adding a fallback when constructing Unicode (`'u'`) RegExp throws. It also updates the TypeScript definitions to introduce a `preValidateProperty` option hook, and adds tests around invalid non-unicode regex patterns.
v1.2.8
v1.2.8 introduces stricter input validation for Validator#validate and changes how the library determines whether a property exists on the instance, particularly for enumerable properties in the prototype chain. It also adjusts schema management error reporting and includes additional test coverage around these behavioral changes.
BreakingFeaturesv1.2.7
Release v1.2.7 has no provided release notes, so changes must be inferred from the code diff. The diff shows runtime behavior tweaks around regex handling (unicode RegExp flag), uniqueness validation, and error object shaping, alongside TypeScript typing updates and a dev/test toolchain upgrade.
v1.2.6
Release v1.2.6 (published 2020-04-01) has no provided release notes. The code diff is small and mostly focused on improving array detection by switching from instanceof Array to Array.isArray, plus a TypeScript type definition tweak in lib/index.d.ts.
v1.2.5
Release v1.2.5 was published on 2019-11-27, but the publisher did not include release notes or any described changes. As a result, there is no documented information here about new features, bug fixes, breaking changes, security, or migration steps.