Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(deps): update dependency zod to v3.22.3 [security] (#621)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [zod](https://zod.dev) ([source](https://togithub.com/colinhacks/zod)) | [`3.19.1` -> `3.22.3`](https://renovatebot.com/diffs/npm/zod/3.19.1/3.22.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/zod/3.22.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/zod/3.22.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/zod/3.19.1/3.22.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/zod/3.19.1/3.22.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | ### GitHub Vulnerability Alerts #### [CVE-2023-4316](https://nvd.nist.gov/vuln/detail/CVE-2023-4316) Zod version 3.22.2 allows an attacker to perform a denial of service while validating emails. --- ### Release Notes <details> <summary>colinhacks/zod (zod)</summary> ### [`v3.22.3`](https://togithub.com/colinhacks/zod/releases/tag/v3.22.3) [Compare Source](https://togithub.com/colinhacks/zod/compare/v3.22.2...v3.22.3) ##### Commits: - [`1e23990`](https://togithub.com/colinhacks/zod/commit/1e23990bcdd33d1e81b31e40e77a031fcfd87ce1) Commit - [`9bd3879`](https://togithub.com/colinhacks/zod/commit/9bd3879b482f139fd03d5025813ee66a04195cdd) docs: remove obsolete text about readonly types ([#​2676](https://togithub.com/colinhacks/zod/issues/2676)) - [`f59be09`](https://togithub.com/colinhacks/zod/commit/f59be093ec21430d9f32bbcb628d7e39116adf34) clarify datetime ISO 8601 ([#​2673](https://togithub.com/colinhacks/zod/issues/2673)) - [`64dcc8e`](https://togithub.com/colinhacks/zod/commit/64dcc8e2b16febe48fa8e3c82c47c92643e6c9e3) Update sponsors - [`18115a8`](https://togithub.com/colinhacks/zod/commit/18115a8f128680b4526df58ce96deab7dce93b93) Formatting - [`28c1927`](https://togithub.com/colinhacks/zod/commit/28c19273658b164c53c149785fa7a8187c428ad4) Update sponsors - [`ad2ee9c`](https://togithub.com/colinhacks/zod/commit/ad2ee9ccf723c4388158ff6b8669c2a6cdc85643) 2718 Updated Custom Schemas documentation example to use type narrowing ([#​2778](https://togithub.com/colinhacks/zod/issues/2778)) - [`ae0f7a2`](https://togithub.com/colinhacks/zod/commit/ae0f7a2c15e7741ee1b23c03a3bfb9acebd86551) docs: update ref to discriminated-unions docs ([#​2485](https://togithub.com/colinhacks/zod/issues/2485)) - [`2ba00fe`](https://togithub.com/colinhacks/zod/commit/2ba00fe2377f4d53947a84b8cdb314a63bbd6dd4) \[2609] fix ReDoS vulnerability in email regex ([#​2824](https://togithub.com/colinhacks/zod/issues/2824)) - [`1e61d76`](https://togithub.com/colinhacks/zod/commit/1e61d76cdec05de9271fc0df58798ddf9ce94923) 3.22.3 ### [`v3.22.2`](https://togithub.com/colinhacks/zod/releases/tag/v3.22.2) [Compare Source](https://togithub.com/colinhacks/zod/compare/v3.22.1...v3.22.2) ##### Commits: - [`13d9e6b`](https://togithub.com/colinhacks/zod/commit/13d9e6bda286cbd4c1b177171273695d8309e5de) Fix lint - [`0d49f10`](https://togithub.com/colinhacks/zod/commit/0d49f10b3c25a8e4cbb6534cc0773b195c56d06d) docs: add typeschema to ecosystem ([#​2626](https://togithub.com/colinhacks/zod/issues/2626)) - [`8e4af7b`](https://togithub.com/colinhacks/zod/commit/8e4af7b56df6f2e3daf0dd825b986f1d963025ce) X to Zod: add app.quicktype.io ([#​2668](https://togithub.com/colinhacks/zod/issues/2668)) - [`792b3ef`](https://togithub.com/colinhacks/zod/commit/792b3ef0d41c144cd10641c6966b98dae1222d82) Fix superrefine types ### [`v3.22.1`](https://togithub.com/colinhacks/zod/releases/tag/v3.22.1) [Compare Source](https://togithub.com/colinhacks/zod/compare/v3.22.0...v3.22.1) #### Commits: Fix handing of `this` in ZodFunction schemas. The parse logic for function schemas now requires the `Reflect` API. ```ts const methodObject = z.object({ property: z.number(), method: z.function().args(z.string()).returns(z.number()), }); const methodInstance = { property: 3, method: function (s: string) { return s.length + this.property; }, }; const parsed = methodObject.parse(methodInstance); parsed.method("length=8"); // => 11 (8 length + 3 property) ``` - [`932cc47`](https://togithub.com/colinhacks/zod/commit/932cc472d2e66430d368a409b8d251909d7d8d21) Initial prototype fix for issue [#​2651](https://togithub.com/colinhacks/zod/issues/2651) ([#​2652](https://togithub.com/colinhacks/zod/issues/2652)) - [`0a055e7`](https://togithub.com/colinhacks/zod/commit/0a055e726ac210ef6efc69aa70cd2491767f6060) 3.22.1 ### [`v3.22.0`](https://togithub.com/colinhacks/zod/releases/tag/v3.22.0) [Compare Source](https://togithub.com/colinhacks/zod/compare/v3.21.4...v3.22.0) #### `ZodReadonly` This release introduces `ZodReadonly` and the `.readonly()` method on `ZodType`. Calling `.readonly()` on any schema returns a `ZodReadonly` instance that wraps the original schema. The new schema parses all inputs using the original schema, then calls `Object.freeze()` on the result. The inferred type is also marked as `readonly`. ```ts const schema = z.object({ name: string }).readonly(); type schema = z.infer<typeof schema>; // Readonly<{name: string}> const result = schema.parse({ name: "fido" }); result.name = "simba"; // error ``` The inferred type uses TypeScript's built-in readonly types when relevant. ```ts z.array(z.string()).readonly(); // readonly string[] z.tuple([z.string(), z.number()]).readonly(); // readonly [string, number] z.map(z.string(), z.date()).readonly(); // ReadonlyMap<string, Date> z.set(z.string()).readonly(); // ReadonlySet<Promise<string>> ``` #### Commits: - [`6dad907`](https://togithub.com/colinhacks/zod/commit/6dad90785398885f7b058f5c0760d5ae5476b833) Comments - [`56ace68`](https://togithub.com/colinhacks/zod/commit/56ace682e4cc89132c034a3ae2c13b2d5b1a0115) Fix deno test - [`3809d54`](https://togithub.com/colinhacks/zod/commit/3809d54fc8c5dd0a0ce367bd2575fe3fdadf087d) Add superforms - [`d1ad522`](https://togithub.com/colinhacks/zod/commit/d1ad5221900af640bc3093a2fb0476ec0c94953e) Add transloadit - [`a3bb701`](https://togithub.com/colinhacks/zod/commit/a3bb701757127ffe05e773a2e449136b9b7efcb3) Testing on Typescript 5.0 ([#​2221](https://togithub.com/colinhacks/zod/issues/2221)) - [`51e14be`](https://togithub.com/colinhacks/zod/commit/51e14beeab2f469fcbf18e3df44653e1643f5487) docs: update deprecated link ([#​2219](https://togithub.com/colinhacks/zod/issues/2219)) - [`a263814`](https://togithub.com/colinhacks/zod/commit/a263814fc430db8d47430cd2884d2cea6b11c671) fixed Datetime & IP TOC links - [`502384e`](https://togithub.com/colinhacks/zod/commit/502384e56fe2b1f8173735df6c3b0d41bce04edc) docs: add mobx-zod-form to form integrations ([#​2299](https://togithub.com/colinhacks/zod/issues/2299)) - [`a8be450`](https://togithub.com/colinhacks/zod/commit/a8be4500851923aa865e009fe9c2855e80482047) docs: Add `zocker` to Ecosystem section ([#​2416](https://togithub.com/colinhacks/zod/issues/2416)) - [`15de22a`](https://togithub.com/colinhacks/zod/commit/15de22a3ba6144c7d8d2276e8e56174bcdfa7225) Allow subdomains and hyphens in `ZodString.email` ([#​2274](https://togithub.com/colinhacks/zod/issues/2274)) - [`00f5783`](https://togithub.com/colinhacks/zod/commit/00f5783602ccbe423deb0dbd76ecf13a276bc54d) Add `zod-openapi` to ecosystem ([#​2434](https://togithub.com/colinhacks/zod/issues/2434)) - [`0a17340`](https://togithub.com/colinhacks/zod/commit/0a17340e9fc4b909d10ca3687b6bc6454903ff21) docs: fix minor typo ([#​2439](https://togithub.com/colinhacks/zod/issues/2439)) - [`60a2134`](https://togithub.com/colinhacks/zod/commit/60a21346086d32ca9f39efc2771f5db37c835c03) Add masterborn - [`0a90ed1`](https://togithub.com/colinhacks/zod/commit/0a90ed1461dafa62ff50ce0d5d5434fd4a2a4a20) chore: move `exports.types` field to first spot @​ package.json. ([#​2443](https://togithub.com/colinhacks/zod/issues/2443)) - [`67f35b1`](https://togithub.com/colinhacks/zod/commit/67f35b16692ca33fd48adfec9ae83b9514f8a4b7) docs: allow Zod to be used in dev tools at site ([#​2432](https://togithub.com/colinhacks/zod/issues/2432)) - [`6795c57`](https://togithub.com/colinhacks/zod/commit/6795c574b1d34f6e95ae891f96d8b219b98ace92) Fix not working Deno doc link. ([#​2428](https://togithub.com/colinhacks/zod/issues/2428)) - [`37e9c55`](https://togithub.com/colinhacks/zod/commit/37e9c550460e4edd144da90d903e878c119c5cc1) Generalize uuidRegex - [`0969950`](https://togithub.com/colinhacks/zod/commit/09699501ff6218b3b0a7e382eca3c02a8226ce13) adds ctx to preprocess ([#​2426](https://togithub.com/colinhacks/zod/issues/2426)) - [`af08390`](https://togithub.com/colinhacks/zod/commit/af08390139cf9fd4fc9e398b60a39191bf224076) fix: super refinement function types ([#​2420](https://togithub.com/colinhacks/zod/issues/2420)) - [`36fef58`](https://togithub.com/colinhacks/zod/commit/36fef58410f4b2c9e79edabae2fc567a4aee13a7) Make email regex reasonable ([#​2157](https://togithub.com/colinhacks/zod/issues/2157)) - [`f627d14`](https://togithub.com/colinhacks/zod/commit/f627d14d3bfe3a680ac0d54705b2e63daa912aed) Document canary - [`e06321c`](https://togithub.com/colinhacks/zod/commit/e06321c15d22082e47c7c111a92ec7b3e104c644) docs: add tapiduck to API libraries ([#​2410](https://togithub.com/colinhacks/zod/issues/2410)) - [`11e507c`](https://togithub.com/colinhacks/zod/commit/11e507c4d3bf4ad3ab2057a0122168ed0048a2c4) docs: add ts as const example in zod enums ([#​2412](https://togithub.com/colinhacks/zod/issues/2412)) - [`5427565`](https://togithub.com/colinhacks/zod/commit/5427565c347a14056bc60e3ffd800b98753952bc) docs: add zod-fixture to mocking ecosystem ([#​2409](https://togithub.com/colinhacks/zod/issues/2409)) - [`d3bf7e6`](https://togithub.com/colinhacks/zod/commit/d3bf7e60a8eb706c4c63a9a91fd66565b82883cf) docs: add `zodock` to mocking ecosystem ([#​2394](https://togithub.com/colinhacks/zod/issues/2394)) - [`2270ae5`](https://togithub.com/colinhacks/zod/commit/2270ae563f7f14bed770f75d9c252880794fa71f) remove "as any" casts in createZodEnum ([#​2332](https://togithub.com/colinhacks/zod/issues/2332)) - [`00bdd0a`](https://togithub.com/colinhacks/zod/commit/00bdd0a7ffdf495af14e67ae1396c85a282c38dd) fix proto pollution vulnerability ([#​2239](https://togithub.com/colinhacks/zod/issues/2239)) - [`a3c5256`](https://togithub.com/colinhacks/zod/commit/a3c525658bc43edf40747a99b8f882d8d3d1e0c7) Fix error_handling unrecognized_keys example - [`4f75cbc`](https://togithub.com/colinhacks/zod/commit/4f75cbc682199a5411189f9cd9abba9af4924746) Adds getters to Map for key + value ([#​2356](https://togithub.com/colinhacks/zod/issues/2356)) - [`ca7b032`](https://togithub.com/colinhacks/zod/commit/ca7b03222764496d72085b1178fa22f4a57fe579) FMC ([#​2346](https://togithub.com/colinhacks/zod/issues/2346)) - [`6fec8bd`](https://togithub.com/colinhacks/zod/commit/6fec8bd3407f463f157522a3979b4d202870ba4c) docs: fix typo in link fragment ([#​2329](https://togithub.com/colinhacks/zod/issues/2329)) - [`16f90bd`](https://togithub.com/colinhacks/zod/commit/16f90bd22b465aca9a1fbad09248d80aa93fd824) Update README.md - [`2c80250`](https://togithub.com/colinhacks/zod/commit/2c802507d92d2d2e15be959695b1de78b896bfcb) Update readme - [`eaf64e0`](https://togithub.com/colinhacks/zod/commit/eaf64e09ba1a87dd6bf348fb97061894a01242d2) Update sponsors - [`c576311`](https://togithub.com/colinhacks/zod/commit/c5763112e2912390f3317d738e4261fa8747494e) Update readme - [`5e23b4f`](https://togithub.com/colinhacks/zod/commit/5e23b4fae4715c7391f9ceb4369421a034851b4c) Add `*.md` pattern to prettier ([#​2476](https://togithub.com/colinhacks/zod/issues/2476)) - [`898dced`](https://togithub.com/colinhacks/zod/commit/898dced470f1045b5469543abd2f427a713d93eb) Revamp tests - [`6309322`](https://togithub.com/colinhacks/zod/commit/6309322a28545e316299f8b9a36f43132d347300) Update test runners - [`c0aece1`](https://togithub.com/colinhacks/zod/commit/c0aece1672d1442d69ce1991142af8f16ed20ecb) Add vitest config - [`73a5610`](https://togithub.com/colinhacks/zod/commit/73a5610186c413872153e8dcac76c4c4f23dfe4e) Update script - [`8d8e1a2`](https://togithub.com/colinhacks/zod/commit/8d8e1a2d306cecaf3d8cb88f32fe3e130a834f9f) Fix deno test bug - [`9eb2508`](https://togithub.com/colinhacks/zod/commit/9eb2508fac78cc36faefd050e9616bb6d34814c1) Clean up configs - [`cfbc7b3`](https://togithub.com/colinhacks/zod/commit/cfbc7b3f6714ced250dd4053822faf472bf1828e) Fix root jest config - [`8677f68`](https://togithub.com/colinhacks/zod/commit/8677f688b0ab1bb5991e90744f46a15082772bd6) docs(comparison-yup): Yup added partial() and deepPartial() in v1 ([#​2603](https://togithub.com/colinhacks/zod/issues/2603)) - [`fb00edd`](https://togithub.com/colinhacks/zod/commit/fb00edd04ca338b8d791a96dead161076538c6c2) docs: add VeeValidate form library for Vue.js ([#​2578](https://togithub.com/colinhacks/zod/issues/2578)) - [`ab8e717`](https://togithub.com/colinhacks/zod/commit/ab8e71793431eeb163613007c134132e6c2ab078) docs: fix typo in z.object ([#​2570](https://togithub.com/colinhacks/zod/issues/2570)) - [`d870407`](https://togithub.com/colinhacks/zod/commit/d870407a020f9518fbae662f9f48a9aba005a3e2) docs: fix incomplete Records example ([#​2579](https://togithub.com/colinhacks/zod/issues/2579)) - [`5adae24`](https://togithub.com/colinhacks/zod/commit/5adae24e9b2fc98fc679defa8f78e4142d4c3451) docs: add conform form integration ([#​2577](https://togithub.com/colinhacks/zod/issues/2577)) - [`8b8ab3e`](https://togithub.com/colinhacks/zod/commit/8b8ab3e79691ebafbb9aac3ce089eaf0dcd6d8fe) Update README.md ([#​2562](https://togithub.com/colinhacks/zod/issues/2562)) - [`6aab901`](https://togithub.com/colinhacks/zod/commit/6aab9016873c12be08d19bcc097b3e5ba4c9d6fe) fix typo test name ([#​2542](https://togithub.com/colinhacks/zod/issues/2542)) - [`81a89f5`](https://togithub.com/colinhacks/zod/commit/81a89f593f4d6b05f770bbb3ad0fc98075f468dd) Update nullish documentation to correct chaining order ([#​2457](https://togithub.com/colinhacks/zod/issues/2457)) - [`78a4090`](https://togithub.com/colinhacks/zod/commit/78a409012a4dc34a455f5c4a7e028ca47c921e1b) docs: update comparison with `runtypes` ([#​2536](https://togithub.com/colinhacks/zod/issues/2536)) - [`1ecd624`](https://togithub.com/colinhacks/zod/commit/1ecd6241ef97b33ce229b49f1346ffeee5d0ba74) Fix prettier - [`981d4b5`](https://togithub.com/colinhacks/zod/commit/981d4b5e272e7e35ff44a31fbb5e8e90594b1933) Add ZodReadonly ([#​2634](https://togithub.com/colinhacks/zod/issues/2634)) - [`fba438c`](https://togithub.com/colinhacks/zod/commit/fba438cddea800b081a15aefc8b1efea2eccf7af) 3.22.0 ### [`v3.21.4`](https://togithub.com/colinhacks/zod/releases/tag/v3.21.4) [Compare Source](https://togithub.com/colinhacks/zod/compare/v3.21.3...v3.21.4) #### Commits: - [`22f3cc6`](https://togithub.com/colinhacks/zod/commit/22f3cc6ed52a28c984a0319a1a03e1af244cee02) 3.21.4 ### [`v3.21.3`](https://togithub.com/colinhacks/zod/releases/tag/v3.21.3) [Compare Source](https://togithub.com/colinhacks/zod/compare/v3.21.2...v3.21.3) #### Commits: - [`14c08d8`](https://togithub.com/colinhacks/zod/commit/14c08d87129c3b652f03d2e724979c383c55e0b4) added more `.pipe` examples - [`006e652`](https://togithub.com/colinhacks/zod/commit/006e6521f425b38e1fbb898e29921fe885caf7ba) Fix npm canary action paths pattern ([#​2148](https://togithub.com/colinhacks/zod/issues/2148)) - [`bdcff0f`](https://togithub.com/colinhacks/zod/commit/bdcff0f20f4c35dd6a44b1324711dfd34a41ae96) Remove logging in tests - [`a5830c6`](https://togithub.com/colinhacks/zod/commit/a5830c6d3fe28f0d5435cc9ff22846be7f5977c1) Reverted [#​1564](https://togithub.com/colinhacks/zod/issues/1564) - [`c458381`](https://togithub.com/colinhacks/zod/commit/c4583819e77a702e21b587c4bf081d0292f2b754) Fix tests - [`2db0dca`](https://togithub.com/colinhacks/zod/commit/2db0dcadc961fd57f7f10f9d9f55d67e6d040342) 3.21.3 ### [`v3.21.2`](https://togithub.com/colinhacks/zod/releases/tag/v3.21.2) [Compare Source](https://togithub.com/colinhacks/zod/compare/v3.21.1...v3.21.2) #### Commits: - [`b276d71`](https://togithub.com/colinhacks/zod/commit/b276d71eaefef6cb87c81e8429bd160e4b68c168) Improve typings in generics - [`4d016b7`](https://togithub.com/colinhacks/zod/commit/4d016b772b79d566bfa2a0c2fc5bfbd92b776982) Improve type inference in generics - [`f9895ab`](https://togithub.com/colinhacks/zod/commit/f9895ab1650ef3df9c598a8c43ede0160596ac2e) Improve types inside generic functions - [`ac0135e`](https://togithub.com/colinhacks/zod/commit/ac0135e00df75abd57a93a4816fe0fdaa31e94e8) Pass input into catchValue ### [`v3.21.1`](https://togithub.com/colinhacks/zod/releases/tag/v3.21.1) [Compare Source](https://togithub.com/colinhacks/zod/compare/v3.21.0...v3.21.1) #### Features Support for [ULID](https://togithub.com/ulid/spec) validation ```ts z.string().ulid(); ``` #### Commits: - [`4f89461`](https://togithub.com/colinhacks/zod/commit/4f8946182ee07eb7b5d40efa908b1715414e8929) Prettier - [`bd6527a`](https://togithub.com/colinhacks/zod/commit/bd6527a47a4626135dccac113a7b09f81b675edd) Update deps - [`126c77b`](https://togithub.com/colinhacks/zod/commit/126c77b3130d9a68032f72ac76dd9e1ccfd86c2c) added `toLowerCase` and `toUpperCase` back in for v3.21.0 - [`1749657`](https://togithub.com/colinhacks/zod/commit/174965739d17db348d445ab250fb2cf6bd7cdd51) Update README.md - [`dabe63d`](https://togithub.com/colinhacks/zod/commit/dabe63d15eb6d22246aa5d5c83b69d1d5f4c2f4b) updated `z.custom` example again :D - [`6b8f655`](https://togithub.com/colinhacks/zod/commit/6b8f6557d9b53ea7ad3fda753a51cdf153ba1fb7) docs: improve cn readme ([#​2143](https://togithub.com/colinhacks/zod/issues/2143)) - [`9012dc7`](https://togithub.com/colinhacks/zod/commit/9012dc7055e1467b6d619a6c0ad016fdfbde2b9c) add `.includes(value, options?)` @​ `ZodString`. ([#​1887](https://togithub.com/colinhacks/zod/issues/1887)) - [`67b981e`](https://togithub.com/colinhacks/zod/commit/67b981e70b4bacb2278a9aacd22d38cbb4b52d17) Make safeParse().error a getter - [`346fde0`](https://togithub.com/colinhacks/zod/commit/346fde03724bfd1601823e4f72470bc7e344030b) 3.21.0-canary.20230304T235951 - [`b50d871`](https://togithub.com/colinhacks/zod/commit/b50d871b2f5949587afdcce2375227a447dbb742) Add canary release CI - [`b20cca2`](https://togithub.com/colinhacks/zod/commit/b20cca230a6a9beb8acf841250641b62847b6e80) Fix canary - [`f7f5c50`](https://togithub.com/colinhacks/zod/commit/f7f5c50c65d7c7e5262c028e6832b92b14d84ea5) Move action to .github/workflows - [`f01fa0e`](https://togithub.com/colinhacks/zod/commit/f01fa0e48ca18630604366f5bc7401a18eb4d018) Try to fix canary CI - [`f5e8067`](https://togithub.com/colinhacks/zod/commit/f5e8067b2afcc3e5ae9f8ed389a31b83a7c3ceec) No git tag - [`5b304ae`](https://togithub.com/colinhacks/zod/commit/5b304ae41705105ae6edcacdb6dfdac9c527b3f4) No dry run - [`20df80e`](https://togithub.com/colinhacks/zod/commit/20df80e6ce2ac27f6e2f26b61cd1fd4c942b152d) Add tsc compilation test - [`ead93d3`](https://togithub.com/colinhacks/zod/commit/ead93d3cfde54efe952dc615c21ff179a00f7574) Document .pipe() - [`d8e8653`](https://togithub.com/colinhacks/zod/commit/d8e86534325fb00bc0193a4c6af04f2a67bd2e4e) Update headers - [`03c0ab1`](https://togithub.com/colinhacks/zod/commit/03c0ab1640ca9111d9fbac3c261e2f76e3cbf247) Cache the evaluation of ParseInputLazyPath.path() for a moderate perf improvement ([#​2137](https://togithub.com/colinhacks/zod/issues/2137)) - [`e7b3b7b`](https://togithub.com/colinhacks/zod/commit/e7b3b7bf493caeee7e4f043eea024e4d3badc090) Improve string docs - [`83478f5`](https://togithub.com/colinhacks/zod/commit/83478f5e413c333f07f53b9b4bb8c24b75e1cecf) Remove zod dep - [`2f1868d`](https://togithub.com/colinhacks/zod/commit/2f1868d0c17c0e401c4438d9d35e68f9685a741b) Specify paths for canary - [`e599966`](https://togithub.com/colinhacks/zod/commit/e599966709fe0253d6779ce1dec38a2adcebf41f) Add sponsors - [`950bd17`](https://togithub.com/colinhacks/zod/commit/950bd17f01668b45e592a678974437b15012b158) Tweak x.custom example - [`728e56a`](https://togithub.com/colinhacks/zod/commit/728e56a7e157cca8cdc0ab937f25a2412673c934) Close [#​2127](https://togithub.com/colinhacks/zod/issues/2127) - [`64883e4`](https://togithub.com/colinhacks/zod/commit/64883e4fe41b10eb577c4f9eaf6f24fa29bcd60d) feat: z.string().ulid() - add support for ulids ([#​2049](https://togithub.com/colinhacks/zod/issues/2049)) - [`e0d709b`](https://togithub.com/colinhacks/zod/commit/e0d709b1348efab06ac5341d360a411bc09eb7ba) 3.20.1 - [`9c33194`](https://togithub.com/colinhacks/zod/commit/9c3319443cfc953adc51786e8d6fe0bbe1e37f8e) Remove comments, clean up utils - [`942e2db`](https://togithub.com/colinhacks/zod/commit/942e2db8e51d580f4e3cd8c4c4af8bc6aecf4130) Fix tests ### [`v3.21.0`](https://togithub.com/colinhacks/zod/releases/tag/v3.21.0) [Compare Source](https://togithub.com/colinhacks/zod/compare/v3.20.6...v3.21.0) #### Features ##### `z.string().emoji()` Thanks [@​joseph-lozano](https://togithub.com/joseph-lozano) for [https://github.com/colinhacks/zod/pull/2045](https://togithub.com/colinhacks/zod/pull/2045)! To validate that all characters in a string are emoji: ```ts z.string().emoji() ``` ...if that's something you want to do for some reason. ##### `z.string().cuid2()` Thanks [@​joulev](https://togithub.com/joulev) for [https://github.com/colinhacks/zod/pull/1813](https://togithub.com/colinhacks/zod/pull/1813)! To validate [CUIDv2](https://togithub.com/paralleldrive/cuid2): ```ts z.string().cuid2() ``` ##### `z.string().ip()` Thanks [@​fvckDesa](https://togithub.com/fvckDesa) for [https://github.com/colinhacks/zod/pull/2066](https://togithub.com/colinhacks/zod/pull/2066). To validate that a string is a valid IP address: ```ts const v4IP = "122.122.122.122"; const v6IP = "6097:adfa:6f0b:220d:db08:5021:6191:7990"; // matches both IPv4 and IPv6 by default const ipSchema = z.string().ip(); ipSchema.parse(v4IP) // pass ipSchema.parse(v6IP) // pass ``` To specify a particular `version`: ```ts const ipv4Schema = z.string().ip({ version: "v4" }); const ipv6Schema = z.string().ip({ version: "v6" }); ``` ##### `z.bigint().{gt|gte|lt|lte}()` Thanks [@​igalklebanov](https://togithub.com/igalklebanov) for [`#1711`](https://togithub.com/colinhacks/zod/pull/1711)! `ZodBigInt` gets the same set of methods found on `ZodNumber`: ```ts z.bigint().gt(BigInt(5)); z.bigint().gte(BigInt(5)); z.bigint().lt(BigInt(5)); z.bigint().lte(BigInt(5)); z.bigint().positive(); z.bigint().negative(); z.bigint().nonnegative(); z.bigint().nonpositive(); z.bigint().multipleOf(BigInt(5)); ``` ##### `z.enum(...).extract()` and `z.enum(...).exclude()` Thanks [@​santosmarco-caribou](https://togithub.com/santosmarco-caribou) for [https://github.com/colinhacks/zod/pull/1652](https://togithub.com/colinhacks/zod/pull/1652)! To add or remove elements from a `ZodEnum`: ```ts const FoodEnum = z.enum(["Pasta", "Pizza", "Tacos", "Burgers", "Salad"]); const ItalianEnum = FoodEnum.extract(["Pasta", "Pizza"]); // ZodEnum<["Pasta", "Pizza"]> const UnhealthyEnum = FoodEnum.exclude(["Salad"]); // ZodEnum<["Pasta", "Pizza", "Tacos", "Burgers"]> ``` This API is inspired by the [`Exclude`](https://www.typescriptlang.org/docs/handbook/utility-types.html#excludeuniontype-excludedmembers) and [`Extract`](https://www.typescriptlang.org/docs/handbook/utility-types.html#extracttype-union) TypeScript built-ins. ##### Pass a function to `.catch()` Thanks [@​0xWryth](https://togithub.com/0xWryth) for [https://github.com/colinhacks/zod/pull/2087](https://togithub.com/colinhacks/zod/pull/2087)! The `.catch()` method now accepts a function that receives the caught error: ```ts const numberWithErrorCatch = z.number().catch((ctx) => { ctx.error; // ZodError return 42; }); ``` #### Compiler performance Zod 3.20.2 introduced an accidental type recursion that caused long compilation times for some users. These kinds of bugs are very hard to diagnose. Big shoutout to [@​gydroperit](https://togithub.com/gydroperit) for some heroic efforts here: [https://github.com/colinhacks/zod/pull/2107](https://togithub.com/colinhacks/zod/pull/2107) Zod 3.21 resolves these issues: - [https://github.com/colinhacks/zod/issues/2142](https://togithub.com/colinhacks/zod/issues/2142) - [https://github.com/colinhacks/zod/issues/1741](https://togithub.com/colinhacks/zod/issues/1741) - https://stackoverflow.com/questions/74881472/slow-typescript-autocompletion-in-vs-code-for-zod #### Commits: - [`3c54461`](https://togithub.com/colinhacks/zod/commit/3c54461d7a649bf727aec59367eefb214ffe24fe) fix typo in readme - [`c244fb6`](https://togithub.com/colinhacks/zod/commit/c244fb6c57506fd11609106960639de26ddf9b6d) feat: z.string().emoji() ([#​2045](https://togithub.com/colinhacks/zod/issues/2045)) - [`39cbb69`](https://togithub.com/colinhacks/zod/commit/39cbb6971c3dca09cbc0acdca2d3995dfd26aab2) Fix emoji validation, fix lint - [`d8f07bb`](https://togithub.com/colinhacks/zod/commit/d8f07bbfffd255b0aee6b5fe9bb6aa2bce6586af) Fix emoji - [`9b7dd81`](https://togithub.com/colinhacks/zod/commit/9b7dd816e92e16ca735e488b77e280a92a84ed64) Improve variable name clarity ([#​2048](https://togithub.com/colinhacks/zod/issues/2048)) - [`5cec187`](https://togithub.com/colinhacks/zod/commit/5cec1871ac21627608af6c07585d5e50ff30f281) Add documentation for the param parameter of z.custom - [`654f529`](https://togithub.com/colinhacks/zod/commit/654f52969a968c630af816dcad0d8f3721f9001a) Merge pull request [#​2057](https://togithub.com/colinhacks/zod/issues/2057) from trygveaa/add-documentation-for-z-custom-params - [`981af65`](https://togithub.com/colinhacks/zod/commit/981af6503ee1be530fe525ac77ba95e1904ce24a) Merge pull request [#​2019](https://togithub.com/colinhacks/zod/issues/2019) from vbud/patch-1 - [`a7c2969`](https://togithub.com/colinhacks/zod/commit/a7c2969b9125df0fbfa65e8541a974eeaf53b6a6) Update error_handling - [`8f3d028`](https://togithub.com/colinhacks/zod/commit/8f3d0283ba75d146d5199fe3dc140eeb5402352c) BRAND Record to Non Partial ([#​2097](https://togithub.com/colinhacks/zod/issues/2097)) - [`5ec98e1`](https://togithub.com/colinhacks/zod/commit/5ec98e1c4420957f93a7388bf49fb01d91bcbcd0) Fix email issues in pull request [#​1982](https://togithub.com/colinhacks/zod/issues/1982) ([#​2058](https://togithub.com/colinhacks/zod/issues/2058)) - [`7d40ba5`](https://togithub.com/colinhacks/zod/commit/7d40ba58931130ec965be9d65d14e0665ee9c379) feat([#​2059](https://togithub.com/colinhacks/zod/issues/2059)): z.string.ip() - add support for IP address ([#​2066](https://togithub.com/colinhacks/zod/issues/2066)) - [`e559605`](https://togithub.com/colinhacks/zod/commit/e5596054cfddf8aa1ba8d7d3bad63552a2bf9b6a) feat: add `.catch` error ([#​2087](https://togithub.com/colinhacks/zod/issues/2087)) - [`defdab9`](https://togithub.com/colinhacks/zod/commit/defdab9c163d9a994f927a0644ab4ec172513fcb) Fix record tests - [`8de36eb`](https://togithub.com/colinhacks/zod/commit/8de36eb17d9477ada75cea2164d6b47079dd0444) FIX: emoji regex and tests ([#​2090](https://togithub.com/colinhacks/zod/issues/2090)) - [`16beeb5`](https://togithub.com/colinhacks/zod/commit/16beeb598039b33bc5a209956042d858abacca34) lowercase method for ZodString ([#​2038](https://togithub.com/colinhacks/zod/issues/2038)) - [`75cb9e8`](https://togithub.com/colinhacks/zod/commit/75cb9e814115a35c0b4cc2e970f6aaae90e1a13c) add checks @​ `ZodBigInt`. ([#​1711](https://togithub.com/colinhacks/zod/issues/1711)) - [`c4d4e49`](https://togithub.com/colinhacks/zod/commit/c4d4e494227aadc752d4d5a5a317ec16bb6f5a45) Update ERROR_HANDLING.md ([#​2022](https://togithub.com/colinhacks/zod/issues/2022)) - [`d6f0890`](https://togithub.com/colinhacks/zod/commit/d6f08908b17ea10456befc2231a867d5cea02a0e) added link to deno land - [`4cf1960`](https://togithub.com/colinhacks/zod/commit/4cf19606870e66bf4307984bf99a4bef495c7818) Refactoring of ZodFormattedError type to improve tsc check time ([#​2107](https://togithub.com/colinhacks/zod/issues/2107)) - [`867a921`](https://togithub.com/colinhacks/zod/commit/867a921a93160780d9f3aeddabf1ca49758a3c1e) Bump http-cache-semantics from 4.1.0 to 4.1.1 ([#​1985](https://togithub.com/colinhacks/zod/issues/1985)) - [`edc3a67`](https://togithub.com/colinhacks/zod/commit/edc3a67e77d33979b3ee9e071557b4ca53298c55) Deprecate deepPartial - [`e59f639`](https://togithub.com/colinhacks/zod/commit/e59f639d3bb5cca65ef239d5dd5c93e74ce4a801) Add custom tests - [`a6b44ed`](https://togithub.com/colinhacks/zod/commit/a6b44ed8e346af2fabbb62b5164b99a387accd32) Remove logging - [`a1fc3fb`](https://togithub.com/colinhacks/zod/commit/a1fc3fb815051beb4b7030969828aa6abe469c2c) commented out `toLowerCase` and `toUpperCase` - [`e71cc52`](https://togithub.com/colinhacks/zod/commit/e71cc523b1865568c4db45f82789e5c86bed0f12) Update README_ZH.md ([#​2139](https://togithub.com/colinhacks/zod/issues/2139)) - [`3af38fb`](https://togithub.com/colinhacks/zod/commit/3af38fbe2cb114219e688103e41e382e28ec7a80) add `ZodNumber.safe()` & `ZodNumber.isSafe`. ([#​1753](https://togithub.com/colinhacks/zod/issues/1753)) - [`6ef82ee`](https://togithub.com/colinhacks/zod/commit/6ef82ee1e45dbcfc92a2ed359b1d2ae87d54c43d) Add benchmark flags - [`5463593`](https://togithub.com/colinhacks/zod/commit/5463593385549452768e060a98cc0fd8988760d2) Support brands in recursive types - [`8074523`](https://togithub.com/colinhacks/zod/commit/80745238937adc06c5b4eab19ef273ca9f7f2de8) Update readme - [`b6794a4`](https://togithub.com/colinhacks/zod/commit/b6794a4981b8621fee84642f5313464f5e8f9a22) Add index signature for passthrough - [`3c6cdd2`](https://togithub.com/colinhacks/zod/commit/3c6cdd245ab73d7ca1461a18b5be2da07abe6b6b) Make generic optional in objectOutputType - [`bc43ad1`](https://togithub.com/colinhacks/zod/commit/bc43ad18e64cf7add23e90bc6b07d5bba8370e5e) Fix rollup build - [`6a0545a`](https://togithub.com/colinhacks/zod/commit/6a0545acd5b9cfc40b0b3f04e64bfc5dd789d1b1) 3.21.0 - [`7c07339`](https://togithub.com/colinhacks/zod/commit/7c0733968d64c7d7aebc1ae54ca90aadcb2bffc3) Fix brand - [`0aa6021`](https://togithub.com/colinhacks/zod/commit/0aa6021ef3628bb39715bdda416be2c6a4951141) Clean up tests ### [`v3.20.6`](https://togithub.com/colinhacks/zod/releases/tag/v3.20.6) [Compare Source](https://togithub.com/colinhacks/zod/compare/v3.20.5...v3.20.6) #### Commits: - [`e693919`](https://togithub.com/colinhacks/zod/commit/e6939195fbb5191402ba3d6f5b7aade463de6e51) 3.20.6 ### [`v3.20.5`](https://togithub.com/colinhacks/zod/releases/tag/v3.20.5) [Compare Source](https://togithub.com/colinhacks/zod/compare/v3.20.4...v3.20.5) #### Commits: - [`e71c7be`](https://togithub.com/colinhacks/zod/commit/e71c7be15e393e0932aa3c939d061f8444f6ae29) Fix extract/exclude type error ### [`v3.20.4`](https://togithub.com/colinhacks/zod/releases/tag/v3.20.4) [Compare Source](https://togithub.com/colinhacks/zod/compare/v3.20.3...v3.20.4) #### Commits: - [`b8d731f`](https://togithub.com/colinhacks/zod/commit/b8d731f779679e6f47cde18b2c422b0d4f44b01d) Set input type of ZodCatch to unknown - [`06c237c`](https://togithub.com/colinhacks/zod/commit/06c237c29f53a827d2eb29cb20e9e23caba1ce2c) Revert merge changes - [`c8ce27e`](https://togithub.com/colinhacks/zod/commit/c8ce27e8c0378856964cf8892c6102bde63fa0cb) 3.20.4 ### [`v3.20.3`](https://togithub.com/colinhacks/zod/releases/tag/v3.20.3) [Compare Source](https://togithub.com/colinhacks/zod/compare/v3.20.2...v3.20.3) #### Features - Add string cuid2() validation by [@​joulev](https://togithub.com/joulev) in [https://github.com/colinhacks/zod/pull/1813](https://togithub.com/colinhacks/zod/pull/1813) - Add `ZodNumber.isFinite`, make `ZodNumber.isInt` true if `.multipleOf(int)`. by [@​igalklebanov](https://togithub.com/igalklebanov) in [https://github.com/colinhacks/zod/pull/1714](https://togithub.com/colinhacks/zod/pull/1714) - feat: Add `extract`/`exclude` methods to `ZodEnum` by [@​santosmarco-caribou](https://togithub.com/santosmarco-caribou) in [https://github.com/colinhacks/zod/pull/1652](https://togithub.com/colinhacks/zod/pull/1652) #### Fixes and documentation - add more test cases for `z.coerce`. by [@​igalklebanov](https://togithub.com/igalklebanov) in [https://github.com/colinhacks/zod/pull/1680](https://togithub.com/colinhacks/zod/pull/1680) - Add Modular Forms to form integrations in README by [@​fabian-hiller](https://togithub.com/fabian-hiller) in [https://github.com/colinhacks/zod/pull/1695](https://togithub.com/colinhacks/zod/pull/1695) - docs: Instruct users to return z.NEVER in .superRefine() when providing a type predicate by [@​zetaraku](https://togithub.com/zetaraku) in [https://github.com/colinhacks/zod/pull/1742](https://togithub.com/colinhacks/zod/pull/1742) - Fix small typo in ERROR_HANDLING.md by [@​t-shiratori](https://togithub.com/t-shiratori) in [https://github.com/colinhacks/zod/pull/1720](https://togithub.com/colinhacks/zod/pull/1720) - Improve accuracy of the `isAsync` type guard by [@​aaronccasanova](https://togithub.com/aaronccasanova) in [https://github.com/colinhacks/zod/pull/1719](https://togithub.com/colinhacks/zod/pull/1719) - fix: Fix `ZodCatch` by [@​santosmarco-caribou](https://togithub.com/santosmarco-caribou) in [https://github.com/colinhacks/zod/pull/1733](https://togithub.com/colinhacks/zod/pull/1733) - Fix datetime offset without comma by [@​ooga](https://togithub.com/ooga) in [https://github.com/colinhacks/zod/pull/1749](https://togithub.com/colinhacks/zod/pull/1749) - Discriminated union example fails to parse by [@​matthewfallshaw](https://togithub.com/matthewfallshaw) in [https://github.com/colinhacks/zod/pull/1713](https://togithub.com/colinhacks/zod/pull/1713) - fix: \[[#​1693](https://togithub.com/colinhacks/zod/issues/1693)] Tuple with empty items by [@​metuan](https://togithub.com/metuan) in [https://github.com/colinhacks/zod/pull/1712](https://togithub.com/colinhacks/zod/pull/1712) - fix: [#​1668](https://togithub.com/colinhacks/zod/issues/1668) email regex safari compat by [@​AnatoleLucet](https://togithub.com/AnatoleLucet) in [https://github.com/colinhacks/zod/pull/1683](https://togithub.com/colinhacks/zod/pull/1683) - docs: fix typo by [@​zetaraku](https://togithub.com/zetaraku) in [https://github.com/colinhacks/zod/pull/1699](https://togithub.com/colinhacks/zod/pull/1699) - fix installation links in table of contents by [@​DetachHead](https://togithub.com/DetachHead) in [https://github.com/colinhacks/zod/pull/1700](https://togithub.com/colinhacks/zod/pull/1700) - Updated `deno/lib/README.md` to match `zod/README.md` by [@​JacobWeisenburger](https://togithub.com/JacobWeisenburger) in [https://github.com/colinhacks/zod/pull/1791](https://togithub.com/colinhacks/zod/pull/1791) - fix([#​1743](https://togithub.com/colinhacks/zod/issues/1743)): Fix passing params in root class by [@​santosmarco-caribou](https://togithub.com/santosmarco-caribou) in [https://github.com/colinhacks/zod/pull/1756](https://togithub.com/colinhacks/zod/pull/1756) - change the chaining order of nullish method by [@​p10ns11y](https://togithub.com/p10ns11y) in [https://github.com/colinhacks/zod/pull/1702](https://togithub.com/colinhacks/zod/pull/1702) - Propagate custom error type to ZodFormattedError subfields by [@​carlgieringer](https://togithub.com/carlgieringer) in [https://github.com/colinhacks/zod/pull/1617](https://togithub.com/colinhacks/zod/pull/1617) - fix deno literal test. by [@​igalklebanov](https://togithub.com/igalklebanov) in [https://github.com/colinhacks/zod/pull/1794](https://togithub.com/colinhacks/zod/pull/1794) - Document `.describe()` by [@​rattrayalex](https://togithub.com/rattrayalex) in [https://github.com/colinhacks/zod/pull/1819](https://togithub.com/colinhacks/zod/pull/1819) - update homepage link in package.json by [@​Gpx](https://togithub.com/Gpx) in [https://github.com/colinhacks/zod/pull/1830](https://togithub.com/colinhacks/zod/pull/1830) - fix: compile error in sample code by [@​jtgi](https://togithub.com/jtgi) in [https://github.com/colinhacks/zod/pull/1822](https://togithub.com/colinhacks/zod/pull/1822) - Readme: Move "Coercion for primitives" section by [@​tordans](https://togithub.com/tordans) in [https://github.com/colinhacks/zod/pull/1842](https://togithub.com/colinhacks/zod/pull/1842) - Readme: Add internal links "or" <-> "union" by [@​tordans](https://togithub.com/tordans) in [https://github.com/colinhacks/zod/pull/1846](https://togithub.com/colinhacks/zod/pull/1846) - Readme: Add example for string validation for an optional field to chapter "Unions" by [@​tordans](https://togithub.com/tordans) in [https://github.com/colinhacks/zod/pull/1849](https://togithub.com/colinhacks/zod/pull/1849) - Readme: Add intro to chapter Literals by [@​tordans](https://togithub.com/tordans) in [https://github.com/colinhacks/zod/pull/1877](https://togithub.com/colinhacks/zod/pull/1877) - fix: faker.js link in readme by [@​markacola](https://togithub.com/markacola) in [https://github.com/colinhacks/zod/pull/1843](https://togithub.com/colinhacks/zod/pull/1843) - Minor typo fix by [@​iamchandru6470](https://togithub.com/iamchandru6470) in [https://github.com/colinhacks/zod/pull/1945](https://togithub.com/colinhacks/zod/pull/1945) - chore(documentation): Update CHANGELOG to redirect to Github Releases by [@​mitchwd](https://togithub.com/mitchwd) in [https://github.com/colinhacks/zod/pull/1936](https://togithub.com/colinhacks/zod/pull/1936) - fix: \[[#​1839](https://togithub.com/colinhacks/zod/issues/1839)] remove caught errors from issues by [@​maxArturo](https://togithub.com/maxArturo) in [https://github.com/colinhacks/zod/pull/1926](https://togithub.com/colinhacks/zod/pull/1926) - fix: \[[#​1784](https://togithub.com/colinhacks/zod/issues/1784)] dark mode in the documentation by [@​fvckDesa](https://togithub.com/fvckDesa) in [https://github.com/colinhacks/zod/pull/1932](https://togithub.com/colinhacks/zod/pull/1932) - Allow also "\[+-]hh" as datetime offset by [@​rafw87](https://togithub.com/rafw87) in [https://github.com/colinhacks/zod/pull/1797](https://togithub.com/colinhacks/zod/pull/1797) - Feature/add resolves method to zod promise by [@​bolencki13](https://togithub.com/bolencki13) in [https://github.com/colinhacks/zod/pull/1871](https://togithub.com/colinhacks/zod/pull/1871) - test: add benchmark tests for date and symbol by [@​pnts-se](https://togithub.com/pnts-se) in [https://github.com/colinhacks/zod/pull/1796](https://togithub.com/colinhacks/zod/pull/1796) - export the email regex by [@​andresBobsled](https://togithub.com/andresBobsled) in [https://github.com/colinhacks/zod/pull/2007](https://togithub.com/colinhacks/zod/pull/2007) - Add React form validation library to ecosystem by [@​crutchcorn](https://togithub.com/crutchcorn) in [https://github.com/colinhacks/zod/pull/1999](https://togithub.com/colinhacks/zod/pull/1999) - fix: make sure only mask keys with truthy values are respected at runtime @​ `.pick`, `.omit`, `.partial` & `.required`. by [@​igalklebanov](https://togithub.com/igalklebanov) in [https://github.com/colinhacks/zod/pull/1875](https://togithub.com/colinhacks/zod/pull/1875) - fix: failing prettier checks on merge by [@​maxArturo](https://togithub.com/maxArturo) in [https://github.com/colinhacks/zod/pull/1969](https://togithub.com/colinhacks/zod/pull/1969) - deny unexpected keys @​ `ZodObject`'s `.omit(mask)`,`.pick(mask)`,`.required(mask)` & `.partial(mask)` at compile time. by [@​igalklebanov](https://togithub.com/igalklebanov) in [https://github.com/colinhacks/zod/pull/1564](https://togithub.com/colinhacks/zod/pull/1564) - docs: punctuation by [@​jly36963](https://togithub.com/jly36963) in [https://github.com/colinhacks/zod/pull/1973](https://togithub.com/colinhacks/zod/pull/1973) - fix\[[#​1979](https://togithub.com/colinhacks/zod/issues/1979)]: Increment Email validation by [@​fvckDesa](https://togithub.com/fvckDesa) in [https://github.com/colinhacks/zod/pull/1982](https://togithub.com/colinhacks/zod/pull/1982) - test: additional unit-tests for object by [@​pnts-se](https://togithub.com/pnts-se) in [https://github.com/colinhacks/zod/pull/1729](https://togithub.com/colinhacks/zod/pull/1729) #### New Contributors - [@​fabian-hiller](https://togithub.com/fabian-hiller) made their first contribution in [https://github.com/colinhacks/zod/pull/1695](https://togithub.com/colinhacks/zod/pull/1695) - [@​zetaraku](https://togithub.com/zetaraku) made their first contribution in [https://github.com/colinhacks/zod/pull/1742](https://togithub.com/colinhacks/zod/pull/1742) - [@​t-shiratori](https://togithub.com/t-shiratori) made their first contribution in [https://github.com/colinhacks/zod/pull/1720](https://togithub.com/colinhacks/zod/pull/1720) - [@​aaronccasanova](https://togithub.com/aaronccasanova) made their first contribution in [https://github.com/colinhacks/zod/pull/1719](https://togithub.com/colinhacks/zod/pull/1719) - [@​ooga](https://togithub.com/ooga) made their first contribution in [https://github.com/colinhacks/zod/pull/1749](https://togithub.com/colinhacks/zod/pull/1749) - [@​matthewfallshaw](https://togithub.com/matthewfallshaw) made their first contribution in [https://github.com/colinhacks/zod/pull/1713](https://togithub.com/colinhacks/zod/pull/1713) - [@​metuan](https://togithub.com/metuan) made their first contribution in [https://github.com/colinhacks/zod/pull/1712](https://togithub.com/colinhacks/zod/pull/1712) - [@​AnatoleLucet](https://togithub.com/AnatoleLucet) made their first contribution in [https://github.com/colinhacks/zod/pull/1683](https://togithub.com/colinhacks/zod/pull/1683) - [@​DetachHead](https://togithub.com/DetachHead) made their first contribution in [https://github.com/colinhacks/zod/pull/1700](https://togithub.com/colinhacks/zod/pull/1700) - [@​p10ns11y](https://togithub.com/p10ns11y) made their first contribution in [https://github.com/colinhacks/zod/pull/1702](https://togithub.com/colinhacks/zod/pull/1702) - [@​carlgieringer](https://togithub.com/carlgieringer) made their first contribution in [https://github.com/colinhacks/zod/pull/1617](https://togithub.com/colinhacks/zod/pull/1617) - [@​rattrayalex](https://togithub.com/rattrayalex) made their first contribution in [https://github.com/colinhacks/zod/pull/1819](https://togithub.com/colinhacks/zod/pull/1819) - [@​Gpx](https://togithub.com/Gpx) made their first contribution in [https://github.com/colinhacks/zod/pull/1830](https://togithub.com/colinhacks/zod/pull/1830) - [@​jtgi](https://togithub.com/jtgi) made their first contribution in [https://github.com/colinhacks/zod/pull/1822](https://togithub.com/colinhacks/zod/pull/1822) - [@​tordans](https://togithub.com/tordans) made their first contribution in [https://github.com/colinhacks/zod/pull/1842](https://togithub.com/colinhacks/zod/pull/1842) - [@​markacola](https://togithub.com/markacola) made their first contribution in [https://github.com/colinhacks/zod/pull/1843](https://togithub.com/colinhacks/zod/pull/1843) - [@​iamchandru6470](https://togithub.com/iamchandru6470) made their first contribution in [https://github.com/colinhacks/zod/pull/1945](https://togithub.com/colinhacks/zod/pull/1945) - [@​mitchwd](https://togithub.com/mitchwd) made their first contribution in [https://github.com/colinhacks/zod/pull/1936](https://togithub.com/colinhacks/zod/pull/1936) - [@​fvckDesa](https://togithub.com/fvckDesa) made their first contribution in [https://github.com/colinhacks/zod/pull/1932](https://togithub.com/colinhacks/zod/pull/1932) - [@​rafw87](https://togithub.com/rafw87) made their first contribution in [https://github.com/colinhacks/zod/pull/1797](https://togithub.com/colinhacks/zod/pull/1797) - [@​bolencki13](https://togithub.com/bolencki13) made their first contribution in [https://github.com/colinhacks/zod/pull/1871](https://togithub.com/colinhacks/zod/pull/1871) - [@​joulev](https://togithub.com/joulev) made their first contribution in [https://github.com/colinhacks/zod/pull/1813](https://togithub.com/colinhacks/zod/pull/1813) - [@​pnts-se](https://togithub.com/pnts-se) made their first contribution in [https://github.com/colinhacks/zod/pull/1796](https://togithub.com/colinhacks/zod/pull/1796) - [@​andresBobsled](https://togithub.com/andresBobsled) made their first contribution in [https://github.com/colinhacks/zod/pull/2007](https://togithub.com/colinhacks/zod/pull/2007) - [@​crutchcorn](https://togithub.com/crutchcorn) made their first contribution in [https://github.com/colinhacks/zod/pull/1999](https://togithub.com/colinhacks/zod/pull/1999) - [@​jly36963](https://togithub.com/jly36963) made their first contribution in [https://github.com/colinhacks/zod/pull/1973](https://togithub.com/colinhacks/zod/pull/1973) **Full Changelog**: https://github.com/colinhacks/zod/compare/v3.20.2...v3.20.3 ### [`v3.20.2`](https://togithub.com/colinhacks/zod/releases/tag/v3.20.2) [Compare Source](https://togithub.com/colinhacks/zod/compare/v3.20.1...v3.20.2) ##### Commits: - [`d7d49e7`](https://togithub.com/colinhacks/zod/commit/d7d49e77ccd758ee874f7866862840f88f75cbb6) Clarify boolean coercion - [`f49cbcb`](https://togithub.com/colinhacks/zod/commit/f49cbcb38f7e58e37480ded0f8f558c85de1ce3a) Fix formatting - [`0b62f8c`](https://togithub.com/colinhacks/zod/commit/0b62f8c0c1722a15bd8afbc003e78fe7a177b2a2) Revert email regex changes - [`68919aa`](https://togithub.com/colinhacks/zod/commit/68919aa1790fcb729385a4b290ee03b3d8df0d86) 3.20.2 - [`c9e4ed4`](https://togithub.com/colinhacks/zod/commit/c9e4ed4095d77f5b43a5ba11d8f76b56ea48e5c6) Fix string test ### [`v3.20.1`](https://togithub.com/colinhacks/zod/releases/tag/v3.20.1) [Compare Source](https://togithub.com/colinhacks/zod/compare/v3.20.0...v3.20.1) #### Commits: - [`1298d26`](https://togithub.com/colinhacks/zod/commit/1298d26115e09cf097cb272cfc3184484eb64fd1) Update readme - [`b3b0ecf`](https://togithub.com/colinhacks/zod/commit/b3b0ecfcb8d2314cf3e6cbd78056c5410650c348) Only call .catch() method when parsing fails ([#​1674](https://togithub.com/colinhacks/zod/issues/1674)) - [`957b55b`](https://togithub.com/colinhacks/zod/commit/957b55b82d19707888a4914670c8cf8563911425) Fixing ZodString::isDatetime. ([#​1678](https://togithub.com/colinhacks/zod/issues/1678)) - [`29ec1f8`](https://togithub.com/colinhacks/zod/commit/29ec1f8d99836d8bb0661cac8641d4b4094aaf40) Add default - [`1161b8f`](https://togithub.com/colinhacks/zod/commit/1161b8f77e8ef120f9a0fca6e1ca223538d8ffc4) 3.20.1 ### [`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 </details> --- ### Configuration π **Schedule**: Branch creation - "" (UTC), Automerge - At any time (no schedule defined). π¦ **Automerge**: Disabled by config. Please merge this manually once you are satisfied. β» **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. π **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/Garlic-Team/gcommands). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjMiLCJ1cGRhdGVkSW5WZXIiOiIzNy4yMjcuMiIsInRhcmdldEJyYW5jaCI6Im5leHQifQ==-->
- Loading branch information