Commit d84f11c
chore(deps): update nuxt (major) (#2738)
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| [@nuxt/icon](https://redirect.github.com/nuxt/icon) | [`1.15.0` ->
`2.1.0`](https://renovatebot.com/diffs/npm/@nuxt%2ficon/1.15.0/2.1.0) |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
| [zod](https://zod.dev)
([source](https://redirect.github.com/colinhacks/zod)) | [`3.25.76` ->
`4.1.12`](https://renovatebot.com/diffs/npm/zod/3.25.76/4.1.12) |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
<details>
<summary>nuxt/icon (@​nuxt/icon)</summary>
###
[`v2.1.0`](https://redirect.github.com/nuxt/icon/releases/tag/v2.1.0)
[Compare
Source](https://redirect.github.com/nuxt/icon/compare/v2.0.0...v2.1.0)
##### 🚀 Features
- Scan nested subfolders for custom collections - by
[@​svifty7](https://redirect.github.com/svifty7) and
[@​antfu](https://redirect.github.com/antfu) in
[#​407](https://redirect.github.com/nuxt/icon/issues/407)
[<samp>(f9f5b)</samp>](https://redirect.github.com/nuxt/icon/commit/f9f5ba1)
##### 🐞 Bug Fixes
- Clean up debug code - by
[@​okj579](https://redirect.github.com/okj579) in
[#​421](https://redirect.github.com/nuxt/icon/issues/421)
[<samp>(7e8f8)</samp>](https://redirect.github.com/nuxt/icon/commit/7e8f87b)
##### [View changes on
GitHub](https://redirect.github.com/nuxt/icon/compare/v2.0.0...v2.1.0)
###
[`v2.0.0`](https://redirect.github.com/nuxt/icon/releases/tag/v2.0.0)
[Compare
Source](https://redirect.github.com/nuxt/icon/compare/v1.15.0...v2.0.0)
##### 🚨 Breaking Changes
- Upgrade to nuxt v4 - by
[@​DerYeger](https://redirect.github.com/DerYeger) in
[#​419](https://redirect.github.com/nuxt/icon/issues/419)
[<samp>(6f236)</samp>](https://redirect.github.com/nuxt/icon/commit/6f2369d)
##### [View changes on
GitHub](https://redirect.github.com/nuxt/icon/compare/v1.15.0...v2.0.0)
</details>
<details>
<summary>colinhacks/zod (zod)</summary>
###
[`v4.1.12`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.1.12)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.1.11...v4.1.12)
#### Commits:
-
[`0b109c3`](https://redirect.github.com/colinhacks/zod/commit/0b109c37c6b0b10e3901b56bcccb72e29a0b846f)
docs(ecosystem): add bupkis to the ecosystem section
([#​5237](https://redirect.github.com/colinhacks/zod/issues/5237))
-
[`d22ec0d`](https://redirect.github.com/colinhacks/zod/commit/d22ec0d26fab27151b0f1d1f98bffeaf8b011f57)
docs(ecosystem): add upfetch
([#​5238](https://redirect.github.com/colinhacks/zod/issues/5238))
-
[`c56a4f6`](https://redirect.github.com/colinhacks/zod/commit/c56a4f6fab42c542b191228af61974b2328dc52f)
docs(ecosystem): add `eslint-plugin-zod-x`
([#​5261](https://redirect.github.com/colinhacks/zod/issues/5261))
-
[`a0abcc0`](https://redirect.github.com/colinhacks/zod/commit/a0abcc02900a4293dd4f30cd81580efcdd5230bb)
docs(metadata.mdx): fix a mistake in an example output
([#​5248](https://redirect.github.com/colinhacks/zod/issues/5248))
-
[`62bf4e4`](https://redirect.github.com/colinhacks/zod/commit/62bf4e439e287e55c843245b49f8d34b1ad024ee)
fix(ZodError): prevent flatten() from crashing on 'toString' key
([#​5266](https://redirect.github.com/colinhacks/zod/issues/5266))
-
[`02a5840`](https://redirect.github.com/colinhacks/zod/commit/02a584010ac92ac8a351632ae5aea3983a6f17d8)
refac(errors): Unify code structure and improve types
([#​5278](https://redirect.github.com/colinhacks/zod/issues/5278))
-
[`4b1922a`](https://redirect.github.com/colinhacks/zod/commit/4b1922ad714e12dafaa83a40ec03275a39ac980c)
docs(content/v4/index): fix zod version
([#​5289](https://redirect.github.com/colinhacks/zod/issues/5289))
-
[`3fcb20f`](https://redirect.github.com/colinhacks/zod/commit/3fcb20ff348e49aec70f45e0dca3de8a61450e77)
Add frrm to ecosystem
([#​5292](https://redirect.github.com/colinhacks/zod/issues/5292))
-
[`fda4c7c`](https://redirect.github.com/colinhacks/zod/commit/fda4c7c2afbd7649261be1e7954f8c4d4de24a07)
Make docs work without token
-
[`af44738`](https://redirect.github.com/colinhacks/zod/commit/af447384379faef28aa857fb53ef1da702c6d408)
Fix lint
-
[`77c3c9f`](https://redirect.github.com/colinhacks/zod/commit/77c3c9f069a4cf168c0cbc58432803de887a6b1b)
Export bg.ts
-
[`3b94610`](https://redirect.github.com/colinhacks/zod/commit/3b946107b6c94b2ac8ff9fb451160c34dc4dd794)
v4.1.12
###
[`v4.1.11`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.1.11)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.1.10...v4.1.11)
#### Commits:
-
[`2bed4b3`](https://redirect.github.com/colinhacks/zod/commit/2bed4b39760d8e4d678203b5c8fcaf24c182fc9f)
4.1.11
###
[`v4.1.10`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.1.10)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.1.9...v4.1.10)
#### Commits:
-
[`7ffedd0`](https://redirect.github.com/colinhacks/zod/commit/7ffedd00169d8dc2e7cb7c6d878f29b03e05b3a3)
Fix shape caching
([#​5263](https://redirect.github.com/colinhacks/zod/issues/5263))
-
[`82cd717`](https://redirect.github.com/colinhacks/zod/commit/82cd717a0e7ee4e1737a783c7be278fa93fd8104)
v4.1.10
###
[`v4.1.9`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.1.9)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.1.8...v4.1.9)
#### Commits:
-
[`a78716d`](https://redirect.github.com/colinhacks/zod/commit/a78716d91da7649a61016b81c27f49fd9e79a81e)
Update zshy
([#​5249](https://redirect.github.com/colinhacks/zod/issues/5249))
-
[`923af80`](https://redirect.github.com/colinhacks/zod/commit/923af801fde9f033cfd7e0e753b421a554fe3be8)
Publish zod\@​4.1.9
###
[`v4.1.8`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.1.8)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.1.7...v4.1.8)
#### Commits:
-
[`36c4ee3`](https://redirect.github.com/colinhacks/zod/commit/36c4ee354d0c1f47b7311e49f6dd4b7a11de04f5)
Switch back to weakmap
-
[`a1726d5`](https://redirect.github.com/colinhacks/zod/commit/a1726d53172ba52ecf90999df73778cf416264fd)
4.1.8
###
[`v4.1.7`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.1.7)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/976b43657d4aff6d47c73c1c86125623ea08752d...v4.1.7)
#### Commits:
-
[`0cca351`](https://redirect.github.com/colinhacks/zod/commit/0cca351c8b152d7c4113ab7c2a44675efb060677)
Fix variable name inconsistency in coercion documentation
([#​5188](https://redirect.github.com/colinhacks/zod/issues/5188))
-
[`aa78c27`](https://redirect.github.com/colinhacks/zod/commit/aa78c270f1b43f4665339f4b61e7cb88037b8c84)
Add copy/edit buttons
-
[`76452d4`](https://redirect.github.com/colinhacks/zod/commit/76452d4119d800a722b692755c1168627bc95f0f)
Update button txt
-
[`937f73c`](https://redirect.github.com/colinhacks/zod/commit/937f73c90cac90bd3b99b12c792c289b50416510)
Fix tsconfig issue in bench
-
[`976b436`](https://redirect.github.com/colinhacks/zod/commit/976b43657d4aff6d47c73c1c86125623ea08752d)
v4.1.6
([#​5222](https://redirect.github.com/colinhacks/zod/issues/5222))
-
[`4309c61`](https://redirect.github.com/colinhacks/zod/commit/4309c61304daf40aab2124b5f513abe2b4df8637)
Fix cidrv6 validation - cidrv6 should reject invalid strings with
multiple slashes
([#​5196](https://redirect.github.com/colinhacks/zod/issues/5196))
-
[`ef95a73`](https://redirect.github.com/colinhacks/zod/commit/ef95a73b6d33299743e5ff4f0645b98c1b0d6f72)
feat(locales): Add Lithuanian (lt) locale
([#​5210](https://redirect.github.com/colinhacks/zod/issues/5210))
-
[`3803f3f`](https://redirect.github.com/colinhacks/zod/commit/3803f3f37168212f2178e8b8deceb7bad78ed904)
docs: update wrong contents in codeblocks in `api.mdx`
([#​5209](https://redirect.github.com/colinhacks/zod/issues/5209))
-
[`8a47d5c`](https://redirect.github.com/colinhacks/zod/commit/8a47d5c6ba8e4fe2f934a8e55d0cba4d81d821de)
docs: update coerce example in `api.mdx`
([#​5207](https://redirect.github.com/colinhacks/zod/issues/5207))
-
[`e87db13`](https://redirect.github.com/colinhacks/zod/commit/e87db1322f11ff6907e1789da28933d258ab75fd)
feat(locales): Add Georgian (ka) locale
([#​5203](https://redirect.github.com/colinhacks/zod/issues/5203))
-
[`c54b123`](https://redirect.github.com/colinhacks/zod/commit/c54b123e399a6ab266504eb1389c724af31d5998)
docs: adds `@traversable/zod` and `@traversable/zod-test` to v4
ecosystem
([#​5194](https://redirect.github.com/colinhacks/zod/issues/5194))
-
[`c27a294`](https://redirect.github.com/colinhacks/zod/commit/c27a294f5b792f47b8e9dbb293a8ff8cfb287a3a)
Fix two tiny grammatical errors in the docs.
([#​5193](https://redirect.github.com/colinhacks/zod/issues/5193))
-
[`23a2d66`](https://redirect.github.com/colinhacks/zod/commit/23a2d6692398e3dd1ad1cdb0491b271a9f989380)
docs: fix broken links in async refinements and transforms references
([#​5190](https://redirect.github.com/colinhacks/zod/issues/5190))
-
[`845a230`](https://redirect.github.com/colinhacks/zod/commit/845a230bb06bff679b5f00e10153f4dbbd50d2b6)
fix(locales): Add type name translations to Spanish locale
([#​5187](https://redirect.github.com/colinhacks/zod/issues/5187))
-
[`27f13d6`](https://redirect.github.com/colinhacks/zod/commit/27f13d62b98cf5c501b828ba8837ff73cd6263d2)
Improve regex precision and eliminate duplicates in regexes.ts
([#​5181](https://redirect.github.com/colinhacks/zod/issues/5181))
-
[`a8a52b3`](https://redirect.github.com/colinhacks/zod/commit/a8a52b3ba370b761be76953fa3986aa43c4172a4)
fix(v4): fix Khmer and Ukrainian locales
([#​5177](https://redirect.github.com/colinhacks/zod/issues/5177))
-
[`887e37c`](https://redirect.github.com/colinhacks/zod/commit/887e37cd7568219c54f9c2f71bbfe0300ce48376)
Update slugs
-
[`e1f1948`](https://redirect.github.com/colinhacks/zod/commit/e1f19482bbed3fbaa563a0d8e09f1a577cc58ac7)
fix(v4): ensure array defaults are shallow-cloned
([#​5173](https://redirect.github.com/colinhacks/zod/issues/5173))
-
[`9f65038`](https://redirect.github.com/colinhacks/zod/commit/9f650385644ae319f806a965b83f79ebd252e497)
docs(ecosystem): add DRZL; fix Prisma Zod Generator placement
([#​5215](https://redirect.github.com/colinhacks/zod/issues/5215))
-
[`aa6f0f0`](https://redirect.github.com/colinhacks/zod/commit/aa6f0f02c2a92a266ff1495a8d2541ae46012fcb)
More fixes
([#​5223](https://redirect.github.com/colinhacks/zod/issues/5223))
-
[`aab3356`](https://redirect.github.com/colinhacks/zod/commit/aab33566bdb44a651cc3e27fde729285e4312419)
4.1.7
###
[`v4.1.6`](https://redirect.github.com/colinhacks/zod/compare/v4.1.5...976b43657d4aff6d47c73c1c86125623ea08752d)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.1.5...976b43657d4aff6d47c73c1c86125623ea08752d)
###
[`v4.1.5`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.1.5)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.1.4...v4.1.5)
#### Commits:
-
[`530415f`](https://redirect.github.com/colinhacks/zod/commit/530415f927a8f7fa474c96b667efdad6e771ce4d)
Update docs
-
[`b7b081d`](https://redirect.github.com/colinhacks/zod/commit/b7b081d5cfd6fc19aeb71f9dc1b07bb333c37f9d)
Update z.function() type to support array input
([#​5170](https://redirect.github.com/colinhacks/zod/issues/5170))
-
[`780cf57`](https://redirect.github.com/colinhacks/zod/commit/780cf57167cbf3902efab68f19fa21ca09cb9dd6)
4.1.5
###
[`v4.1.4`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.1.4)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.1.3...v4.1.4)
#### Commits:
-
[`3291c61`](https://redirect.github.com/colinhacks/zod/commit/3291c61fe4bc893901027ea5d50dfc6274e49caa)
fix(v4): toJSONSchema - wrong tuple with `null` output when targeting
`openapi-3.0`
([#​5156](https://redirect.github.com/colinhacks/zod/issues/5156))
-
[`23f41c7`](https://redirect.github.com/colinhacks/zod/commit/23f41c7e0af107026bb1732af6b4c368d82be8d2)
test(v4): toJSONSchema - use `validateOpenAPI30Schema` in all relevant
scenarios
([#​5163](https://redirect.github.com/colinhacks/zod/issues/5163))
-
[`0a09fd2`](https://redirect.github.com/colinhacks/zod/commit/0a09fd21336202e50565a3e22baaab9a7047fcc9)
Update installation instructions
-
[`4ea5fec`](https://redirect.github.com/colinhacks/zod/commit/4ea5fec6988eb7260bc63e0eb8b4a6a0b238c414)
4.1.4
###
[`v4.1.3`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.1.3)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.1.2...v4.1.3)
#### Commits:
-
[`98ff675`](https://redirect.github.com/colinhacks/zod/commit/98ff675c313c15d3fa18b2bd01f844b1e817ee79)
Drop stringToBoolean
-
[`a410616`](https://redirect.github.com/colinhacks/zod/commit/a410616b39eedf3b4654c0c791b0ab1868996bfb)
Fix typo
-
[`0cf4589`](https://redirect.github.com/colinhacks/zod/commit/0cf45896edf8728b57c8e7f2b5a56536760afac1)
fix(v4): toJSONSchema - add missing oneOf inside items in tuple
conversion
([#​5146](https://redirect.github.com/colinhacks/zod/issues/5146))
-
[`8bf0c16`](https://redirect.github.com/colinhacks/zod/commit/8bf0c1639f0d3700f01fa8aaee2d8fa5d0abbe10)
fix(v4): toJSONSchema tuple path handling for draft-7 with metadata IDs
([#​5152](https://redirect.github.com/colinhacks/zod/issues/5152))
-
[`5c5fa90`](https://redirect.github.com/colinhacks/zod/commit/5c5fa90e47df934acf6051a3ec30516baeef2eac)
fix(v4): toJSONSchema - wrong record output when targeting `openapi-3.0`
([#​5141](https://redirect.github.com/colinhacks/zod/issues/5141))
-
[`87b97cc`](https://redirect.github.com/colinhacks/zod/commit/87b97ccd556e6d8dc6b4f4455762cc7405b0abc9)
docs(codecs): update example to use payloadSchema
([#​5150](https://redirect.github.com/colinhacks/zod/issues/5150))
-
[`309f358`](https://redirect.github.com/colinhacks/zod/commit/309f3584fd9a3856c3e0c813196210ba4b11d2a9)
fix(v4): toJSONSchema - output numbers with exclusive range correctly
when targeting `openapi-3.0`
([#​5139](https://redirect.github.com/colinhacks/zod/issues/5139))
-
[`1e71ca9`](https://redirect.github.com/colinhacks/zod/commit/1e71ca99b92b94aac8ca45694f28864ae1654135)
docs: fix refine fn to encode works properly
([#​5148](https://redirect.github.com/colinhacks/zod/issues/5148))
-
[`a85ec3c`](https://redirect.github.com/colinhacks/zod/commit/a85ec3c73c6a98a496f5dd3b6fb19ebe07e227f9)
fix(docs): correct example to use `LooseDog` instead of `Dog`
([#​5136](https://redirect.github.com/colinhacks/zod/issues/5136))
-
[`3e98274`](https://redirect.github.com/colinhacks/zod/commit/3e982743f3abba6a421abb899670f70e49284af4)
4.1.3
###
[`v4.1.2`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.1.2)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.1.1...v4.1.2)
#### Commits:
-
[`e45e61b`](https://redirect.github.com/colinhacks/zod/commit/e45e61b675baf055f4a3ef2ddead21715a1e4fe3)
Improve codec docs
-
[`25a4c37`](https://redirect.github.com/colinhacks/zod/commit/25a4c376834db90d3bb3e70d4154e3eb6d4feb7a)
fix(v4): toJSONSchema - wrong record tuple output when targeting
`openapi-3.0`
([#​5145](https://redirect.github.com/colinhacks/zod/issues/5145))
-
[`0fa4f46`](https://redirect.github.com/colinhacks/zod/commit/0fa4f464e0e679d71b183e8811ef1e4f30aaa06a)
Use method form in codecs.mdx
-
[`940383d`](https://redirect.github.com/colinhacks/zod/commit/940383d0523da41c4e2422b76455da39dddd6c4f)
Update JSON codec and docs
-
[`3009fa8`](https://redirect.github.com/colinhacks/zod/commit/3009fa8aeb90e00bfc35c7124f3e6f8cad11d290)
4.1.2
###
[`v4.1.1`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.1.1)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.1.0...v4.1.1)
#### Commits:
-
[`648eb43`](https://redirect.github.com/colinhacks/zod/commit/648eb43c23e31f7d69ef09baba46aef4e9493b13)
Remove codecs from sidebare
-
[`7e39a99`](https://redirect.github.com/colinhacks/zod/commit/7e39a99a88a9b7f0c9c3d5fd40fbbab494365c9a)
Improve codec docs
-
[`e5085be`](https://redirect.github.com/colinhacks/zod/commit/e5085beb2653f1d05a14c07c79b6f3707daf09f6)
Add images
-
[`028b289`](https://redirect.github.com/colinhacks/zod/commit/028b289a48f5589dca58b0b813a5a9f9e363a40b)
Add methods
-
[`10cc994`](https://redirect.github.com/colinhacks/zod/commit/10cc9941daeb28b6be5be7327e034c3388d8e60b)
4.1.1
###
[`v4.1.0`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.1.0)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.0.17...v4.1.0)
The first minor version since the introduction of Zod 4 back in May.
This version contains a number of features that barely missed the cut
for the 4.0 release. With Zod 4 stable and widely adopted, there's more
time to resume feature development.
#### Codecs
This is the flagship feature of this release. Codecs are a new API &
schema type that encapsulates a *bi-directional transformation*. It's a
huge missing piece in Zod that's finally filled, and it unlocks some
totally new ways to use Zod.
```ts
const stringToDate = z.codec(
z.iso.datetime(), // input schema: ISO date string
z.date(), // output schema: Date object
{
decode: (isoString) => new Date(isoString),
encode: (date) => date.toISOString(),
}
);
```
New top-level functions are added for processing inputs in the *forward*
direction ("decoding") and *backward* direction ("encoding").
```ts
stringToDate.decode("2025-08-21T20:59:45.500Z")
// => Date
stringToDate.encode(new Date())
// => "2025-08-21T20:59:45.500Z"
```
> **Note** — For bundle size reasons, these new methods have not added
to Zod Mini schemas. Instead, this functionality is available via
equivalent top-level functions.
>
> ```ts
> // equivalent at runtime
> z.decode(stringToDate, "2024-01-15T10:30:00.000Z");
> z.encode(stringToDate, new Date());
> ```
##### `.parse()` vs `.decode()`
Both `.parse()` and `decode()` process data in the "forward" direction.
They behave identically at runtime.
```ts
stringToDate.parse("2025-08-21T20:59:45.500Z");
stringToDate.decode("2025-08-21T20:59:45.500Z");
```
There is an important difference however. While `.parse()` accepts any
input, `.decode()` expects a *strongly typed* input. That is, it expects
an input of type `string`, whereas `.parse()` accepts `unknown`.
```ts
stringToDate.parse(Symbol('not-a-string'));
// => fails at runtime, but no TypeScript error
stringToDate.decode(Symbol("not-a-string"));
// ^ ❌ Argument of type 'symbol' is not assignable to parameter of type 'Date'. ts(2345)
```
> This is a highly requested feature unto itself:
>
> -
[#​3860](https://redirect.github.com/colinhacks/zod/issues/3860)
> -
[#​1748](https://redirect.github.com/colinhacks/zod/issues/1748)
> -
[#​3978](https://redirect.github.com/colinhacks/zod/issues/3978)
> -
[#​1892](https://redirect.github.com/colinhacks/zod/issues/1892)
##### Encoding
You can use any Zod schema with `.encode()`. The vast majority of Zod
schemas are *non-transforming* (the input and output types are
identical) so `.decode()` and `.encode()` behave identically. Only
certain schema types change their behavior:
- **Codecs** — runs from `B->A` and executes the `encode` transform
during encoding
- **Pipes** — these execute `B->A` instead of `A->B`
- **Defaults and prefaults** — Only applied in the forward direction
- **Catch** — Only applied in the forward direction
> **Note** — To avoid increasing bundle size unnecessarily, these new
methods are not available on Zod Mini schemas. For those schemas,
equivalent top-level functions are provided.
The usual *async* and *safe* variants exist as well:
```ts
// decode methods
stringToDate.decode("2024-01-15T10:30:00.000Z")
await stringToDate.decodeAsync("2024-01-15T10:30:00.000Z")
stringToDate.safeDecode("2024-01-15T10:30:00.000Z")
await stringToDate.safeDecodeAsync("2024-01-15T10:30:00.000Z")
// encode methods
stringToDate.encode(new Date())
await stringToDate.encodeAsync(new Date())
stringToDate.safeEncode(new Date())
await stringToDate.safeEncodeAsync(new Date())
```
##### Example codecs
Below are some "worked examples" for some commonly-needed codecs. These
examples are all tested internally for correctness. Just copy/paste them
into your project as needed. There is a more comprehensive set available
at [zod.dev/codecs](https://zod.dev/codecs).
##### `stringToBigInt`
Converts `bigint` into a serializable form.
```
const stringToBigInt = z.codec(z.string(), z.bigint(), {
decode: (str) => BigInt(str),
encode: (bigint) => bigint.toString(),
});
stringToBigInt.decode("12345"); // => 12345n
stringToBigInt.encode(12345n); // => "12345"
```
##### `json`
Parses/stringifies JSON data.
```ts
const jsonCodec = z.codec(z.string(), z.json(), {
decode: (jsonString, ctx) => {
try {
return JSON.parse(jsonString);
} catch (err: any) {
ctx.issues.push({
code: "invalid_format",
format: "json_string",
input: jsonString,
message: err.message,
});
return z.NEVER;
}
},
encode: (value) => JSON.stringify(value),
});
```
To further validate the data, `.pipe()` the result of this codec into
another schema.
```ts
const Params = z.object({ name: z.string(), age: z.number() });
const JsonToParams = jsonCodec.pipe(Params);
JsonToParams.decode('{"name":"Alice","age":30}'); // => { name: "Alice", age: 30 }
JsonToParams.encode({ name: "Bob", age: 25 }); // => '{"name":"Bob","age":25}'
```
##### Further reading
**For more examples and a technical breakdown of how encoding works,
reads the[announcement blog
post](https://colinhacks.com/essays/introducing-zod-codecs) and [new
Codecs docs page](https://zod.dev/codecs)**. The docs page contains
implementations for several other commonly-needed codecs:
- [`stringToNumber`](https://zod.dev/codecs?id=stringtonumber)
- [`stringToInt`](https://zod.dev/codecs?id=stringtoint)
- [`stringToBigInt`](https://zod.dev/codecs?id=stringtobigint)
- [`numberToBigInt`](https://zod.dev/codecs?id=numbertobigint)
- [`isoDatetimeToDate`](https://zod.dev/codecs?id=isodatetimetodate)
- [`epochSecondsToDate`](https://zod.dev/codecs?id=epochsecondstodate)
- [`epochMillisToDate`](https://zod.dev/codecs?id=epochmillistodate)
- [`jsonCodec`](https://zod.dev/codecs?id=jsoncodec)
- [`utf8ToBytes`](https://zod.dev/codecs?id=utf8tobytes)
- [`bytesToUtf8`](https://zod.dev/codecs?id=bytestoutf8)
- [`base64ToBytes`](https://zod.dev/codecs?id=base64tobytes)
- [`base64urlToBytes`](https://zod.dev/codecs?id=base64urltobytes)
- [`hexToBytes`](https://zod.dev/codecs?id=hextobytes)
- [`stringToURL`](https://zod.dev/codecs?id=stringtourl)
- [`stringToHttpURL`](https://zod.dev/codecs?id=stringtohttpurl)
- [`uriComponent`](https://zod.dev/codecs?id=uricomponent)
- [`stringToBoolean`](https://zod.dev/codecs?id=stringtoboolean)
#### `.safeExtend()`
The existing way to add additional fields to an object is to use
`.extend()`.
```ts
const A = z.object({ a: z.string() })
const B = A.extend({ b: z.string() })
```
Unfortunately this is a bit of a misnomer, as it allows you to overwrite
existing fields. This means the result of `.extend()` may not literally
`extend` the original type (in the TypeScript sense).
```ts
const A = z.object({ a: z.string() }) // { a: string }
const B = A.extend({ a: z.number() }) // { a: number }
```
To enforce true `extends` logic, Zod 4.1 introduces a new
`.safeExtend()` method. This statically enforces that the newly added
properties conform to the existing ones.
```ts
z.object({ a: z.string() }).safeExtend({ a: z.number().min(5) }); // ✅
z.object({ a: z.string() }).safeExtend({ a: z.any() }); // ✅
z.object({ a: z.string() }).safeExtend({ a: z.number() });
// ^ ❌ ZodNumber is not assignable
```
Importantly, this new API allows you to safely extend objects containing
refinements.
```ts
const AB = z.object({ a: z.string(), b: z.string() }).refine(val => val.a === val.b);
const ABC = AB.safeExtend({ c: z.string() });
// ABC includes the refinements defined on AB
```
Previously (in Zod 4.x) any refinements attached to the base schema were
dropped in the extended result. This was too unexpected. It now throws
an error. (Zod 3 did not support extension of refined objects either.)
#### `z.hash()`
A new top-level string format for validating hashes produced using
various common algorithms & encodings.
```ts
const md5Schema = z.hash("md5");
// => ZodCustomStringFormat<"md5_hex">
const sha256Base64 = z.hash("sha256", { enc: "base64" });
// => ZodCustomStringFormat<"sha256_base64">
```
The following hash algorithms and encodings are supported. Each cell
provides information about the expected number of characters/padding.
| Algorithm / Encoding | `"hex"` | `"base64"` | `"base64url"` |
| -------------------- | ------- | --------------- | ------------- |
| `"md5"` | 32 | 24 (22 + "==") | 22 |
| `"sha1"` | 40 | 28 (27 + "=") | 27 |
| `"sha256"` | 64 | 44 (43 + "=") | 43 |
| `"sha384"` | 96 | 64 (no padding) | 64 |
| `"sha512"` | 128 | 88 (86 + "==") | 86 |
#### `z.hex()`
To validate hexadecimal strings of any length.
```ts
const hexSchema = z.hex();
hexSchema.parse("123abc"); // ✅ "123abc"
hexSchema.parse("DEADBEEF"); // ✅ "DEADBEEF"
hexSchema.parse("xyz"); // ❌ ZodError
```
#### Additional changes
1. **z.uuid()** now supports the "Max UUID"
(`FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF`) per the
[RFC](https://www.rfc-editor.org/rfc/rfc9562.html)
2. `$ZodFunction` is now a subtype of `$ZodType`
***
#### Commits
-
[`edd4fea`](https://redirect.github.com/colinhacks/zod/commit/edd4feaa)
- Closes
[#​5127](https://redirect.github.com/colinhacks/zod/issues/5127)
-
[`5d4a315`](https://redirect.github.com/colinhacks/zod/commit/5d4a3159)
- Closes
[#​5116](https://redirect.github.com/colinhacks/zod/issues/5116)
-
[`f3f0955`](https://redirect.github.com/colinhacks/zod/commit/f3f09556)
- Closes
[#​5108](https://redirect.github.com/colinhacks/zod/issues/5108)
-
[`0114d5b`](https://redirect.github.com/colinhacks/zod/commit/0114d5bd)
- [#​5122](https://redirect.github.com/colinhacks/zod/issues/5122)
-
[`3b077c3`](https://redirect.github.com/colinhacks/zod/commit/3b077c3a)
- [#​5121](https://redirect.github.com/colinhacks/zod/issues/5121)
-
[`1e06af8`](https://redirect.github.com/colinhacks/zod/commit/1e06af8e)
- [#​5113](https://redirect.github.com/colinhacks/zod/issues/5113)
-
[`b01b6f3`](https://redirect.github.com/colinhacks/zod/commit/b01b6f39)
— [#​5052](https://redirect.github.com/colinhacks/zod/issues/5052)
-
[`571ab0c`](https://redirect.github.com/colinhacks/zod/commit/571ab0c3)
— [#​5051](https://redirect.github.com/colinhacks/zod/issues/5051)
-
[`d3ea111`](https://redirect.github.com/colinhacks/zod/commit/d3ea1119)
— [#​5049](https://redirect.github.com/colinhacks/zod/issues/5049)
-
[`b8e3f87`](https://redirect.github.com/colinhacks/zod/commit/b8e3f877)
— [#​4865](https://redirect.github.com/colinhacks/zod/issues/4865)
###
[`v4.0.17`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.0.17)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.0.16...v4.0.17)
#### Commits:
-
[`1cebf33`](https://redirect.github.com/colinhacks/zod/commit/1cebf336c560c87e6f806b9d02106fb623049f21)
Add blog
([#​5074](https://redirect.github.com/colinhacks/zod/issues/5074))
-
[`fc1e556`](https://redirect.github.com/colinhacks/zod/commit/fc1e556318159b4740ba3d6b37660e783d2a3cb7)
Fixes
[#​5073](https://redirect.github.com/colinhacks/zod/issues/5073)
-
[`cc63f95`](https://redirect.github.com/colinhacks/zod/commit/cc63f950158db212c5e9b75e7d22faca851ea624)
v4.0.17
###
[`v4.0.16`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.0.16)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.0.15...v4.0.16)
#### Commits:
-
[`d589186`](https://redirect.github.com/colinhacks/zod/commit/d589186c20c3dc112f5a5fda23cccd4d1f74420e)
fix: ensure keyof returns enum
([#​5045](https://redirect.github.com/colinhacks/zod/issues/5045))
-
[`4975f3a`](https://redirect.github.com/colinhacks/zod/commit/4975f3a0e9c9f0b241499d936a02f1998c66dc01)
feat: add discriminator generic
([#​5044](https://redirect.github.com/colinhacks/zod/issues/5044))
-
[`0a463e3`](https://redirect.github.com/colinhacks/zod/commit/0a463e38e7f77b8036628ff911de515f9f9f6662)
Update speakeasy files
-
[`12658af`](https://redirect.github.com/colinhacks/zod/commit/12658aff60349a87972a782b64802ec901c5ebf2)
Fix Edit page buttons
-
[`47e6604`](https://redirect.github.com/colinhacks/zod/commit/47e6604a3555811115d05bf41e50de54192e2e14)
fix: `edit this page` button, now redirects to correct url using the new
path
([#​5056](https://redirect.github.com/colinhacks/zod/issues/5056))
-
[`7207a2d`](https://redirect.github.com/colinhacks/zod/commit/7207a2df38caaae910551b7ecf04941b00fc10c8)
Update Hey API link to Zod v3 plugin
([#​5060](https://redirect.github.com/colinhacks/zod/issues/5060))
-
[`6887ff3`](https://redirect.github.com/colinhacks/zod/commit/6887ff34fb9bf5f6769152cf62ba9b69fa378aac)
Update Hey API link to Zod plugin
([#​5059](https://redirect.github.com/colinhacks/zod/issues/5059))
-
[`ffff1aa`](https://redirect.github.com/colinhacks/zod/commit/ffff1aac6a9a88fe6e7ad2659dbc7743275ea052)
Clone POJO objects during defaulting/prefaulting
-
[`a227cb3`](https://redirect.github.com/colinhacks/zod/commit/a227cb3bd22aba48412a0129650b86277adc3545)
v4.0.16
###
[`v4.0.15`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.0.15)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.0.14...v4.0.15)
#### Commits:
-
[`7e7e346`](https://redirect.github.com/colinhacks/zod/commit/7e7e3461aceecf3633e158df50d6bc852e7cdf45)
Clean up docs
-
[`f2949a8`](https://redirect.github.com/colinhacks/zod/commit/f2949a81a06fe197c53e47c1fab024cebbd7f1f1)
\[docs] Fix migration guide upgrade command
([#​5021](https://redirect.github.com/colinhacks/zod/issues/5021))
-
[`d43cf19`](https://redirect.github.com/colinhacks/zod/commit/d43cf19d5cafd505f2f8e76f13e18564470f0696)
Fix recursive object initialization errors with check() and other
methods
([#​5018](https://redirect.github.com/colinhacks/zod/issues/5018))
-
[`3de2b63`](https://redirect.github.com/colinhacks/zod/commit/3de2b6389a57a093f11ecf1820f31e5b4452c7e9)
fix: remove redundant Required<> from input and output type definitions
([#​5033](https://redirect.github.com/colinhacks/zod/issues/5033))
-
[`93553bd`](https://redirect.github.com/colinhacks/zod/commit/93553bd48aeac27fdeb7dcbee5b7e37628572aff)
Add needs info
-
[`03cfa8d`](https://redirect.github.com/colinhacks/zod/commit/03cfa8d9367c56d8c29870a83af10edc91eba34a)
4.0.15
###
[`v4.0.14`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.0.14)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.0.13...v4.0.14)
#### Commits:
-
[`99391a8`](https://redirect.github.com/colinhacks/zod/commit/99391a844271558e0f1736c9550375e82e630bbd)
Docs: Fix typo
([#​5005](https://redirect.github.com/colinhacks/zod/issues/5005))
-
[`e25303e`](https://redirect.github.com/colinhacks/zod/commit/e25303e98c8d13ea96c3296507c564011f403ffe)
Docs: fix typo
([#​5008](https://redirect.github.com/colinhacks/zod/issues/5008))
-
[`dbb05ef`](https://redirect.github.com/colinhacks/zod/commit/dbb05ef990c86ec6b1f6eac11b91ec7572e29c89)
Add JSON Schema draft-04 output
([#​4811](https://redirect.github.com/colinhacks/zod/issues/4811))
-
[`b8257d7`](https://redirect.github.com/colinhacks/zod/commit/b8257d7d1f51dd3cb4033a58271bb6ac8e3678c7)
Improve tuple recursive inference.
-
[`9bdbc2f`](https://redirect.github.com/colinhacks/zod/commit/9bdbc2f10d466050421a8e28c4b95a8a5776d150)
Avoid infinite loops in defineLazy. Fixes
[#​4994](https://redirect.github.com/colinhacks/zod/issues/4994).
-
[`af96ad4`](https://redirect.github.com/colinhacks/zod/commit/af96ad4700879b0d6e390a0c65ded4e700049cb9)
4.0.14
###
[`v4.0.13`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.0.13)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.0.12...v4.0.13)
#### Commits:
-
[`362eb33`](https://redirect.github.com/colinhacks/zod/commit/362eb33093e9c5f306eeec95e36985a99aba8fc7)
Fix optional + pipe handling. Closes
[#​5002](https://redirect.github.com/colinhacks/zod/issues/5002).
v4.0.13
###
[`v4.0.12`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.0.12)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.0.11...v4.0.12)
#### Commits:
-
[`ff83fc9`](https://redirect.github.com/colinhacks/zod/commit/ff83fc916ec2b35c0008a48782fa14f84293149d)
Add eslint-plugin-import-zod
([#​4848](https://redirect.github.com/colinhacks/zod/issues/4848))
-
[`7c9ce38`](https://redirect.github.com/colinhacks/zod/commit/7c9ce388ae39b2324c5ad05420ecf4732ebca6fe)
Update docs for z.property check
([#​4863](https://redirect.github.com/colinhacks/zod/issues/4863))
-
[`c432577`](https://redirect.github.com/colinhacks/zod/commit/c432577ad1a7201631ae0a4d80e945fc4937bcc9)
docs: add jwt schema docs
([#​4867](https://redirect.github.com/colinhacks/zod/issues/4867))
-
[`35e6a6f`](https://redirect.github.com/colinhacks/zod/commit/35e6a6f6d64d7d5ba58c4cb8c80105759b977c9b)
Add llms.txt
([#​4915](https://redirect.github.com/colinhacks/zod/issues/4915))
-
[`3ac7bf0`](https://redirect.github.com/colinhacks/zod/commit/3ac7bf00d0d924d1afa1031b798bdd72b59117db)
Clean up Edit this Page
-
[`60a9372`](https://redirect.github.com/colinhacks/zod/commit/60a9372414955094b84aae2f30b491a039780b7c)
Implement `llms-full.txt`
([#​5004](https://redirect.github.com/colinhacks/zod/issues/5004))
-
[`73a1970`](https://redirect.github.com/colinhacks/zod/commit/73a1970e7fd0cdcb2ffac3f6f7db85da849ee3d8)
4.0.12
###
[`v4.0.11`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.0.11)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.0.10...v4.0.11)
#### Commits:
-
[`8e6a5f8`](https://redirect.github.com/colinhacks/zod/commit/8e6a5f8e48837fb403deb4025935e97a758ad6ca)
Fix “Edit on Github” link
([#​4997](https://redirect.github.com/colinhacks/zod/issues/4997))
-
[`930a2f6`](https://redirect.github.com/colinhacks/zod/commit/930a2f68d799889df4c1f662dfe61934db84fdd1)
Fix number of errors in doc
([#​4993](https://redirect.github.com/colinhacks/zod/issues/4993))
-
[`c762dbb`](https://redirect.github.com/colinhacks/zod/commit/c762dbb4fdb249cfddccdd69812da3f4b659df67)
feat(locale): Add Yoruba (yo) locale
([#​4996](https://redirect.github.com/colinhacks/zod/issues/4996))
-
[`9a34a3a`](https://redirect.github.com/colinhacks/zod/commit/9a34a3a60d92c44f695b08e4c665209aa7160e24)
Zod 4.0.11
([#​4981](https://redirect.github.com/colinhacks/zod/issues/4981))
###
[`v4.0.10`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.0.10)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.0.9...v4.0.10)
#### Commits:
-
[`291c1ca`](https://redirect.github.com/colinhacks/zod/commit/291c1ca9864570e68a6c104d869de467f665da86)
Add should-build script
-
[`e32d99b`](https://redirect.github.com/colinhacks/zod/commit/e32d99b54fff920c4b0b451e9099b472d20a3c4b)
Move should-build script
-
[`d4faf71`](https://redirect.github.com/colinhacks/zod/commit/d4faf71b8cc156a49bae23fc09c4d54b88f22bd5)
Add v3 docs
([#​4972](https://redirect.github.com/colinhacks/zod/issues/4972))
-
[`dfae371`](https://redirect.github.com/colinhacks/zod/commit/dfae37195bed15dce84af0b17ef04cdc3704ef5e)
Update Jazz img on v3 docs
-
[`d6cd30d`](https://redirect.github.com/colinhacks/zod/commit/d6cd30d3898aaf592c6077464c1a45fd0f6f66d3)
fix
[#​4973](https://redirect.github.com/colinhacks/zod/issues/4973)
([#​4974](https://redirect.github.com/colinhacks/zod/issues/4974))
-
[`1850496`](https://redirect.github.com/colinhacks/zod/commit/18504960cdce29529e37415b87fed1732facf1ef)
Fix typo in `valype`
([#​4960](https://redirect.github.com/colinhacks/zod/issues/4960))
-
[`4ec2f87`](https://redirect.github.com/colinhacks/zod/commit/4ec2f8776193642d91814521d8a4c22bbb766cb1)
Add Zod Playground to zod 4 ecosystem
([#​4975](https://redirect.github.com/colinhacks/zod/issues/4975))
-
[`2b571a2`](https://redirect.github.com/colinhacks/zod/commit/2b571a21875e9e3299de261e512dad300878c3a1)
Update docs z.enum with object literal example
([#​4967](https://redirect.github.com/colinhacks/zod/issues/4967))
-
[`813451d`](https://redirect.github.com/colinhacks/zod/commit/813451db7fcf64c5322835984eded9bfe95be1da)
v4.0.10
([#​4978](https://redirect.github.com/colinhacks/zod/issues/4978))
###
[`v4.0.9`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.0.9)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.0.8...v4.0.9)
#### Commits:
-
[`4e7a3ef`](https://redirect.github.com/colinhacks/zod/commit/4e7a3ef180f6a5525d9021638e9df20b3ca50456)
v4.0.9
([#​4970](https://redirect.github.com/colinhacks/zod/issues/4970))
###
[`v4.0.8`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.0.8)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.0.7...v4.0.8)
#### Commits:
-
[`3048d14`](https://redirect.github.com/colinhacks/zod/commit/3048d14bc7b803507302b8ee3cd1eeeffbd27396)
Fix
[#​4961](https://redirect.github.com/colinhacks/zod/issues/4961)
###
[`v4.0.7`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.0.7)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.0.6...v4.0.7)
#### Commits:
-
[`7ab1b3c`](https://redirect.github.com/colinhacks/zod/commit/7ab1b3cd2e272a74c0f7c5cde70ee23c2ef288d6)
Do not continue parsing in ZodPipe if issues exists. Closes
[#​4926](https://redirect.github.com/colinhacks/zod/issues/4926).
-
[`34b400a`](https://redirect.github.com/colinhacks/zod/commit/34b400a5422bc30b48395cdd44007ff4e811fb71)
4.0.7
###
[`v4.0.6`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.0.6)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.0.5...v4.0.6)
#### Commits:
-
[`a3e4391`](https://redirect.github.com/colinhacks/zod/commit/a3e43911abb980f1830b68a440c231ae52eacec0)
Unwiden catch input type
([#​4870](https://redirect.github.com/colinhacks/zod/issues/4870))
-
[`499df78`](https://redirect.github.com/colinhacks/zod/commit/499df780b10dfcce29afba3e811757f7eade9570)
Add RFC 9562 mentions. Closes
[#​4872](https://redirect.github.com/colinhacks/zod/issues/4872)
-
[`d0493f3`](https://redirect.github.com/colinhacks/zod/commit/d0493f3dceb117972464f01cb0765262a5ffed70)
Doc tweak - spread vs destructuring
([#​4919](https://redirect.github.com/colinhacks/zod/issues/4919))
-
[`8dad394`](https://redirect.github.com/colinhacks/zod/commit/8dad394b805fd18cee8e44a37dab983916e0d92c)
feat: Icelandic translation
([#​4920](https://redirect.github.com/colinhacks/zod/issues/4920))
-
[`2ffdae1`](https://redirect.github.com/colinhacks/zod/commit/2ffdae1faafcc34639a7a846a55776c2a886a644)
Bulgarian (bg) translation
([#​4928](https://redirect.github.com/colinhacks/zod/issues/4928))
-
[`0973135`](https://redirect.github.com/colinhacks/zod/commit/09731358f69bb1238f6e00e0ca82e28c095b800f)
docs: add valype to xToZodConverts
([#​4930](https://redirect.github.com/colinhacks/zod/issues/4930))
-
[`d257340`](https://redirect.github.com/colinhacks/zod/commit/d2573409ab02e5d0c2a644315798999d619e4c89)
Remove moduleResolution callout
([#​4932](https://redirect.github.com/colinhacks/zod/issues/4932))
-
[`075970d`](https://redirect.github.com/colinhacks/zod/commit/075970d2aeb50c840840cc44559b31b16d7b6504)
docs: add coercion note to fix compile errors
([#​4940](https://redirect.github.com/colinhacks/zod/issues/4940))
-
[`b9e8a60`](https://redirect.github.com/colinhacks/zod/commit/b9e8a60ff44aa5fffc39617eec894117132fbbac)
Add `@hey-api/openapi-ts` to Zod 3 ecosystem
([#​4949](https://redirect.github.com/colinhacks/zod/issues/4949))
-
[`ad7b0ff`](https://redirect.github.com/colinhacks/zod/commit/ad7b0ffd91da4f0466c97b7b5e6b60f376ae4f33)
Add `@hey-api/openapi-ts` to Zod 3 ecosystem
([#​4942](https://redirect.github.com/colinhacks/zod/issues/4942))
-
[`4619109`](https://redirect.github.com/colinhacks/zod/commit/4619109e7927019837a3a13d4ab8bba5c72989de)
feat(locales): add Danish translations
([#​4953](https://redirect.github.com/colinhacks/zod/issues/4953))
-
[`cb84a57`](https://redirect.github.com/colinhacks/zod/commit/cb84a5711b83d25c7dcf218c4c01097cf036c1f5)
Point to zod-v3-to-v4 codemod in Zod 4 migration guide
([#​4954](https://redirect.github.com/colinhacks/zod/issues/4954))
-
[`28a5091`](https://redirect.github.com/colinhacks/zod/commit/28a5091092b22146a26f8a4e7c18e2943f53a86a)
Update api.mdx
([#​4955](https://redirect.github.com/colinhacks/zod/issues/4955))
-
[`7f3cf94`](https://redirect.github.com/colinhacks/zod/commit/7f3cf946ca9aa90031cb954d6f683cb09de4d894)
Fix URL sup example
([#​4959](https://redirect.github.com/colinhacks/zod/issues/4959))
-
[`17e7f3b`](https://redirect.github.com/colinhacks/zod/commit/17e7f3b4e1c2c97b3c9487c97ac6703a16ed1cfb)
Add `@hey-api/openapi-ts` to Zod 4 ecosystem
([#​4950](https://redirect.github.com/colinhacks/zod/issues/4950))
-
[`f75d852`](https://redirect.github.com/colinhacks/zod/commit/f75d85294df2ff4ccea056e8eeb7c14750fa929f)
fix: escapes decimal place in `z.literal`
([#​4895](https://redirect.github.com/colinhacks/zod/issues/4895))
-
[`7dd7484`](https://redirect.github.com/colinhacks/zod/commit/7dd7484802b1351c8b81d3d523aadd876fcdf73e)
v4.0.6
([#​4941](https://redirect.github.com/colinhacks/zod/issues/4941))
###
[`v4.0.5`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.0.5)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.0.4...v4.0.5)
#### Commits:
-
[`f91a73e`](https://redirect.github.com/colinhacks/zod/commit/f91a73ec23f9ec28d908af2caa643a54088516c5)
Support pipes in discriminated unions. Closes
[#​4856](https://redirect.github.com/colinhacks/zod/issues/4856)
([#​4861](https://redirect.github.com/colinhacks/zod/issues/4861))
-
[`45afab0`](https://redirect.github.com/colinhacks/zod/commit/45afab0f846dffd591362b6f770017507eb185b5)
4.0.5
###
[`v4.0.4`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.0.4)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.0.3...v4.0.4)
#### Commits:
-
[`9335f05`](https://redirect.github.com/colinhacks/zod/commit/9335f0543d6359f9236e3e33b78cc5b2788dbe0f)
Adds `ZodFirstPartyTypeKind` stub to fix module resolution failure
inside `zod-to-json-schema`
###
[`v4.0.3`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.0.3)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/44a936cb77961e57a0988d8a3c63d9c71fce69ac...v4.0.3)
#### Commits:
-
[`5905a8d`](https://redirect.github.com/colinhacks/zod/commit/5905a8d810eff6f4677e6aa9e557f92a676805cf)
Improve check-versions script
-
[`f3e749b`](https://redirect.github.com/colinhacks/zod/commit/f3e749b1b057a2cf0a0bce7e07abec4e0520e0f8)
Remove global File interface
-
[`44a936c`](https://redirect.github.com/colinhacks/zod/commit/44a936cb77961e57a0988d8a3c63d9c71fce69ac)
4.0.2
-
[`74006ed`](https://redirect.github.com/colinhacks/zod/commit/74006edd49e3fe8d74010090462859593c2bd1e2)
Fix JSR provenance
-
[`ff4af5e`](https://redirect.github.com/colinhacks/zod/commit/ff4af5e889d4ad7136a9cde7202b16261db5c83c)
4.0.3
-
[`ce573e8`](https://redirect.github.com/colinhacks/zod/commit/ce573e8799f86e2f68307eba95c2d40fc92617b7)
Update test badge
-
[`9a7161a`](https://redirect.github.com/colinhacks/zod/commit/9a7161a976d6349f738c00cb6d6528c0407a65e8)
Fix versions
###
[`v4.0.2`](https://redirect.github.com/colinhacks/zod/compare/v4.0.1...44a936cb77961e57a0988d8a3c63d9c71fce69ac)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v4.0.1...44a936cb77961e57a0988d8a3c63d9c71fce69ac)
###
[`v4.0.1`](https://redirect.github.com/colinhacks/zod/releases/tag/v4.0.1):
v4.0.0
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/79d4d80e3b47f04752c5c281077b53f889551441...v4.0.1)
With this release, `[email protected]` has been published to `npm`. There were
no code changes between 3.25.76 and 4.0.0!
Zod 4 has been stable for the past 6 weeks, but it was published inside
<[email protected]> on npm. this transitionary window gave the ecosystem time
to incrementally support for Zod 4 (without dropping support for Zod 3).
As there is now near-universal support for Zod 4 in the ecosystem, ths
time feels right to finally put a bow on things 🎀
To upgrade to Zod 4:
```
npm upgrade zod@^4.0.0
```
If you’ve already migrated to Zod 4 using the subpaths, there are no
changes required. however you can optionally simplify your imports
(recommended)
```ts
// after upgrading to [email protected]:
import * as z from "zod"; // Zod 4 (regular)
import * as z from "zod/mini" // Zod 4 Mini
// these still work, but are no longer needed
import * as z from "zod/v4";
import * as z from "zod/v4-mini":
// if you still need Zod 3
import * as z from "zod/v3"; // Zod 3
```
**Library authors** — if you've already implemented Zod 4 support
according to the best practices outlined in the [Library
authors](/library-authors) guide, bump your peer dependency to include
`zod@^4.0.0`:
```json
// package.json
{
"peerDependencies": {
"zod": "^3.25.0 || ^4.0.0"
}
}
```
*There should be no other code changes necessary.* No code changes were
made between the latest `3.25.x` release and `4.0.0`. This does not
require a major version bump.
###
[`v4.0.0`](https://redirect.github.com/colinhacks/zod/compare/v3.25.76...79d4d80e3b47f04752c5c281077b53f889551441)
[Compare
Source](https://redirect.github.com/colinhacks/zod/compare/v3.25.76...79d4d80e3b47f04752c5c281077b53f889551441)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "on the 2nd through 5th day of the
month" (UTC), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/JabRef/JabRefOnline).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS40Ni4zIiwidXBkYXRlZEluVmVyIjoiNDEuMTU5LjQiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tobias Diez <[email protected]>1 parent 38ad48e commit d84f11c
File tree
7 files changed
+57
-61
lines changed- apollo
- server
- user
- utils
7 files changed
+57
-61
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | 2 | | |
4 | 3 | | |
5 | 4 | | |
6 | 5 | | |
7 | 6 | | |
8 | | - | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | 7 | | |
13 | 8 | | |
14 | 9 | | |
15 | 10 | | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
21 | 15 | | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | | - | |
| 42 | + | |
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
46 | | - | |
| 46 | + | |
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
81 | | - | |
| 81 | + | |
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
103 | | - | |
| 103 | + | |
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
36 | 35 | | |
37 | 36 | | |
38 | 37 | | |
| 38 | + | |
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | | - | |
43 | 42 | | |
44 | 43 | | |
45 | 44 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
92 | | - | |
93 | 92 | | |
94 | | - | |
| 93 | + | |
95 | 94 | | |
| 95 | + | |
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
99 | | - | |
100 | 99 | | |
101 | 100 | | |
102 | 101 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
50 | | - | |
| 50 | + | |
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| |||
0 commit comments