ata-validator
1.61.3 · 29 Oct 2026MIT21.8k / weekRepositoryHomepagenpmAtom feed
1.61.3 is the newest release of 1.x.
Release note
Fixed
A $ref that could not be resolved validated everything instead of failing. The JS compiler emitted no check at all for an unresolved reference, so a typo in a $ref, or a reference into a schema that was never registered, silently turned off every constraint behind it rather than reporting an error. Both compiler paths now decline to compile such a schema and it validates on the interpreted engine, which reports ATA5001 naming the reference it could not resolve.
References that resolve relative to an enclosing base URI are no longer compiled by the JS paths, which match registry entries by exact key or path suffix and have no notion of a base. Nested $id scopes, relative references, and documents registered under a URI different from the $id they declare now route to the interpreted engine, which tracks the base properly. Schemas that reference a flat registry of ids, the common $ref: 'shared#' shape, still take the compiled fast path.
A schema supplied through the schemas option as a URI-keyed record was registered only under the $id it declared, so references to the URI it was registered under could not resolve. It is now addressable by both.
Official draft 2020-12 remote-reference suite: 30 of 31 cases, up from 21. Pure-JS configuration on the full suite: 1189 of 1190, up from 1188. The native configuration stays at 1190 of 1190.
Added
useDefaults and assertFormat validator options, both defaulting to true so existing behavior is unchanged.
useDefaults: false stops missing properties being filled in from their default before validation, which matters because a default that does not satisfy its own subschema currently makes an otherwise valid instance fail.
assertFormat: false treats format as an annotation rather than an assertion, the Draft 2020-12 reading when the format-assertion vocabulary is not in use.
With both off, ata passes every case in the suite's format and default files.