Zod 4 is now stable and production-ready!
💎 7x faster object parsing
💎 100x fewer tsc instantiations
💎 localization in 34 languages
💎 recursive z.object()!
💎 metadata
💎 z.toJSONSchema()
💎 z.templateLiteral()
💎 z.int32(), z.float32(), etc
💎 z.file()
💎 and a new logo :)
been building a website for the last 3 days. meticulously crafted UI. 100 lighthouse score. sent it to my non-software friend for feedback.
her response changed my life
whoa. I just found a way to properly infer recursive types in z.object() — no casting, no z.lazy(), no scopes/registries, no special syntax.
i've been trying to do this for literally years
BIG DAY. Introducing Standard Schema 1.0!
It's a specification for a "common interface" to be implemented by all TypeScript schema libraries, written collaboratively by the the creators of Zod (👋), Valibot, and ArkType to promote interoperability.