ata-validator
1.61.3 · 29 Oct 2026MIT21.8k / weekRepositoryHomepagenpmAtom feed
1.61.3 is the newest release of 1.x.
In short
2 fixed1 changed
Release note
Fixed
isValid()on a buffer disagreed withvalidate()on the parsed value for 294 of 2208 cases in the official suite, in both directions. Two causes: the path returned the code generator'sfalsedirectly, which is ambiguous between "invalid" and "the plan stopped at a composition opcode and the walker should finish", so every schema usingallOf,anyOf,oneOfor$refwas rejected outright; and it ended in a second, simpler walker that had drifted from the onevalidate()uses. It now calls the same walker with all errors off, so there is one set of semantics rather than two kept in step by hand. The disagreement drops to 243 cases, the rest being the on-demand plan answering before the walker runs, which is engine work rather than a setting.tests/test_buffer_path_parity.jsrecords that number so it cannot widen, and the README and the edge runtimes guide now state the gap, sinceisValid,countValidandbatchIsValidare shipped APIs and a caller has no way to know otherwise.
Changed
ATA_NO_MIMALLOCskips the bundledmimalloc-new-delete.hinclude. A toolchain that ships the mimalloc headers along with its ownoperator new/deleteover the same allocator hits a duplicate symbol at link time; Emscripten with-sMALLOC=mimallocis that case, so the source could not be compiled to WebAssembly at all. The native build does not define it and is unchanged.