ata-validator
1.61.3 · 29 Oct 2026MIT21.8k / weekRepositoryHomepagenpmAtom feed
1.61.3 is the newest release of 1.x.
In short
2 faster2 fixed
Release note
Performance
The code generator takes shapes it used to decline for no correctness reason: boolean subschemas in
items,properties,patternProperties,dependentSchemas,propertyNames,allOf,anyOf,not,containsandif/then/else, recursive#/$defs/references as named functions, andadditionalPropertiesas a schema alongside composition orpatternProperties. Each lands in all three generators and the closure path, held to the interpreter bytests/test_codegen_edge_shapes.jsand the entry-point agreement test over the whole official suite. Every suite group that moved off the interpreter got faster, 31 of 31 on draft 2020-12 and 28 of 28 on draft 7, summed per-group time down 70 percent. The suite-wide figure, measured interleaved against the previous release in one process, did not move outside that measurement's noise;benchmark/verdict-bench.mdhas the numbers and says why.dateandipv4format checks read the string once with no regular expression and no allocation: 45.7 to 14.2 ns and 54.5 to 27.1 ns on a valid value, interleaved medians. Fuzzed against the previous forms with 0 mismatches;tests/test_formats_single_pass.jskeeps it that way.
Fixed
A key matched only by the second of two
patternPropertiesentries, alongsideadditionalProperties: false, was rejected: the generated key loop returned at the first pattern that missed. Found while rewriting that loop; covered by the edge-shape test.A declared property that also matched a
patternPropertiesentry skipped the pattern's schema in the generated code whenadditionalPropertieswas a schema. The suite's own interaction case caught it the moment the shape was allowed to compile.