March 17, 2021
- Refactored parsing logic into individual subclass methods
- Eliminated ZodTypes to enable custom ZodType subclasses
- Removed ZodIntersection
- Added ZodEffects as a container for refinement and transform logic
- Added
or
method toZodType
- Added
format
method toZodError
- Added
unwrap
method toZodOptional
andZodNullable
- Added new
default
method and moved default functionality into ZodOptional - Implemented
z.setErrorMap
- Exporting
z
variable fromindex.ts
to enableimport { z } from 'zod';
Jan 25, 2021
- New implementation of transformers
- Removed type guards
- Added ZodTransformer
- Async refinements
- Introduced
.safeParse
option - Introduced .regex method on string schemas
- Implemented
.primitives()
and.nonprimitives()
on object schemas - Implemented
z.nativeEnum()
for creating schemas from TypeScriptenum
s - Switched to
new URL()
constructor to check valid URLs
- Dropping support for TypeScript 3.2
- Added z.instanceof() and z.custom()
- Implemented ZodSchema.array() method
- Introduced z.void()
- Major overhaul to error handling system, including the introduction of custom error maps
- Wrote new error handling guide
- Added several built-in validators to string, number, and array schemas
- Calls to
.refine
now return new instance
- Introduces ZodAny and ZodUnknown
- Refinement types (
.refine
) - Parsing no longer returns deep clone
- Promise schemas
.parse
acceptsunknown
bigint
schemas
.partial
and.deepPartial
on object schemas
- Added ZodDate
- Added
.pick
,.omit
, and.extend
on object schemas
- Added ZodRecord
- Added
.nonstrict
- Added type assertions with
.check
- Support for empty tuples
- Added type assertions
- Added ZodLiteral
- Added ZodEnum
- Improved error reporting
- Initial release
zod version | release notes |
---|---|
zod@1.11 | Introduced .safeParse option.Introduced .regex method on string schemas. Implemented .primitives() and .nonprimitives() on object schemas.Implemented z.nativeEnum() for creating schemas from TypeScript enum s.Switched to new URL() constructor to check valid URLs. |
zod@1.10 | Dropping support for TypeScript 3.2 . |
zod@1.9 | Added z.instanceof() and z.custom(). Implemented ZodSchema.array() method. |
zod@1.8 | Introduced z.void(). Major overhaul to error handling system, including the introduction of custom error maps. Wrote new error handling guide. |
zod@1.7 | Added several built-in validators to string, number, and array schemas. Calls to .refine now return new instance. |
zod@1.5 | Any and unknown types |
zod@1.4 | Refinement types (.refine ), .parse no longer returns deep clone |
zod@1.3 | Promise schemas |
zod@1.2.6 | .parse accepts unknown , bigint schemas |
zod@1.2.5 | .partial and .deepPartial on object schemas |
zod@1.2.3 | Date schemas |
zod@1.2.0 | .pick , .omit , and .extend on object schemas |
zod@1.1.0 | Records |
zod@1.0.11 | .nonstrict |
zod@1.0.10 | Type assertions with .check |
zod@1.0.4 | Empty tuples |
zod@1.0.0 | Type assertions, literals, enums, detailed error reporting |
zod@1.0.0 | Initial release |