Support zod 4.4+ — _zod.version.minor type check prevents upgrade

Author: wulartCreated May 25, 2026Updated May 25, 2026

Body:

zod 4.3.x has a crash bug where z.record() throws when the valueType is z.unknown() or z.any():

TypeError: undefined is not an object (evaluating 'def.valueType._zod')

This is fixed in zod 4.4.x, but @json-render/[email protected] cannot upgrade because its type system checks _zod.version.minor === 3, which matches zod 4.3.x but not 4.4.x (where minor became 4). Attempting to use zod 4.4.x results in:

The types of 'props._zod.version.minor' are incompatible between these types. Type '4' is not assignable to type '3'.

Reproduction:

  1. Install @json-render/[email protected] with [email protected]
  2. Use schema.createCatalog({ components: {...}, actions: {} })
  3. Pass the catalog to defineRegistry() — type error on _zod.version.minor

Workaround: Pin zod to exactly 4.3.6.

Request: Update the internal version check to support zod 4.4.x so users can upgrade and get the z.record() fix.