Repository navigation
v2.0.0
2.0.0 (2026-08-29)
Bug Fixes
- delegate symbol-keyed shapes and record key issues inside intersections (6e6e788)
- delegate z.looseRecord, whose unrecognized keys pass through (79ae387)
- follow zod 4.5's optin ladder for tuples, optional() and absent object keys (d77c72c)
- keep proto out of loose, catchall and record outputs (2343a4f)
- list the dispatch values as
optionson a discriminated-union miss, as zod 4.5 does (5d3bc98) - match zod 4.5 object, record, catch and error-map semantics (3bb3bcd)
- match zod 4.5's code-point lengths, url guard, partial records and non-finite received (dbcf463)
- match zod 4.5's multipleOf, credit-card and fractional-length semantics (a8b7991)
- mirror zod 4.5 tuple issue order, preprocess aliasing and short-input builds (f5986b7)
- refresh the well-known regex table for zod 4.5 and pin it against drift (c181521)
- serve zod's prototype methods when a compile-on-read accessor is stranded (a021f54)
- snapshot key presence before an absent-key property runs (f998bd8)
Documentation
- state the Zod 4.5 requirement (06862a0)
Performance Improvements
- keep the fast shortcut for a scrub-only root and withhold its fc (08f51bb)
BREAKING CHANGES
- zod-compiler now requires zod >=4.5.0. The compiled output
mirrors 4.5 semantics (code-point string lengths, symbol-keyed shapes, tuple
issue order, credit-card Luhn validation), so it misvalidates against 4.0-4.4.
The peer range moved from ^4.0.0 to ^4.5.0; stay on 1.x for older Zod.
Claude-Session: https://claude.ai/code/session_01BAeQcFL8SyrYLNKKzppmUA