Packages

ata-validator

1.61.3 · 29 Oct 2026MIT21.8k / weekRepositoryHomepagenpmAtom feed

Your version

1.27.0

17 Sep 2026Where it was published

1.61.3 is the newest release of 1.x.

In short

2 new1 fixed

Release note

Added

  • parse() is now emitted for the record shape: additionalProperties as a schema, which is what z.record and every generator's map type compile to, with or without declared properties beside it. The key set is open by declaration, so keeping every key is exact, and every undeclared value is rebuilt against the one schema that governs it, stripping unknown keys inside it the same way a declared property's rebuild would. Defaults under a record value are not filled, because the runtime's useDefaults does not fill them there and parse() output stays equal to validate().data. Still declined, loudly: additionalProperties: true, applicators next to a record, and patternProperties.

  • onWarning now receives a second argument, { kind }, naming which capability degraded: 'error-detail' or 'parse'. A build that requested both can tell the warnings apart instead of treating any warning as degraded errors. build() result warnings carry the same kind field. Existing single-argument callbacks keep working unchanged.

Fixed

  • Two more fixed-name collisions in the generated-code path, the same family as the patternProperties helper-scope bug fixed in 1.26.0: a record whose values are themselves records (additionalProperties nested in itself) generated an inner loop that redeclared the outer loop's variables and threw ReferenceError at validation time, and patternProperties inside a patternProperties value schema had the same collision on its own loop variables. All the loop names now carry a unique suffix; the combined error generator already did this, and the boolean generator now matches it.