stack.pulse
#stacks/zod/library

Zod release notes, breaking changes, and upgrade notes.

TypeScript-first schema validation with static type inference StackPulse turns upstream changelogs into scannable summaries with risky changes, deprecations, migration notes, and source links.

releases
5
breaking
1
security
0
deprecated
0
migrations
0

Get source-linked upgrade notes and occasional sponsor recommendations. No GitHub login required.

what stackpulse tracks

Zod releases from GitHub

StackPulse watches Zod release notes and keeps the original source link close to every summary.

upgrade risk

Breaking changes and deprecations

Risky changes are separated from normal feature notes so you can scan upgrade impact before changing production dependencies.

migration notes

Source-backed next steps

Migration steps and recommended actions are only shown when the upstream release notes support them.

# latest_releases

source-backed
v4.4.0highbreakingfeatureApr 29, 2026

v4.4.0

This release focuses on correctness and soundness fixes, making Zod stricter in several areas. It includes important updates to tuple defaults, object property handling, and JSON schema generation.

release_signals
-Tuple parsing now more accurately reflects defaults, optional tails, and explicit `undefined`, which may affect code relying on previous behavior
-Properties with `z.undefined()` are now treated as required, which may break code that previously treated them as optional
-The `.merge()` method now throws when the receiver has refinements, requiring changes in object composition logic
-JSON Schema conversion through `z.toJSONSchema()` now strips redundant `id` fields from `$defs` entries, which may affect consumers reading those fields directly
-Base64 validation now rejects whitespace instead of allowing `atob()`-style whitespace stripping, which may break code relying on previous behavior
+Tuple defaults now materialize output values correctly
+Required object properties with `z.undefined()` are now treated correctly
+Safer `.merge()` behavior with refinements
+JSON Schema `$defs` entries no longer include redundant `id`
+String validators are stricter, rejecting whitespace in base64 validation
view source on github->