Packages

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…

Other targets from 1.50.0Newest 1.x, Latest1.61.3
0
changes to make
0
advisories fixed
5
new
2
fixes

Release by release

  1. 1.51.0

    11 Oct 20265 new · 2 fixes
    • new

      ata build builds schemas that reference each other by $id. A schema whose references leave it gets the other inputs registered beside it, as the schemas option 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 schema those modules name their schema by $id, and the schemas are written once to ata-registry.mjs beside 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 runtime Validator. toSchemaModule(validator, { runtime, registry }) and registrySource(schemas) in ata-validator/aot do it by hand.

    • new

      ata build --base-uri <uri> names every input without an $id by the URI and its file name, so schemas that reference a shared file by URL or relative path build. Kubernetes schemas reference one _definitions.json that 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 $ref into another document (the schemas option, 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: required before additionalProperties from one, after the nested property errors from the other.

    • fixed

      ata build prints 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.