colinhacks/zod
### [`v3.20.0`](https://togithub.com/colinhacks/zod/releases/tag/v3.20.0): -beta
[Compare Source](https://togithub.com/colinhacks/zod/compare/v3.19.1...v3.20.0)
#### Breaking changes
There are no breaking API changes, however TypeScript versions `4.4` and earlier are no longer officially supported.
#### New features
The most feature-packed release since Zod 3.0!
##### `.pipe()`
A new schema method `.pipe()` is now available on all schemas. which can be used to chain multiple schemas into a "validation pipeline". Typically this will be used in conjunction with `.transform()`.
```ts
z.string()
.transform(val => val.length)
.pipe(z.number().min(5))
```
The `.pipe()` method returns a `ZodPipeline` instance.
##### `z.coerce`
Zod now provides a more convenient way to coerce primitive values.
```ts
const schema = z.coerce.string();
schema.parse("tuna"); // => "tuna"
schema.parse(12); // => "12"
schema.parse(true); // => "true"
```
During the parsing step, the input is passed through the `String()` function, which is a JavaScript built-in for coercing data into strings. Note that the returned schema is a `ZodString` instance so you can use all string methods.
```ts
z.coerce.string().email().min(5);
```
All primitive types support coercion.
```ts
z.coerce.string(); // String(input)
z.coerce.number(); // Number(input)
z.coerce.boolean(); // Boolean(input)
z.coerce.bigint(); // BigInt(input)
z.coerce.date(); // new Date(input)
```
##### `.catch()`
A new schema method `.catch()` is now available on all schemas. It can be used to provide a "catchall" value that will be returned in the event of a parsing error.
```ts
const schema = z.string().catch("fallback");
schema.parse("kate"); // => "kate"
schema.parse(4); // => "fallback"
```
The `.catch()` method returns a `ZodCatch` instance.
##### `z.symbol()`
A long-missing hole in Zod's type system is finally filled! Thanks [@santosmarco-caribou](https://togithub.com/santosmarco-caribou).
```ts
const schema = z.symbol();
schema.parse(Symbol('asdf'));
```
Relatedly, you can also pass symbols into `z.literal()`.
```ts
const TUNA = Symbol("tuna");
const schema = z.literal(TUNA);
schema.parse(TUNA); // Symbol(tuna)
schema.parse(Symbol("nottuna")); // Error
```
##### `z.string().datetime()`
A new method has been added to `ZodString` to validate ISO datetime strings. Thanks [@samchungy](https://togithub.com/samchungy)!
```ts
z.string().datetime();
```
This method defaults to only allowing *UTC datetimes* (the ones that end in `"Z"`). No timezone offsets are allowed; arbitrary sub-second precision is supported.
```ts
const dt = z.string().datetime();
dt.parse("2020-01-01T00:00:00Z"); // π’
dt.parse("2020-01-01T00:00:00.123Z"); // π’
dt.parse("2020-01-01T00:00:00.123456Z"); // π’ (arbitrary precision)
dt.parse("2020-01-01T00:00:00+02:00"); // π΄ (no offsets allowed)
```
Offsets can be supported with the `offset` parameter.
```ts
const a = z.string().datetime({ offset: true });
a.parse("2020-01-01T00:00:00+02:00"); // π’ offset allowed
```
You can additionally constrain the allowable `precision`. This specifies the number of digits that should follow the decimal point.
```ts
const b = z.string().datetime({ precision: 3 })
b.parse("2020-01-01T00:00:00.123Z"); // π’ precision of 3 decimal points
b.parse("2020-01-01T00:00:00Z"); // π΄ invalid precision
```
##### `z.number().finite()`
Restrict a number schema to finite values. Thanks [@igalklebanov](https://togithub.com/igalklebanov).
```ts
const schema = z.number().finite();
schema.parse(5); π’
schema.parse(Infinity); π΄
schema.parse(-Infinity); π΄
```
#### What's Changed
- Add `mask` parameter to `.required` method by [@SrBrahma](https://togithub.com/SrBrahma) in [https://github.com/colinhacks/zod/pull/1315](https://togithub.com/colinhacks/zod/pull/1315)
- Added Intersections to TOC by [@tmkn](https://togithub.com/tmkn) in [https://github.com/colinhacks/zod/pull/1450](https://togithub.com/colinhacks/zod/pull/1450)
- \[[#1468](https://togithub.com/colinhacks/zod/issues/1468)] Fix zod.dev main page cross origin links. by [@agrahamg](https://togithub.com/agrahamg) in [https://github.com/colinhacks/zod/pull/1469](https://togithub.com/colinhacks/zod/pull/1469)
- Updates remix-domains library name and description in README by [@diogob](https://togithub.com/diogob) in [https://github.com/colinhacks/zod/pull/1501](https://togithub.com/colinhacks/zod/pull/1501)
- Removed BRAND from ZodBrand Input definition by [@Xetera](https://togithub.com/Xetera) in [https://github.com/colinhacks/zod/pull/1492](https://togithub.com/colinhacks/zod/pull/1492)
- Add Zodix to readme ecosystem section by [@rileytomasek](https://togithub.com/rileytomasek) in [https://github.com/colinhacks/zod/pull/1506](https://togithub.com/colinhacks/zod/pull/1506)
- Fix small typos in README by [@Yhozen](https://togithub.com/Yhozen) in [https://github.com/colinhacks/zod/pull/1521](https://togithub.com/colinhacks/zod/pull/1521)
- fix typo by [@oasido](https://togithub.com/oasido) in [https://github.com/colinhacks/zod/pull/1528](https://togithub.com/colinhacks/zod/pull/1528)
- add `fatal` to `ZodIssue`. by [@igalklebanov](https://togithub.com/igalklebanov) in [https://github.com/colinhacks/zod/pull/1555](https://togithub.com/colinhacks/zod/pull/1555)
- Fix typo in ERROR_HANDLING.md by [@Tsuyoshi84](https://togithub.com/Tsuyoshi84) in [https://github.com/colinhacks/zod/pull/1543](https://togithub.com/colinhacks/zod/pull/1543)
- add `.finite()` @ `ZodNumber`. by [@igalklebanov](https://togithub.com/igalklebanov) in [https://github.com/colinhacks/zod/pull/1546](https://togithub.com/colinhacks/zod/pull/1546)
- Fix typing bug hiding errors of nullable composite fields by [@tadeokondrak](https://togithub.com/tadeokondrak) in [https://github.com/colinhacks/zod/pull/1545](https://togithub.com/colinhacks/zod/pull/1545)
- [#1227](https://togithub.com/colinhacks/zod/issues/1227) Feature default on mismatch by [@seancrowe](https://togithub.com/seancrowe) in [https://github.com/colinhacks/zod/pull/1537](https://togithub.com/colinhacks/zod/pull/1537)
- fix [#1046](https://togithub.com/colinhacks/zod/issues/1046) `.required()` doesn't remove optional flag from the result of `.nullish()`. by [@igalklebanov](https://togithub.com/igalklebanov) in [https://github.com/colinhacks/zod/pull/1542](https://togithub.com/colinhacks/zod/pull/1542)
- add `datetime()` string formats by [@samchungy](https://togithub.com/samchungy) in [https://github.com/colinhacks/zod/pull/1494](https://togithub.com/colinhacks/zod/pull/1494)
- Bump minimatch from 3.0.4 to 3.1.2 by [@dependabot](https://togithub.com/dependabot) in [https://github.com/colinhacks/zod/pull/1558](https://togithub.com/colinhacks/zod/pull/1558)
- Bump minimist from 1.2.5 to 1.2.7 by [@dependabot](https://togithub.com/dependabot) in [https://github.com/colinhacks/zod/pull/1507](https://togithub.com/colinhacks/zod/pull/1507)
- [#1171](https://togithub.com/colinhacks/zod/issues/1171) support for refine, superRefine, transform and lazy in discriminatedUnion by [@roblabat](https://togithub.com/roblabat) in [https://github.com/colinhacks/zod/pull/1290](https://togithub.com/colinhacks/zod/pull/1290)
- branded type as normal argument by [@KATT](https://togithub.com/KATT) in [https://github.com/colinhacks/zod/pull/1502](https://togithub.com/colinhacks/zod/pull/1502)
- Take `path` parameter into account within `.parseAsync()` by [@RobinTail](https://togithub.com/RobinTail) in [https://github.com/colinhacks/zod/pull/1513](https://togithub.com/colinhacks/zod/pull/1513)
- Update README.md by [@rosnerdev](https://togithub.com/rosnerdev) in [https://github.com/colinhacks/zod/pull/1463](https://togithub.com/colinhacks/zod/pull/1463)
- Add `ZodSymbol` by [@santosmarco-caribou](https://togithub.com/santosmarco-caribou) in [https://github.com/colinhacks/zod/pull/1448](https://togithub.com/colinhacks/zod/pull/1448)
- Fix Minor Typos by [@WebDevSimplified](https://togithub.com/WebDevSimplified) in [https://github.com/colinhacks/zod/pull/1624](https://togithub.com/colinhacks/zod/pull/1624)
#### New Contributors
- [@SrBrahma](https://togithub.com/SrBrahma) made their first contribution in [https://github.com/colinhacks/zod/pull/1315](https://togithub.com/colinhacks/zod/pull/1315)
- [@tmkn](https://togithub.com/tmkn) made their first contribution in [https://github.com/colinhacks/zod/pull/1450](https://togithub.com/colinhacks/zod/pull/1450)
- [@agrahamg](https://togithub.com/agrahamg) made their first contribution in [https://github.com/colinhacks/zod/pull/1469](https://togithub.com/colinhacks/zod/pull/1469)
- [@diogob](https://togithub.com/diogob) made their first contribution in [https://github.com/colinhacks/zod/pull/1501](https://togithub.com/colinhacks/zod/pull/1501)
- [@Xetera](https://togithub.com/Xetera) made their first contribution in [https://github.com/colinhacks/zod/pull/1492](https://togithub.com/colinhacks/zod/pull/1492)
- [@rileytomasek](https://togithub.com/rileytomasek) made their first contribution in [https://github.com/colinhacks/zod/pull/1506](https://togithub.com/colinhacks/zod/pull/1506)
- [@Yhozen](https://togithub.com/Yhozen) made their first contribution in [https://github.com/colinhacks/zod/pull/1521](https://togithub.com/colinhacks/zod/pull/1521)
- [@oasido](https://togithub.com/oasido) made their first contribution in [https://github.com/colinhacks/zod/pull/1528](https://togithub.com/colinhacks/zod/pull/1528)
- [@igalklebanov](https://togithub.com/igalklebanov) made their first contribution in [https://github.com/colinhacks/zod/pull/1555](https://togithub.com/colinhacks/zod/pull/1555)
- [@Tsuyoshi84](https://togithub.com/Tsuyoshi84) made their first contribution in [https://github.com/colinhacks/zod/pull/1543](https://togithub.com/colinhacks/zod/pull/1543)
- [@tadeokondrak](https://togithub.com/tadeokondrak) made their first contribution in [https://github.com/colinhacks/zod/pull/1545](https://togithub.com/colinhacks/zod/pull/1545)
- [@seancrowe](https://togithub.com/seancrowe) made their first contribution in [https://github.com/colinhacks/zod/pull/1537](https://togithub.com/colinhacks/zod/pull/1537)
- [@samchungy](https://togithub.com/samchungy) made their first contribution in [https://github.com/colinhacks/zod/pull/1494](https://togithub.com/colinhacks/zod/pull/1494)
- [@roblabat](https://togithub.com/roblabat) made their first contribution in [https://github.com/colinhacks/zod/pull/1290](https://togithub.com/colinhacks/zod/pull/1290)
- [@KATT](https://togithub.com/KATT) made their first contribution in [https://github.com/colinhacks/zod/pull/1502](https://togithub.com/colinhacks/zod/pull/1502)
- [@RobinTail](https://togithub.com/RobinTail) made their first contribution in [https://github.com/colinhacks/zod/pull/1513](https://togithub.com/colinhacks/zod/pull/1513)
- [@rosnerdev](https://togithub.com/rosnerdev) made their first contribution in [https://github.com/colinhacks/zod/pull/1463](https://togithub.com/colinhacks/zod/pull/1463)
- [@santosmarco-caribou](https://togithub.com/santosmarco-caribou) made their first contribution in [https://github.com/colinhacks/zod/pull/1448](https://togithub.com/colinhacks/zod/pull/1448)
- [@WebDevSimplified](https://togithub.com/WebDevSimplified) made their first contribution in [https://github.com/colinhacks/zod/pull/1624](https://togithub.com/colinhacks/zod/pull/1624)
**Full Changelog**: https://github.com/colinhacks/zod/compare/v3.19.1...v3.20.0
Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Enabled.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about these updates again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
3.19.1
->3.20.0
Release Notes
colinhacks/zod
### [`v3.20.0`](https://togithub.com/colinhacks/zod/releases/tag/v3.20.0): -beta [Compare Source](https://togithub.com/colinhacks/zod/compare/v3.19.1...v3.20.0) #### Breaking changes There are no breaking API changes, however TypeScript versions `4.4` and earlier are no longer officially supported. #### New features The most feature-packed release since Zod 3.0! ##### `.pipe()` A new schema method `.pipe()` is now available on all schemas. which can be used to chain multiple schemas into a "validation pipeline". Typically this will be used in conjunction with `.transform()`. ```ts z.string() .transform(val => val.length) .pipe(z.number().min(5)) ``` The `.pipe()` method returns a `ZodPipeline` instance. ##### `z.coerce` Zod now provides a more convenient way to coerce primitive values. ```ts const schema = z.coerce.string(); schema.parse("tuna"); // => "tuna" schema.parse(12); // => "12" schema.parse(true); // => "true" ``` During the parsing step, the input is passed through the `String()` function, which is a JavaScript built-in for coercing data into strings. Note that the returned schema is a `ZodString` instance so you can use all string methods. ```ts z.coerce.string().email().min(5); ``` All primitive types support coercion. ```ts z.coerce.string(); // String(input) z.coerce.number(); // Number(input) z.coerce.boolean(); // Boolean(input) z.coerce.bigint(); // BigInt(input) z.coerce.date(); // new Date(input) ``` ##### `.catch()` A new schema method `.catch()` is now available on all schemas. It can be used to provide a "catchall" value that will be returned in the event of a parsing error. ```ts const schema = z.string().catch("fallback"); schema.parse("kate"); // => "kate" schema.parse(4); // => "fallback" ``` The `.catch()` method returns a `ZodCatch` instance. ##### `z.symbol()` A long-missing hole in Zod's type system is finally filled! Thanks [@santosmarco-caribou](https://togithub.com/santosmarco-caribou). ```ts const schema = z.symbol(); schema.parse(Symbol('asdf')); ``` Relatedly, you can also pass symbols into `z.literal()`. ```ts const TUNA = Symbol("tuna"); const schema = z.literal(TUNA); schema.parse(TUNA); // Symbol(tuna) schema.parse(Symbol("nottuna")); // Error ``` ##### `z.string().datetime()` A new method has been added to `ZodString` to validate ISO datetime strings. Thanks [@samchungy](https://togithub.com/samchungy)! ```ts z.string().datetime(); ``` This method defaults to only allowing *UTC datetimes* (the ones that end in `"Z"`). No timezone offsets are allowed; arbitrary sub-second precision is supported. ```ts const dt = z.string().datetime(); dt.parse("2020-01-01T00:00:00Z"); // π’ dt.parse("2020-01-01T00:00:00.123Z"); // π’ dt.parse("2020-01-01T00:00:00.123456Z"); // π’ (arbitrary precision) dt.parse("2020-01-01T00:00:00+02:00"); // π΄ (no offsets allowed) ``` Offsets can be supported with the `offset` parameter. ```ts const a = z.string().datetime({ offset: true }); a.parse("2020-01-01T00:00:00+02:00"); // π’ offset allowed ``` You can additionally constrain the allowable `precision`. This specifies the number of digits that should follow the decimal point. ```ts const b = z.string().datetime({ precision: 3 }) b.parse("2020-01-01T00:00:00.123Z"); // π’ precision of 3 decimal points b.parse("2020-01-01T00:00:00Z"); // π΄ invalid precision ``` ##### `z.number().finite()` Restrict a number schema to finite values. Thanks [@igalklebanov](https://togithub.com/igalklebanov). ```ts const schema = z.number().finite(); schema.parse(5); π’ schema.parse(Infinity); π΄ schema.parse(-Infinity); π΄ ``` #### What's Changed - Add `mask` parameter to `.required` method by [@SrBrahma](https://togithub.com/SrBrahma) in [https://github.com/colinhacks/zod/pull/1315](https://togithub.com/colinhacks/zod/pull/1315) - Added Intersections to TOC by [@tmkn](https://togithub.com/tmkn) in [https://github.com/colinhacks/zod/pull/1450](https://togithub.com/colinhacks/zod/pull/1450) - \[[#1468](https://togithub.com/colinhacks/zod/issues/1468)] Fix zod.dev main page cross origin links. by [@agrahamg](https://togithub.com/agrahamg) in [https://github.com/colinhacks/zod/pull/1469](https://togithub.com/colinhacks/zod/pull/1469) - Updates remix-domains library name and description in README by [@diogob](https://togithub.com/diogob) in [https://github.com/colinhacks/zod/pull/1501](https://togithub.com/colinhacks/zod/pull/1501) - Removed BRAND from ZodBrand Input definition by [@Xetera](https://togithub.com/Xetera) in [https://github.com/colinhacks/zod/pull/1492](https://togithub.com/colinhacks/zod/pull/1492) - Add Zodix to readme ecosystem section by [@rileytomasek](https://togithub.com/rileytomasek) in [https://github.com/colinhacks/zod/pull/1506](https://togithub.com/colinhacks/zod/pull/1506) - Fix small typos in README by [@Yhozen](https://togithub.com/Yhozen) in [https://github.com/colinhacks/zod/pull/1521](https://togithub.com/colinhacks/zod/pull/1521) - fix typo by [@oasido](https://togithub.com/oasido) in [https://github.com/colinhacks/zod/pull/1528](https://togithub.com/colinhacks/zod/pull/1528) - add `fatal` to `ZodIssue`. by [@igalklebanov](https://togithub.com/igalklebanov) in [https://github.com/colinhacks/zod/pull/1555](https://togithub.com/colinhacks/zod/pull/1555) - Fix typo in ERROR_HANDLING.md by [@Tsuyoshi84](https://togithub.com/Tsuyoshi84) in [https://github.com/colinhacks/zod/pull/1543](https://togithub.com/colinhacks/zod/pull/1543) - add `.finite()` @ `ZodNumber`. by [@igalklebanov](https://togithub.com/igalklebanov) in [https://github.com/colinhacks/zod/pull/1546](https://togithub.com/colinhacks/zod/pull/1546) - Fix typing bug hiding errors of nullable composite fields by [@tadeokondrak](https://togithub.com/tadeokondrak) in [https://github.com/colinhacks/zod/pull/1545](https://togithub.com/colinhacks/zod/pull/1545) - [#1227](https://togithub.com/colinhacks/zod/issues/1227) Feature default on mismatch by [@seancrowe](https://togithub.com/seancrowe) in [https://github.com/colinhacks/zod/pull/1537](https://togithub.com/colinhacks/zod/pull/1537) - fix [#1046](https://togithub.com/colinhacks/zod/issues/1046) `.required()` doesn't remove optional flag from the result of `.nullish()`. by [@igalklebanov](https://togithub.com/igalklebanov) in [https://github.com/colinhacks/zod/pull/1542](https://togithub.com/colinhacks/zod/pull/1542) - add `datetime()` string formats by [@samchungy](https://togithub.com/samchungy) in [https://github.com/colinhacks/zod/pull/1494](https://togithub.com/colinhacks/zod/pull/1494) - Bump minimatch from 3.0.4 to 3.1.2 by [@dependabot](https://togithub.com/dependabot) in [https://github.com/colinhacks/zod/pull/1558](https://togithub.com/colinhacks/zod/pull/1558) - Bump minimist from 1.2.5 to 1.2.7 by [@dependabot](https://togithub.com/dependabot) in [https://github.com/colinhacks/zod/pull/1507](https://togithub.com/colinhacks/zod/pull/1507) - [#1171](https://togithub.com/colinhacks/zod/issues/1171) support for refine, superRefine, transform and lazy in discriminatedUnion by [@roblabat](https://togithub.com/roblabat) in [https://github.com/colinhacks/zod/pull/1290](https://togithub.com/colinhacks/zod/pull/1290) - branded type as normal argument by [@KATT](https://togithub.com/KATT) in [https://github.com/colinhacks/zod/pull/1502](https://togithub.com/colinhacks/zod/pull/1502) - Take `path` parameter into account within `.parseAsync()` by [@RobinTail](https://togithub.com/RobinTail) in [https://github.com/colinhacks/zod/pull/1513](https://togithub.com/colinhacks/zod/pull/1513) - Update README.md by [@rosnerdev](https://togithub.com/rosnerdev) in [https://github.com/colinhacks/zod/pull/1463](https://togithub.com/colinhacks/zod/pull/1463) - Add `ZodSymbol` by [@santosmarco-caribou](https://togithub.com/santosmarco-caribou) in [https://github.com/colinhacks/zod/pull/1448](https://togithub.com/colinhacks/zod/pull/1448) - Fix Minor Typos by [@WebDevSimplified](https://togithub.com/WebDevSimplified) in [https://github.com/colinhacks/zod/pull/1624](https://togithub.com/colinhacks/zod/pull/1624) #### New Contributors - [@SrBrahma](https://togithub.com/SrBrahma) made their first contribution in [https://github.com/colinhacks/zod/pull/1315](https://togithub.com/colinhacks/zod/pull/1315) - [@tmkn](https://togithub.com/tmkn) made their first contribution in [https://github.com/colinhacks/zod/pull/1450](https://togithub.com/colinhacks/zod/pull/1450) - [@agrahamg](https://togithub.com/agrahamg) made their first contribution in [https://github.com/colinhacks/zod/pull/1469](https://togithub.com/colinhacks/zod/pull/1469) - [@diogob](https://togithub.com/diogob) made their first contribution in [https://github.com/colinhacks/zod/pull/1501](https://togithub.com/colinhacks/zod/pull/1501) - [@Xetera](https://togithub.com/Xetera) made their first contribution in [https://github.com/colinhacks/zod/pull/1492](https://togithub.com/colinhacks/zod/pull/1492) - [@rileytomasek](https://togithub.com/rileytomasek) made their first contribution in [https://github.com/colinhacks/zod/pull/1506](https://togithub.com/colinhacks/zod/pull/1506) - [@Yhozen](https://togithub.com/Yhozen) made their first contribution in [https://github.com/colinhacks/zod/pull/1521](https://togithub.com/colinhacks/zod/pull/1521) - [@oasido](https://togithub.com/oasido) made their first contribution in [https://github.com/colinhacks/zod/pull/1528](https://togithub.com/colinhacks/zod/pull/1528) - [@igalklebanov](https://togithub.com/igalklebanov) made their first contribution in [https://github.com/colinhacks/zod/pull/1555](https://togithub.com/colinhacks/zod/pull/1555) - [@Tsuyoshi84](https://togithub.com/Tsuyoshi84) made their first contribution in [https://github.com/colinhacks/zod/pull/1543](https://togithub.com/colinhacks/zod/pull/1543) - [@tadeokondrak](https://togithub.com/tadeokondrak) made their first contribution in [https://github.com/colinhacks/zod/pull/1545](https://togithub.com/colinhacks/zod/pull/1545) - [@seancrowe](https://togithub.com/seancrowe) made their first contribution in [https://github.com/colinhacks/zod/pull/1537](https://togithub.com/colinhacks/zod/pull/1537) - [@samchungy](https://togithub.com/samchungy) made their first contribution in [https://github.com/colinhacks/zod/pull/1494](https://togithub.com/colinhacks/zod/pull/1494) - [@roblabat](https://togithub.com/roblabat) made their first contribution in [https://github.com/colinhacks/zod/pull/1290](https://togithub.com/colinhacks/zod/pull/1290) - [@KATT](https://togithub.com/KATT) made their first contribution in [https://github.com/colinhacks/zod/pull/1502](https://togithub.com/colinhacks/zod/pull/1502) - [@RobinTail](https://togithub.com/RobinTail) made their first contribution in [https://github.com/colinhacks/zod/pull/1513](https://togithub.com/colinhacks/zod/pull/1513) - [@rosnerdev](https://togithub.com/rosnerdev) made their first contribution in [https://github.com/colinhacks/zod/pull/1463](https://togithub.com/colinhacks/zod/pull/1463) - [@santosmarco-caribou](https://togithub.com/santosmarco-caribou) made their first contribution in [https://github.com/colinhacks/zod/pull/1448](https://togithub.com/colinhacks/zod/pull/1448) - [@WebDevSimplified](https://togithub.com/WebDevSimplified) made their first contribution in [https://github.com/colinhacks/zod/pull/1624](https://togithub.com/colinhacks/zod/pull/1624) **Full Changelog**: https://github.com/colinhacks/zod/compare/v3.19.1...v3.20.0Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Enabled.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate. View repository job log here.