ata-validator
1.61.3 · 29 Oct 2026MIT21.8k / weekRepositoryHomepagenpmAtom feed
Upgrading ata-validator from 1.50.0 to 1.51.0
1 release in betweenevery note read
Reading releases, release notes and advisories…
Release by release
- new
ata buildbuilds schemas that reference each other by$id. A schema whose references leave it gets the other inputs registered beside it, as theschemasoption would; one that resolves within itself is built as before. Such schemas used to be skipped as not AOT-compatible: on 64 schemas that reference each other 1124 times, 2 were built, now 63 are (the 64th holds only$defs). - new
With
--mode schemathose modules name their schema by$id, and the schemas are written once toata-registry.mjsbeside the runtime. For the 19 of those schemas one application builds browser validators for, that is 63.6 KB gzipped, minified, against 273.6 KB for self-contained modules, which each carry what they reference. The answers are the same: on 59,724 document and schema pairs from the project's fixtures, verdicts match the self-contained modules and another validator, and error lists match the runtimeValidator.toSchemaModule(validator, { runtime, registry })andregistrySource(schemas)inata-validator/aotdo it by hand. - new
ata build --base-uri <uri>names every input without an$idby the URI and its file name, so schemas that reference a shared file by URL or relative path build. Kubernetes schemas reference one_definitions.jsonthat declares no$id: none of them built before, now each does. - new
The schema registry keeps only the definitions its modules reach, after checking that every reference still resolves without the rest. For eight Kubernetes kinds it is 68.5 KB rather than 242.3 KB, and the eight modules with the registry and the runtime come to 32.6 KB gzipped, minified, against 68.6 KB for self-contained modules.
- new
A schema skipped for a reference that does not resolve says which reference, and what would resolve it, instead of "not AOT-compatible".
- fixed
Errors behind a
$refinto another document (theschemasoption,addSchema) are ordered as they would be inline. The ordering followed only references within the root, so the generated code and the interpreter each kept their own order and disagreed:requiredbeforeadditionalPropertiesfrom one, after the nested property errors from the other. - fixed
ata buildprints its warnings. A module whose error detail the generator declined reported every failure as the single ATA9000 error and the build said nothing; it now says so for each such module and points to--mode schema.
- new