Zod is a TypeScript-first library for schema validation with static type inference. It lets you define a schema, parse input data (throwing detailed errors or returning a safe result), and get a strongly typed validated result, useful for validating untrusted data in Node.js and modern browsers.
Project status
- Actively maintained: The upstream GitHub repo shows recent activity (last push 2026-07-22), and multiple updates followed in 2026 (v4.4.1 to v4.4.3 in late April to early May), indicating the project is not dormant.
- Update cadence: Updates appear to land on the order of days to a couple weeks during this period (v4.4.1 on 2026-04-29, v4.4.2 on 2026-05-01, v4.4.3 on 2026-05-04), suggesting an active maintenance stream rather than infrequent releases.
AI summary generated
Recent updates
v4.4.3
v4.4.3 primarily changes Zod v4 optionality semantics around missing (absent) object keys, specifically restoring and generalizing how $ZodCatch, $ZodTransform, and $ZodPreprocess behave when input is undefined. The patch also includes related test updates and internal plumbing to propagate a new fallback marker through parsing, plus some unrelated documentation and sponsor website changes.
v4.4.2
v4.4.2 includes mostly documentation and type-level tightening related to discriminated unions and preprocess behavior. On the code side, it introduces an explicit ZodPreprocess schema type and adjusts JSON Schema generation logic for pipes/codecs and transforms.
v4.4.1
v4.4.1 is a small patch release focused on CI/release gating and a behavioral fix in Zod v4 tuple parsing around optional-output handling. The tuple change affects when parsing should truncate and swallow issues versus when it must reject earlier absent-optional “holes” before later required defaults can materialize output.
Breakingv4.4.0
Zod v4.4.0 is a minor release focused on correctness and soundness fixes, including several intentionally stricter behaviors that may require small input or schema adjustments. It also includes performance work for schema method allocation and tree-shaking, plus multiple JSON Schema conversion and error-formatting improvements.
BreakingSecurityFeaturesv4.3.6
v4.3.6 is a small patch release focused on Zod behavior and build ecosystem cleanups. The code diff includes changes to numeric key handling for record-like schemas and an adjustment to JSON schema generation around `$ref` handling, plus several non-functional repo/doc/workflow updates.
v4.3.5
Release v4.3.5 is primarily a documentation update plus a small internal change aimed at improving mini treeshaking. The package version metadata is also bumped from 4.3.4 to 4.3.5 across Zod package manifests.
v4.3.4
v4.3.4 focuses on improving Zod JSON Schema generation for `z.looseRecord` with regex key patterns, and adds new integration test coverage for external tooling. It also includes a breaking TypeScript typing change by removing `.refine()` from `ZodMiniType`, and updates `fromJSONSchema` behavior per the release notes.
BreakingFeaturesv4.3.3
Release v4.3.3 bumps the published package versions from 4.3.2 to 4.3.3. The only substantive code change in the diff is a TypeScript typing adjustment to ZodType.refine when passed a type guard function.
v4.3.2
Release v4.3.2 mainly changes how Zod computes results for intersections, specifically loosening behavior around strict object validation. Documentation also removes a sponsor entry (Juno) from the docs UI, and the package version is bumped to 4.3.2.
Breakingv4.3.1
v4.3.1 relaxes the previous restriction that `extend()` could not be used on `z.object()` schemas that contain refinements. The change allows `extend()` when the added shape does not overwrite existing keys, while still rejecting overwrites.
Features