Packages

ata-validator

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

Your version

1.6.2

18 Aug 2026Where it was published

1.61.3 is the newest release of 1.x.

In short

4 fixed

Release note

Fixed

  • The Standard Schema surface carried no output type. ~standard.validate() returned { value: unknown } and the types carrier the specification defines for inference was missing, so every consumer that reads the validated type off ~standard (Fastify, tRPC, TanStack Form, Drizzle) saw unknown and needed a cast. ~standard is now typed against the validator's own data type, and types.output carries it. Type-only: the runtime object is unchanged, and the specification defines types as never present at runtime.

  • Boolean schemas were rejected by the Validator constructor's TypeScript signature. true and false are schemas anywhere JSON Schema allows one, and both have always worked at runtime; only the types disagreed, which made a schema of unknown shape (object | boolean) impossible to pass without a cast. Nested boolean subschemas are still typed as objects, so { properties: { a: true } } needs defineSchema or a cast.

  • The t builder's option bags rejected vendor keywords. t.object({}, { instanceof: 'Date' }) is what a custom keyword package expects to be given, and the option types only allowed the keywords the builder itself emits, so callers wrote as never. Every option bag now accepts unknown keywords alongside the typed ones.

  • tests/test_interop_types.ts covers all three under tsc --noEmit.