ata-validator
1.61.3 · 29 Oct 2026MIT21.8k / weekRepositoryHomepagenpmAtom feed
1.61.3 is the newest release of 1.x.
Release note
Added
propertyDependencies, a JSON Schema v1 proposal.
It selects a subschema by the value of a property rather than by its presence, which is what dependentSchemas does. It replaces the oneOf and if/then patterns normally used to branch on a discriminator field:
{
"propertyDependencies": {
"type": {
"customer": { "$ref": "./customer" },
"employee": { "$ref": "./employee" }
}
}
}The proposal defines the keyword as equivalent to an if/then on const, so the tests check that equivalence case by case rather than asserting a separate expectation of what the keyword ought to do. The proposal's own files from the official test suite pass 36 of 38; the two remaining are a $dynamicRef scope gap in the interpreted engine that the if/then form of the same schema hits identically.
The keyword is implemented in the interpreted engine. Both JS compiler paths decline a schema that uses it, and a schema combining it with $dynamicRef no longer routes to the native engine, which does not know it either. Emitting nothing for an unknown keyword is what made an unresolved $ref vacuous before 1.3.0, and the same mistake was available here.
Nothing changes for schemas that do not use the keyword.