Skip to content

zod 3.24.0

Implement @standard-schema/spec

This is the first version of Zod to implement the Standard Schema spec. This is a new community effort among several validation library authors to implement a common interface, with the goal of simplifying the process of integrating schema validators with the rest of the ecosystem. Read more about the project and goals here.

z.string().jwt()

Thanks to @Mokshit06 and @Cognition-Labs for this contribution!

To verify that a string is a valid 3-part JWT.

z.string().jwt();

⚠️ This does not verify your JWT cryptographically! It merely ensures its in the proper format. Use a library like jsonwebtoken to verify the JWT signature, parse the token, and read the claims.

To constrain the JWT to a specific algorithm:

z.string().jwt({ alg: "RS256" });

z.string().base64url()

Thank you to @marvinruder!

To complement the JWT validation, Zod 3.24 implements a standalone .base64url() string validation API. (The three elements of JWTs are base64url-encoded JSON strings.)

z.string().base64url()

This functionality is available along the standard z.string().base64() validator added in Zod 3.23.

z.string().cidr()

Thanks to @wataryooou for their work on this!

A validator for CIDR notation for specifying IP address ranges, e.g. 192.24.12.0/22.

z.string().cidr()

To specify an IP version:

z.string().cidr({ version: "v4" })
z.string().cidr({ version: "v6" })

View the full diff from 3.23.8: https://github.com/colinhacks/zod/compare/v3.23.8...v3.24.0

  • 294f54f418bd1506d807b351213c66dbffd8ac31 Update README_ZH.md about Discriminated unions (#3493)
  • 1247caf58d1c189155bd04c068be1c758ab77c1c Add Kubb as X-to-Zod community tool (#3508)
  • 62b7842c46dd7f1004f41e2220284abb75378fb7 Update default branch
  • c6bc80de5091c634a371cc81877df816a269e965 Fix issue #3582 : ULID should be case insensitive (#3593)
  • a5b9dc34d4086e8e084a059f71a481618a336303 docs: add zod-schema-faker to ecosystem (#3605)
  • 9818d0eba1a5877a2b1917296d018a8b4e31b211 Add zod-sockets (#3609)
  • 7173d0bcc2105777102e22d36a2866196e2830f3 Add drizzle-zod library to X to Zod README.md section (#3648)
  • c5a4edcaf7a7c434b0f94a18123750bd1151c2cf Add 'schemql' in Powered by Zod (#3800)
  • 85916b32002e4302cccd77fcf64574f34f2e8595 docs: add zod-form-renderer to form integration docs (#3697)
  • 51f1dc3950d93e4a1c11467b7e92069cd372d450 docs: add unplugin-environment in powered by zod (#3778)
  • 8e74db34cd0c673d21fe3b8b62c9de4c785e3de2 fix: ipv6 regex validation (#3513)
  • 1f4f0dacf313a2dba45563d78171e6f016096925 refactor: rename ip version types (#3755)
  • f487d74ecd3ae703ef8932462d14d643e31658b3 Remove faulty ip test case
  • 48f1c4793b21b19714d68f970ae3d739263e2b1d docs: Remove invalid semicolon in ERROR_HANDLING.md (#3857)
  • 1d0a4b95300a2c470b175ed4524fe3cf04ef9b19 fix: bigint coerce crash (#3822)
  • 14dceaa2d2b27ef448b48c4f0641413e3ead974d Add API library (#3814)
  • f82f817252c1f1342d81a2a5ae9adf426cb32cec feat: z.string.cidr() - support CIDR notation (#3820)
  • 71a0c33c01ca7e2be16e27f763ec1c3e9dee6943 docs: add info on unqualified local datetime strings (#3760)
  • b85686ab852bc75919fd9d853dfca4b0968301dd Add support for base64url strings (#3712)
  • 6407bed5a229f330b9353e086f7798f1422e2bb7 Allow creation of discriminated unions with a readonly array of options (#3535)
  • 37551462f4a534f86e6190aafea1747b010eca7a Remove createParams cascade from .array() (#3530)
  • 963386df253360fde67ca10c6bf47fec1fcc476a Fix lint
  • 69a1798ce2df65555bda0a8978a6baadd7d5588e Implement Standard Schema spec (#3850)
  • c1dd537baa9e4fad781ea365643399707fea91be Adds frrm package to documentation (#3818)
  • b68c05fea12d8060000aa06abc1e95b08f061378 feat: Add JWT string validator (#3893)