Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(#2059): z.string.ip() - add support for IP address #2066

Merged
merged 5 commits into from
Feb 26, 2023
Merged

feat(#2059): z.string.ip() - add support for IP address #2066

merged 5 commits into from
Feb 26, 2023

Conversation

fvckDesa
Copy link
Contributor

@fvckDesa fvckDesa commented Feb 19, 2023

This pull request solves #2059 adding IP Address validation in zod string

  • Basic implementation
  • Choose what type of ip
  • Add IPv6 address
  • Add ip to docs

@netlify
Copy link

netlify bot commented Feb 19, 2023

Deploy Preview for guileless-rolypoly-866f8a ready!

Name Link
🔨 Latest commit 1808f47
🔍 Latest deploy log https://app.netlify.com/sites/guileless-rolypoly-866f8a/deploys/63fbcbdfe0c31d00085b7bcf
😎 Deploy Preview https://deploy-preview-2066--guileless-rolypoly-866f8a.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.

If the version is not defined, the check goes
for a valid IP whether it is version 4 or 6
@fvckDesa fvckDesa marked this pull request as ready for review February 21, 2023 21:36
@colinhacks
Copy link
Owner

Immaculate.

@colinhacks colinhacks merged commit 7d40ba5 into colinhacks:master Feb 26, 2023
@fvckDesa fvckDesa deleted the ip_validation branch February 27, 2023 14:55
kodiakhq bot referenced this pull request in weareinreach/InReach Mar 6, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@crowdin/crowdin-api-client](https://github.com/crowdin/crowdin-api-client-js) | [`1.21.2` -> `1.22.0`](https://renovatebot.com/diffs/npm/@crowdin%2fcrowdin-api-client/1.21.2/1.22.0) | [![age](https://badges.renovateapi.com/packages/npm/@crowdin%2fcrowdin-api-client/1.22.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@crowdin%2fcrowdin-api-client/1.22.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@crowdin%2fcrowdin-api-client/1.22.0/compatibility-slim/1.21.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@crowdin%2fcrowdin-api-client/1.22.0/confidence-slim/1.21.2)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/main/addons/a11y) ([source](https://github.com/storybookjs/storybook)) | [`7.0.0-beta.61` -> `7.0.0-beta.62`](https://renovatebot.com/diffs/npm/@storybook%2faddon-a11y/7.0.0-beta.61/7.0.0-beta.62) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-a11y/7.0.0-beta.62/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-a11y/7.0.0-beta.62/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-a11y/7.0.0-beta.62/compatibility-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-a11y/7.0.0-beta.62/confidence-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/main/addons/actions) ([source](https://github.com/storybookjs/storybook)) | [`7.0.0-beta.61` -> `7.0.0-beta.62`](https://renovatebot.com/diffs/npm/@storybook%2faddon-actions/7.0.0-beta.61/7.0.0-beta.62) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-actions/7.0.0-beta.62/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-actions/7.0.0-beta.62/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-actions/7.0.0-beta.62/compatibility-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-actions/7.0.0-beta.62/confidence-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-docs](https://github.com/storybookjs/storybook/tree/main/addons/docs) ([source](https://github.com/storybookjs/storybook)) | [`7.0.0-beta.61` -> `7.0.0-beta.62`](https://renovatebot.com/diffs/npm/@storybook%2faddon-docs/7.0.0-beta.61/7.0.0-beta.62) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-docs/7.0.0-beta.62/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-docs/7.0.0-beta.62/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-docs/7.0.0-beta.62/compatibility-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-docs/7.0.0-beta.62/confidence-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/main/addons/essentials) ([source](https://github.com/storybookjs/storybook)) | [`7.0.0-beta.61` -> `7.0.0-beta.62`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/7.0.0-beta.61/7.0.0-beta.62) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-essentials/7.0.0-beta.62/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-essentials/7.0.0-beta.62/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-essentials/7.0.0-beta.62/compatibility-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-essentials/7.0.0-beta.62/confidence-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-interactions](https://github.com/storybookjs/storybook/tree/main/addons/interactions) ([source](https://github.com/storybookjs/storybook)) | [`7.0.0-beta.61` -> `7.0.0-beta.62`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/7.0.0-beta.61/7.0.0-beta.62) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-interactions/7.0.0-beta.62/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-interactions/7.0.0-beta.62/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-interactions/7.0.0-beta.62/compatibility-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-interactions/7.0.0-beta.62/confidence-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/main/addons/links) ([source](https://github.com/storybookjs/storybook)) | [`7.0.0-beta.61` -> `7.0.0-beta.62`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/7.0.0-beta.61/7.0.0-beta.62) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-links/7.0.0-beta.62/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-links/7.0.0-beta.62/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-links/7.0.0-beta.62/compatibility-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-links/7.0.0-beta.62/confidence-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-viewport](https://github.com/storybookjs/storybook/tree/main/addons/viewport) ([source](https://github.com/storybookjs/storybook)) | [`7.0.0-beta.61` -> `7.0.0-beta.62`](https://renovatebot.com/diffs/npm/@storybook%2faddon-viewport/7.0.0-beta.61/7.0.0-beta.62) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-viewport/7.0.0-beta.62/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-viewport/7.0.0-beta.62/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-viewport/7.0.0-beta.62/compatibility-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-viewport/7.0.0-beta.62/confidence-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/nextjs](https://github.com/storybookjs/storybook/tree/next/code/frameworks/nextjs) ([source](https://github.com/storybookjs/storybook)) | [`7.0.0-beta.61` -> `7.0.0-beta.62`](https://renovatebot.com/diffs/npm/@storybook%2fnextjs/7.0.0-beta.61/7.0.0-beta.62) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2fnextjs/7.0.0-beta.62/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2fnextjs/7.0.0-beta.62/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2fnextjs/7.0.0-beta.62/compatibility-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2fnextjs/7.0.0-beta.62/confidence-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/react](https://github.com/storybookjs/storybook/tree/main/app/react) ([source](https://github.com/storybookjs/storybook)) | [`7.0.0-beta.61` -> `7.0.0-beta.62`](https://renovatebot.com/diffs/npm/@storybook%2freact/7.0.0-beta.61/7.0.0-beta.62) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2freact/7.0.0-beta.62/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2freact/7.0.0-beta.62/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2freact/7.0.0-beta.62/compatibility-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2freact/7.0.0-beta.62/confidence-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/test-runner](https://github.com/storybookjs/test-runner) | [`0.10.0-next.8` -> `0.10.0-next.10`](https://renovatebot.com/diffs/npm/@storybook%2ftest-runner/0.10.0-next.8/0.10.0-next.10) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2ftest-runner/0.10.0-next.10/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2ftest-runner/0.10.0-next.10/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2ftest-runner/0.10.0-next.10/compatibility-slim/0.10.0-next.8)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2ftest-runner/0.10.0-next.10/confidence-slim/0.10.0-next.8)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/theming](https://github.com/storybookjs/storybook/tree/main/lib/theming) ([source](https://github.com/storybookjs/storybook)) | [`7.0.0-beta.61` -> `7.0.0-beta.62`](https://renovatebot.com/diffs/npm/@storybook%2ftheming/7.0.0-beta.61/7.0.0-beta.62) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2ftheming/7.0.0-beta.62/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2ftheming/7.0.0-beta.62/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2ftheming/7.0.0-beta.62/compatibility-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2ftheming/7.0.0-beta.62/confidence-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/types](https://github.com/storybookjs/storybook/tree/main/code/lib/types) ([source](https://github.com/storybookjs/storybook)) | [`7.0.0-beta.61` -> `7.0.0-beta.62`](https://renovatebot.com/diffs/npm/@storybook%2ftypes/7.0.0-beta.61/7.0.0-beta.62) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2ftypes/7.0.0-beta.62/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2ftypes/7.0.0-beta.62/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2ftypes/7.0.0-beta.62/compatibility-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2ftypes/7.0.0-beta.62/confidence-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) |
| [@tanstack/eslint-plugin-query](https://tanstack.com/query) ([source](https://github.com/tanstack/query)) | [`4.24.11` -> `4.26.2`](https://renovatebot.com/diffs/npm/@tanstack%2feslint-plugin-query/4.24.11/4.26.2) | [![age](https://badges.renovateapi.com/packages/npm/@tanstack%2feslint-plugin-query/4.26.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@tanstack%2feslint-plugin-query/4.26.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@tanstack%2feslint-plugin-query/4.26.2/compatibility-slim/4.24.11)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@tanstack%2feslint-plugin-query/4.26.2/confidence-slim/4.24.11)](https://docs.renovatebot.com/merge-confidence/) |
| [@tanstack/react-query](https://tanstack.com/query) ([source](https://github.com/tanstack/query)) | [`4.24.10` -> `4.26.1`](https://renovatebot.com/diffs/npm/@tanstack%2freact-query/4.24.10/4.26.1) | [![age](https://badges.renovateapi.com/packages/npm/@tanstack%2freact-query/4.26.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@tanstack%2freact-query/4.26.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@tanstack%2freact-query/4.26.1/compatibility-slim/4.24.10)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@tanstack%2freact-query/4.26.1/confidence-slim/4.24.10)](https://docs.renovatebot.com/merge-confidence/) |
| [@tanstack/react-query-devtools](https://tanstack.com/query) ([source](https://github.com/tanstack/query)) | [`4.24.13` -> `4.26.1`](https://renovatebot.com/diffs/npm/@tanstack%2freact-query-devtools/4.24.13/4.26.1) | [![age](https://badges.renovateapi.com/packages/npm/@tanstack%2freact-query-devtools/4.26.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@tanstack%2freact-query-devtools/4.26.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@tanstack%2freact-query-devtools/4.26.1/compatibility-slim/4.24.13)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@tanstack%2freact-query-devtools/4.26.1/confidence-slim/4.24.13)](https://docs.renovatebot.com/merge-confidence/) |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint) | [`5.54.0` -> `5.54.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/5.54.0/5.54.1) | [![age](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.54.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.54.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.54.1/compatibility-slim/5.54.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.54.1/confidence-slim/5.54.0)](https://docs.renovatebot.com/merge-confidence/) |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint) | [`5.54.0` -> `5.54.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/5.54.0/5.54.1) | [![age](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.54.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.54.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.54.1/compatibility-slim/5.54.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.54.1/confidence-slim/5.54.0)](https://docs.renovatebot.com/merge-confidence/) |
| [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) | [`8.6.0` -> `8.7.0`](https://renovatebot.com/diffs/npm/eslint-config-prettier/8.6.0/8.7.0) | [![age](https://badges.renovateapi.com/packages/npm/eslint-config-prettier/8.7.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/eslint-config-prettier/8.7.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/eslint-config-prettier/8.7.0/compatibility-slim/8.6.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/eslint-config-prettier/8.7.0/confidence-slim/8.6.0)](https://docs.renovatebot.com/merge-confidence/) |
| [eslint-plugin-turbo](https://github.com/vercel/turbo) | [`0.0.8` -> `0.0.9`](https://renovatebot.com/diffs/npm/eslint-plugin-turbo/0.0.8/0.0.9) | [![age](https://badges.renovateapi.com/packages/npm/eslint-plugin-turbo/0.0.9/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/eslint-plugin-turbo/0.0.9/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/eslint-plugin-turbo/0.0.9/compatibility-slim/0.0.8)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/eslint-plugin-turbo/0.0.9/confidence-slim/0.0.8)](https://docs.renovatebot.com/merge-confidence/) |
| [luxon](https://github.com/moment/luxon) | [`3.2.1` -> `3.3.0`](https://renovatebot.com/diffs/npm/luxon/3.2.1/3.3.0) | [![age](https://badges.renovateapi.com/packages/npm/luxon/3.3.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/luxon/3.3.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/luxon/3.3.0/compatibility-slim/3.2.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/luxon/3.3.0/confidence-slim/3.2.1)](https://docs.renovatebot.com/merge-confidence/) |
| [pnpm](https://pnpm.io) ([source](https://github.com/pnpm/pnpm)) | [`7.28.0` -> `7.29.0`](https://renovatebot.com/diffs/npm/pnpm/7.28.0/7.29.0) | [![age](https://badges.renovateapi.com/packages/npm/pnpm/7.29.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/pnpm/7.29.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/pnpm/7.29.0/compatibility-slim/7.28.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/pnpm/7.29.0/confidence-slim/7.28.0)](https://docs.renovatebot.com/merge-confidence/) |
| [storybook](https://github.com/storybookjs/storybook/tree/main/lib/cli) ([source](https://github.com/storybookjs/storybook)) | [`7.0.0-beta.61` -> `7.0.0-beta.62`](https://renovatebot.com/diffs/npm/storybook/7.0.0-beta.61/7.0.0-beta.62) | [![age](https://badges.renovateapi.com/packages/npm/storybook/7.0.0-beta.62/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/storybook/7.0.0-beta.62/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/storybook/7.0.0-beta.62/compatibility-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/storybook/7.0.0-beta.62/confidence-slim/7.0.0-beta.61)](https://docs.renovatebot.com/merge-confidence/) |
| [tslog](https://tslog.js.org) ([source](https://github.com/fullstack-build/tslog)) | [`4.8.1` -> `4.8.2`](https://renovatebot.com/diffs/npm/tslog/4.8.1/4.8.2) | [![age](https://badges.renovateapi.com/packages/npm/tslog/4.8.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/tslog/4.8.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/tslog/4.8.2/compatibility-slim/4.8.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/tslog/4.8.2/confidence-slim/4.8.1)](https://docs.renovatebot.com/merge-confidence/) |
| [zod](https://zod.dev) ([source](https://github.com/colinhacks/zod)) | [`3.20.6` -> `3.21.2`](https://renovatebot.com/diffs/npm/zod/3.20.6/3.21.2) | [![age](https://badges.renovateapi.com/packages/npm/zod/3.21.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/zod/3.21.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/zod/3.21.2/compatibility-slim/3.20.6)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/zod/3.21.2/confidence-slim/3.20.6)](https://docs.renovatebot.com/merge-confidence/) |
| [zod-prisma-types](https://github.com/chrishoermann/zod-prisma-types) | [`2.3.4` -> `2.3.5`](https://renovatebot.com/diffs/npm/zod-prisma-types/2.3.4/2.3.5) | [![age](https://badges.renovateapi.com/packages/npm/zod-prisma-types/2.3.5/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/zod-prisma-types/2.3.5/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/zod-prisma-types/2.3.5/compatibility-slim/2.3.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/zod-prisma-types/2.3.5/confidence-slim/2.3.4)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>crowdin/crowdin-api-client-js</summary>

### [`v1.22.0`](https://github.com/crowdin/crowdin-api-client-js/releases/tag/1.22.0)

[Compare Source](https://github.com/crowdin/crowdin-api-client-js/compare/1.21.2...1.22.0)

##### Updated

-   refactor: improved error handling and error types in [#&#8203;226](https://github.com/crowdin/crowdin-api-client-js/issues/226) by [@&#8203;cdaringe](https://github.com/cdaringe)

</details>

<details>
<summary>storybookjs/storybook</summary>

### [`v7.0.0-beta.62`](https://github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#&#8203;700-beta62-March-6-2023)

[Compare Source](https://github.com/storybookjs/storybook/compare/v7.0.0-beta.61...v7.0.0-beta.62)

##### Bug Fixes

-   Vite: Add react docgen types [#&#8203;21338](https://github.com/storybooks/storybook/pull/21338)
-   Core: Print errors in `withTelemetry` before prompting [#&#8203;21407](https://github.com/storybooks/storybook/pull/21407)
-   Add Angular Builder Codemods [#&#8203;21409](https://github.com/storybooks/storybook/pull/21409)
-   Docs: Use async import rather than require in docs [#&#8203;21402](https://github.com/storybooks/storybook/pull/21402)
-   Docs: Don't warn if we find the same entry twice [#&#8203;21403](https://github.com/storybooks/storybook/pull/21403)
-   Telemetry: Ensure we report errors even when unexpected things happen [#&#8203;21416](https://github.com/storybooks/storybook/pull/21416)
-   CLI: Fix versions.ts to install latest prerelease packages [#&#8203;21418](https://github.com/storybooks/storybook/pull/21418)
-   Core: Remove pointless `module.hot.decline()` in addons [#&#8203;21421](https://github.com/storybooks/storybook/pull/21421)
-   Docs: Allow ArgTable usage unattached [#&#8203;21371](https://github.com/storybooks/storybook/pull/21371)

##### Maintenance

-   Addon-docs: Polish styling for 7.0 [#&#8203;21255](https://github.com/storybooks/storybook/pull/21255)

</details>

<details>
<summary>storybookjs/test-runner</summary>

### [`v0.10.0-next.10`](https://github.com/storybookjs/test-runner/releases/tag/v0.10.0-next.10)

[Compare Source](https://github.com/storybookjs/test-runner/compare/v0.10.0-next.9...v0.10.0-next.10)

##### 🐛 Bug Fix

-   Extend hooks api with `prepare` and `getHttpHeaders` properties [#&#8203;245](https://github.com/storybookjs/test-runner/pull/245) ([@&#8203;yannbf](https://github.com/yannbf))

##### Authors: 1

-   Yann Braga ([@&#8203;yannbf](https://github.com/yannbf))

### [`v0.10.0-next.9`](https://github.com/storybookjs/test-runner/releases/tag/v0.10.0-next.9)

[Compare Source](https://github.com/storybookjs/test-runner/compare/v0.10.0-next.8...v0.10.0-next.9)

##### 🐛 Bug Fix

-   Use preview api instead of store [#&#8203;273](https://github.com/storybookjs/test-runner/pull/273) ([@&#8203;kasperpeulen](https://github.com/kasperpeulen))

##### 📝 Documentation

-   Document index.json mode for Svelte CSF [#&#8203;263](https://github.com/storybookjs/test-runner/pull/263) ([@&#8203;JReinhold](https://github.com/JReinhold))

##### Authors: 2

-   Jeppe Reinhold ([@&#8203;JReinhold](https://github.com/JReinhold))
-   Kasper Peulen ([@&#8203;kasperpeulen](https://github.com/kasperpeulen))

</details>

<details>
<summary>tanstack/query</summary>

### [`v4.26.2`](https://github.com/TanStack/query/releases/tag/v4.26.2)

[Compare Source](https://github.com/tanstack/query/compare/v4.24.11...v4.26.2)

Version 4.26.2 - 3/6/2023, 8:34 PM

#### Changes

##### Fix

-   eslint-plugin: improve object property checks ([#&#8203;5079](https://github.com/tanstack/query/issues/5079)) ([`df512e5`](https://github.com/tanstack/query/commit/df512e53)) by Eliya Cohen

#### Packages

-   [@&#8203;tanstack/eslint-plugin-query](https://github.com/tanstack/eslint-plugin-query)[@&#8203;4](https://github.com/4).26.2

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/eslint-plugin)</summary>

### [`v5.54.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5541-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5540v5541-2023-03-06)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.54.0...v5.54.1)

**Note:** Version bump only for package [@&#8203;typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/eslint-plugin)

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/parser)</summary>

### [`v5.54.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5541-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5540v5541-2023-03-06)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.54.0...v5.54.1)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

</details>

<details>
<summary>prettier/eslint-config-prettier</summary>

### [`v8.7.0`](https://github.com/prettier/eslint-config-prettier/blob/HEAD/CHANGELOG.md#Version-870-2023-03-06)

[Compare Source](https://github.com/prettier/eslint-config-prettier/compare/v8.6.0...v8.7.0)

-   Added: \[[@&#8203;typescript-eslint/block-spacing](https://github.com/typescript-eslint/block-spacing)]. Thanks to [@&#8203;ttionya](https://github.com/ttionya)!
-   Added: \[[@&#8203;typescript-eslint/key-spacing](https://github.com/typescript-eslint/key-spacing)]. Thanks to [@&#8203;ttionya](https://github.com/ttionya)!

</details>

<details>
<summary>moment/luxon</summary>

### [`v3.3.0`](https://github.com/moment/luxon/blob/HEAD/CHANGELOG.md#&#8203;330-2023-03-03)

[Compare Source](https://github.com/moment/luxon/compare/3.2.1...3.3.0)

-   Fix off-by-one in Interval#count ([#&#8203;1308](https://github.com/moment/luxon/issues/1308))
-   Support formatting for custom zones ([#&#8203;1377](https://github.com/moment/luxon/issues/1377))
-   Fix parsing for narrow spaces ([#&#8203;1369](https://github.com/moment/luxon/issues/1369))
-   Handle leap year issue with AD 100 ([#&#8203;1390](https://github.com/moment/luxon/issues/1390))
-   Allow parsing of just an offset

</details>

<details>
<summary>pnpm/pnpm</summary>

### [`v7.29.0`](https://github.com/pnpm/pnpm/releases/tag/v7.29.0)

[Compare Source](https://github.com/pnpm/pnpm/compare/v7.28.0...v7.29.0)

#### Minor Changes

-   A new setting is now supported: `dedupe-peer-dependents`.

    When this setting is set to `true`, packages with peer dependencies will be deduplicated after peers resolution.

    For instance, let's say we have a workspace with two projects and both of them have `webpack` in their dependencies. `webpack` has `esbuild` in its optional peer dependencies, and one of the projects has `esbuild` in its dependencies. In this case, pnpm will link two instances of `webpack` to the `node_modules/.pnpm` directory: one with `esbuild` and another one without it:

        node_modules
          .pnpm
            [email protected][email protected]
            [email protected]
        project1
          node_modules
            webpack -> ../../node_modules/.pnpm/[email protected]/node_modules/webpack
        project2
          node_modules
            webpack -> ../../node_modules/.pnpm/[email protected][email protected]/node_modules/webpack
            esbuild

    This makes sense because `webpack` is used in two projects, and one of the projects doesn't have `esbuild`, so the two projects cannot share the same instance of `webpack`. However, this is not what most developers expect, especially since in a hoisted `node_modules`, there would only be one instance of `webpack`. Therefore, you may now use the `dedupe-peer-dependents` setting to deduplicate `webpack` when it has no conflicting peer dependencies (explanation at the end). In this case, if we set `dedupe-peer-dependents` to `true`, both projects will use the same `webpack` instance, which is the one that has `esbuild` resolved:

        node_modules
          .pnpm
            [email protected][email protected]
        project1
          node_modules
            webpack -> ../../node_modules/.pnpm/[email protected][email protected]/node_modules/webpack
        project2
          node_modules
            webpack -> ../../node_modules/.pnpm/[email protected][email protected]/node_modules/webpack
            esbuild

    **What are conflicting peer dependencies?** By conflicting peer dependencies we mean a scenario like the following one:

        node_modules
          .pnpm
            [email protected][email protected][email protected]
            [email protected][email protected]
        project1
          node_modules
            webpack -> ../../node_modules/.pnpm/[email protected]/node_modules/webpack
            react (v17)
        project2
          node_modules
            webpack -> ../../node_modules/.pnpm/[email protected][email protected]/node_modules/webpack
            esbuild
            react (v16)

    In this case, we cannot dedupe `webpack` as `webpack` has `react` in its peer dependencies and `react` is resolved from two different versions in the context of the two projects.

#### Patch Changes

-   The configuration added by `pnpm setup` should check if the pnpm home directory is already in the PATH before adding to the PATH.

    Before this change, this code was added to the shell:

    ```sh
    export PNPM_HOME="$HOME/Library/pnpm"
    export PATH="$PNPM_HOME:$PATH"
    ```

    Now this will be added:

    ```sh
    export PNPM_HOME="$HOME/Library/pnpm"
    case ":$PATH:" in
      *":$PNPM_HOME:"*) ;;
      *) export PATH="$PNPM_HOME:$PATH" ;;
    esac
    ```

-   Add `skipped` status in exec report summary when script is missing [#&#8203;6139](https://github.com/pnpm/pnpm/pull/6139).

-   `pnpm env -g` should fail with a meaningful error message if pnpm cannot find the pnpm home directory, which is the directory into which Node.js is installed.

-   Should not throw an error when local dependency use file protocol [#&#8203;6115](https://github.com/pnpm/pnpm/issues/6115).

-   Fix the incorrect error block when subproject has been patched [#&#8203;6183](https://github.com/pnpm/pnpm/issues/6183)

#### Our Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
        <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"></a>
      </td>
      <td align="center" valign="middle">
        <a href="https://novu.co/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/novu.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/novu_light.svg" />
            <img src="https://pnpm.io/img/users/novu.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://prisma.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/prisma.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/prisma_light.svg" />
            <img src="https://pnpm.io/img/users/prisma.svg" width="180" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://www.flightcontrol.dev/?ref=pnpm" target="_blank"><img src="https://pnpm.io/img/users/flightcontrol.png" width="240"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Our Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
        <a href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <img src="https://pnpm.io/img/users/leniolabs.jpg" width="80">
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/vercel.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/vercel_light.svg" />
            <img src="https://pnpm.io/img/users/vercel.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://doppler.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/doppler.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/doppler_light.svg" />
            <img src="https://pnpm.io/img/users/doppler.svg" width="280" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/depot.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/depot_light.svg" />
            <img src="https://pnpm.io/img/users/depot.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

</details>

<details>
<summary>fullstack-build/tslog</summary>

### [`v4.8.2`](https://github.com/fullstack-build/tslog/releases/tag/v4.8.2)

[Compare Source](https://github.com/fullstack-build/tslog/compare/v4.8.1...v4.8.2)

-   Add runtime Generic, make userAgent optional. Fix [#&#8203;221](https://github.com/fullstack-build/tslog/issues/221)  [`2d9d74b`](https://github.com/fullstack-build/tslog/commit/2d9d74b)

</details>

<details>
<summary>colinhacks/zod</summary>

### [`v3.21.2`](https://github.com/colinhacks/zod/releases/tag/v3.21.2)

[Compare Source](https://github.com/colinhacks/zod/compare/v3.21.1...v3.21.2)

#### Commits:

-   [`b276d71`](https://github.com/colinhacks/zod/commit/b276d71eaefef6cb87c81e8429bd160e4b68c168) Improve typings in generics
-   [`4d016b7`](https://github.com/colinhacks/zod/commit/4d016b772b79d566bfa2a0c2fc5bfbd92b776982) Improve type inference in generics
-   [`f9895ab`](https://github.com/colinhacks/zod/commit/f9895ab1650ef3df9c598a8c43ede0160596ac2e) Improve types inside generic functions
-   [`ac0135e`](https://github.com/colinhacks/zod/commit/ac0135e00df75abd57a93a4816fe0fdaa31e94e8) Pass input into catchValue

### [`v3.21.1`](https://github.com/colinhacks/zod/releases/tag/v3.21.1)

[Compare Source](https://github.com/colinhacks/zod/compare/v3.21.0...v3.21.1)

#### Features

Support for [ULID](https://github.com/ulid/spec) validation

```ts
z.string().ulid();
```

#### Commits:

-   [`4f89461`](https://github.com/colinhacks/zod/commit/4f8946182ee07eb7b5d40efa908b1715414e8929) Prettier
-   [`bd6527a`](https://github.com/colinhacks/zod/commit/bd6527a47a4626135dccac113a7b09f81b675edd) Update deps
-   [`126c77b`](https://github.com/colinhacks/zod/commit/126c77b3130d9a68032f72ac76dd9e1ccfd86c2c) added `toLowerCase` and `toUpperCase` back in for v3.21.0
-   [`1749657`](https://github.com/colinhacks/zod/commit/174965739d17db348d445ab250fb2cf6bd7cdd51) Update README.md
-   [`dabe63d`](https://github.com/colinhacks/zod/commit/dabe63d15eb6d22246aa5d5c83b69d1d5f4c2f4b) updated `z.custom` example again :D
-   [`6b8f655`](https://github.com/colinhacks/zod/commit/6b8f6557d9b53ea7ad3fda753a51cdf153ba1fb7) docs: improve cn readme ([#&#8203;2143](https://github.com/colinhacks/zod/issues/2143))
-   [`9012dc7`](https://github.com/colinhacks/zod/commit/9012dc7055e1467b6d619a6c0ad016fdfbde2b9c) add `.includes(value, options?)` @&#8203; `ZodString`. ([#&#8203;1887](https://github.com/colinhacks/zod/issues/1887))
-   [`67b981e`](https://github.com/colinhacks/zod/commit/67b981e70b4bacb2278a9aacd22d38cbb4b52d17) Make safeParse().error a getter
-   [`346fde0`](https://github.com/colinhacks/zod/commit/346fde03724bfd1601823e4f72470bc7e344030b) 3.21.0-canary.20230304T235951
-   [`b50d871`](https://github.com/colinhacks/zod/commit/b50d871b2f5949587afdcce2375227a447dbb742) Add canary release CI
-   [`b20cca2`](https://github.com/colinhacks/zod/commit/b20cca230a6a9beb8acf841250641b62847b6e80) Fix canary
-   [`f7f5c50`](https://github.com/colinhacks/zod/commit/f7f5c50c65d7c7e5262c028e6832b92b14d84ea5) Move action to .github/workflows
-   [`f01fa0e`](https://github.com/colinhacks/zod/commit/f01fa0e48ca18630604366f5bc7401a18eb4d018) Try to fix canary CI
-   [`f5e8067`](https://github.com/colinhacks/zod/commit/f5e8067b2afcc3e5ae9f8ed389a31b83a7c3ceec) No git tag
-   [`5b304ae`](https://github.com/colinhacks/zod/commit/5b304ae41705105ae6edcacdb6dfdac9c527b3f4) No dry run
-   [`20df80e`](https://github.com/colinhacks/zod/commit/20df80e6ce2ac27f6e2f26b61cd1fd4c942b152d) Add tsc compilation test
-   [`ead93d3`](https://github.com/colinhacks/zod/commit/ead93d3cfde54efe952dc615c21ff179a00f7574) Document .pipe()
-   [`d8e8653`](https://github.com/colinhacks/zod/commit/d8e86534325fb00bc0193a4c6af04f2a67bd2e4e) Update headers
-   [`03c0ab1`](https://github.com/colinhacks/zod/commit/03c0ab1640ca9111d9fbac3c261e2f76e3cbf247) Cache the evaluation of ParseInputLazyPath.path() for a moderate perf improvement ([#&#8203;2137](https://github.com/colinhacks/zod/issues/2137))
-   [`e7b3b7b`](https://github.com/colinhacks/zod/commit/e7b3b7bf493caeee7e4f043eea024e4d3badc090) Improve string docs
-   [`83478f5`](https://github.com/colinhacks/zod/commit/83478f5e413c333f07f53b9b4bb8c24b75e1cecf) Remove zod dep
-   [`2f1868d`](https://github.com/colinhacks/zod/commit/2f1868d0c17c0e401c4438d9d35e68f9685a741b) Specify paths for canary
-   [`e599966`](https://github.com/colinhacks/zod/commit/e599966709fe0253d6779ce1dec38a2adcebf41f) Add sponsors
-   [`950bd17`](https://github.com/colinhacks/zod/commit/950bd17f01668b45e592a678974437b15012b158) Tweak x.custom example
-   [`728e56a`](https://github.com/colinhacks/zod/commit/728e56a7e157cca8cdc0ab937f25a2412673c934) Close [#&#8203;2127](https://github.com/colinhacks/zod/issues/2127)
-   [`64883e4`](https://github.com/colinhacks/zod/commit/64883e4fe41b10eb577c4f9eaf6f24fa29bcd60d) feat: z.string().ulid() - add support for ulids ([#&#8203;2049](https://github.com/colinhacks/zod/issues/2049))
-   [`e0d709b`](https://github.com/colinhacks/zod/commit/e0d709b1348efab06ac5341d360a411bc09eb7ba) 3.20.1
-   [`9c33194`](https://github.com/colinhacks/zod/commit/9c3319443cfc953adc51786e8d6fe0bbe1e37f8e) Remove comments, clean up utils
-   [`942e2db`](https://github.com/colinhacks/zod/commit/942e2db8e51d580f4e3cd8c4c4af8bc6aecf4130) Fix tests

### [`v3.21.0`](https://github.com/colinhacks/zod/releases/tag/v3.21.0)

[Compare Source](https://github.com/colinhacks/zod/compare/v3.20.6...v3.21.0)

#### Features

##### `z.string().emoji()`

Thanks [@&#8203;joseph-lozano](https://github.com/joseph-lozano) for [https://github.com/colinhacks/zod/pull/2045](https://github.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 [@&#8203;joulev](https://github.com/joulev) for [https://github.com/colinhacks/zod/pull/1813](https://github.com/colinhacks/zod/pull/1813)! To validate [CUIDv2](https://github.com/paralleldrive/cuid2):

```ts
z.string().cuid2()
```

##### `z.string().ip()`

Thanks [@&#8203;fvckDesa](https://github.com/fvckDesa) for [https://github.com/colinhacks/zod/pull/2066](https://github.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 [@&#8203;igalklebanov](https://github.com/igalklebanov) for [`#1711`](https://github.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 [@&#8203;santosmarco-caribou](https://github.com/santosmarco-caribou) for [https://github.com/colinhacks/zod/pull/1652](https://github.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 [@&#8203;0xWryth](https://github.com/0xWryth) for [https://github.com/colinhacks/zod/pull/2087](https://github.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 [@&#8203;gydroperit](https://github.com/gydroperit) for some heroic efforts here: [https://github.com/colinhacks/zod/pull/2107](https://github.com/colinhacks/zod/pull/2107) Zod 3.21 resolves these issues:

-   [https://github.com/colinhacks/zod/issues/2142](https://github.com/colinhacks/zod/issues/2142)
-   [https://github.com/colinhacks/zod/issues/1741](https://github.com/colinhacks/zod/issues/1741)
-   https://stackoverflow.com/questions/74881472/slow-typescript-autocompletion-in-vs-code-for-zod

#### Commits:

-   [`3c54461`](https://github.com/colinhacks/zod/commit/3c54461d7a649bf727aec59367eefb214ffe24fe) fix typo in readme
-   [`c244fb6`](https://github.com/colinhacks/zod/commit/c244fb6c57506fd11609106960639de26ddf9b6d) feat: z.string().emoji() ([#&#8203;2045](https://github.com/colinhacks/zod/issues/2045))
-   [`39cbb69`](https://github.com/colinhacks/zod/commit/39cbb6971c3dca09cbc0acdca2d3995dfd26aab2) Fix emoji validation, fix lint
-   [`d8f07bb`](https://github.com/colinhacks/zod/commit/d8f07bbfffd255b0aee6b5fe9bb6aa2bce6586af) Fix emoji
-   [`9b7dd81`](https://github.com/colinhacks/zod/commit/9b7dd816e92e16ca735e488b77e280a92a84ed64) Improve variable name clarity ([#&#8203;2048](https://github.com/colinhacks/zod/issues/2048))
-   [`5cec187`](https://github.com/colinhacks/zod/commit/5cec1871ac21627608af6c07585d5e50ff30f281) Add documentation for the param parameter of z.custom
-   [`654f529`](https://github.com/colinhacks/zod/commit/654f52969a968c630af816dcad0d8f3721f9001a) Merge pull request [#&#8203;2057](https://github.com/colinhacks/zod/issues/2057) from trygveaa/add-documentation-for-z-custom-params
-   [`981af65`](https://github.com/colinhacks/zod/commit/981af6503ee1be530fe525ac77ba95e1904ce24a) Merge pull request [#&#8203;2019](https://github.com/colinhacks/zod/issues/2019) from vbud/patch-1
-   [`a7c2969`](https://github.com/colinhacks/zod/commit/a7c2969b9125df0fbfa65e8541a974eeaf53b6a6) Update error_handling
-   [`8f3d028`](https://github.com/colinhacks/zod/commit/8f3d0283ba75d146d5199fe3dc140eeb5402352c) BRAND Record to Non Partial ([#&#8203;2097](https://github.com/colinhacks/zod/issues/2097))
-   [`5ec98e1`](https://github.com/colinhacks/zod/commit/5ec98e1c4420957f93a7388bf49fb01d91bcbcd0) Fix email issues in pull request [#&#8203;1982](https://github.com/colinhacks/zod/issues/1982) ([#&#8203;2058](https://github.com/colinhacks/zod/issues/2058))
-   [`7d40ba5`](https://github.com/colinhacks/zod/commit/7d40ba58931130ec965be9d65d14e0665ee9c379) feat([#&#8203;2059](https://github.com/colinhacks/zod/issues/2059)): z.string.ip() - add support for IP address ([#&#8203;2066](https://github.com/colinhacks/zod/issues/2066))
-   [`e559605`](https://github.com/colinhacks/zod/commit/e5596054cfddf8aa1ba8d7d3bad63552a2bf9b6a) feat: add `.catch` error ([#&#8203;2087](https://github.com/colinhacks/zod/issues/2087))
-   [`defdab9`](https://github.com/colinhacks/zod/commit/defdab9c163d9a994f927a0644ab4ec172513fcb) Fix record tests
-   [`8de36eb`](https://github.com/colinhacks/zod/commit/8de36eb17d9477ada75cea2164d6b47079dd0444) FIX: emoji regex and tests ([#&#8203;2090](https://github.com/colinhacks/zod/issues/2090))
-   [`16beeb5`](https://github.com/colinhacks/zod/commit/16beeb598039b33bc5a209956042d858abacca34) lowercase method for ZodString ([#&#8203;2038](https://github.com/colinhacks/zod/issues/2038))
-   [`75cb9e8`](https://github.com/colinhacks/zod/commit/75cb9e814115a35c0b4cc2e970f6aaae90e1a13c) add checks @&#8203; `ZodBigInt`. ([#&#8203;1711](https://github.com/colinhacks/zod/issues/1711))
-   [`c4d4e49`](https://github.com/colinhacks/zod/commit/c4d4e494227aadc752d4d5a5a317ec16bb6f5a45) Update ERROR_HANDLING.md ([#&#8203;2022](https://github.com/colinhacks/zod/issues/2022))
-   [`d6f0890`](https://github.com/colinhacks/zod/commit/d6f08908b17ea10456befc2231a867d5cea02a0e) added link to deno land
-   [`4cf1960`](https://github.com/colinhacks/zod/commit/4cf19606870e66bf4307984bf99a4bef495c7818) Refactoring of ZodFormattedError type to improve tsc check time ([#&#8203;2107](https://github.com/colinhacks/zod/issues/2107))
-   [`867a921`](https://github.com/colinhacks/zod/commit/867a921a93160780d9f3aeddabf1ca49758a3c1e) Bump http-cache-semantics from 4.1.0 to 4.1.1 ([#&#8203;1985](https://github.com/colinhacks/zod/issues/1985))
-   [`edc3a67`](https://github.com/colinhacks/zod/commit/edc3a67e77d33979b3ee9e071557b4ca53298c55) Deprecate deepPartial
-   [`e59f639`](https://github.com/colinhacks/zod/commit/e59f639d3bb5cca65ef239d5dd5c93e74ce4a801) Add custom tests
-   [`a6b44ed`](https://github.com/colinhacks/zod/commit/a6b44ed8e346af2fabbb62b5164b99a387accd32) Remove logging
-   [`a1fc3fb`](https://github.com/colinhacks/zod/commit/a1fc3fb815051beb4b7030969828aa6abe469c2c) commented out `toLowerCase` and `toUpperCase`
-   [`e71cc52`](https://github.com/colinhacks/zod/commit/e71cc523b1865568c4db45f82789e5c86bed0f12) Update README_ZH.md ([#&#8203;2139](https://github.com/colinhacks/zod/issues/2139))
-   [`3af38fb`](https://github.com/colinhacks/zod/commit/3af38fbe2cb114219e688103e41e382e28ec7a80) add `ZodNumber.safe()` & `ZodNumber.isSafe`. ([#&#8203;1753](https://github.com/colinhacks/zod/issues/1753))
-   [`6ef82ee`](https://github.com/colinhacks/zod/commit/6ef82ee1e45dbcfc92a2ed359b1d2ae87d54c43d) Add benchmark flags
-   [`5463593`](https://github.com/colinhacks/zod/commit/5463593385549452768e060a98cc0fd8988760d2) Support brands in recursive types
-   [`8074523`](https://github.com/colinhacks/zod/commit/80745238937adc06c5b4eab19ef273ca9f7f2de8) Update readme
-   [`b6794a4`](https://github.com/colinhacks/zod/commit/b6794a4981b8621fee84642f5313464f5e8f9a22) Add index signature for passthrough
-   [`3c6cdd2`](https://github.com/colinhacks/zod/commit/3c6cdd245ab73d7ca1461a18b5be2da07abe6b6b) Make generic optional in objectOutputType
-   [`bc43ad1`](https://github.com/colinhacks/zod/commit/bc43ad18e64cf7add23e90bc6b07d5bba8370e5e) Fix rollup build
-   [`6a0545a`](https://github.com/colinhacks/zod/commit/6a0545acd5b9cfc40b0b3f04e64bfc5dd789d1b1) 3.21.0
-   [`7c07339`](https://github.com/colinhacks/zod/commit/7c0733968d64c7d7aebc1ae54ca90aadcb2bffc3) Fix brand
-   [`0aa6021`](https://github.com/colinhacks/zod/commit/0aa6021ef3628bb39715bdda416be2c6a4951141) Clean up tests

</details>

<details>
<summary>chrishoermann/zod-prisma-types</summary>

### [`v2.3.5`](https://github.com/chrishoermann/zod-prisma-types/releases/tag/v2.3.5): 2.3.5

[Compare Source](https://github.com/chrishoermann/zod-prisma-types/compare/v2.3.4...v2.3.5)

#### What's Changed

-   Fix bug in [#&#8203;76](https://github.com/chrishoermann/zod-prisma-types/issues/76)
-   Fix typo by [@&#8203;MichaelOren](https://github.com/MichaelOren) in [https://github.com/chrishoermann/zod-prisma-types/pull/93](https://github.com/chrishoermann/zod-prisma-types/pull/93)
-   Fix local install and build by [@&#8203;MichaelOren](https://github.com/MichaelOren) in [https://github.com/chrishoermann/zod-prisma-types/pull/94](https://github.com/chrishoermann/zod-prisma-types/pull/94)

#### New Contributors

-   [@&#8203;MichaelOren](https://github.com/MichaelOren) made their first contribution in [https://github.com/chrishoermann/zod-prisma-types/pull/93](https://github.com/chrishoermann/zod-prisma-types/pull/93)

**Full Changelog**: https://github.com/chrishoermann/zod-prisma-types/compare/v2.3.4...v2.3.5

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **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://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] 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://app.renovatebot.com/dashboard#github/weareinreach/InReach).



PR-URL: https://github.com/weareinreach/InReach/pull/270
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Joe Karow <[email protected]>
renovate bot referenced this pull request in fiatconnect/api-starter Mar 7, 2023
[![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://github.com/colinhacks/zod))
| [`^3.20.6` ->
`^3.21.0`](https://renovatebot.com/diffs/npm/zod/3.20.6/3.21.0) |
[![age](https://badges.renovateapi.com/packages/npm/zod/3.21.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/zod/3.21.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/zod/3.21.0/compatibility-slim/3.20.6)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/zod/3.21.0/confidence-slim/3.20.6)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>colinhacks/zod</summary>

###
[`v3.21.0`](https://github.com/colinhacks/zod/releases/tag/v3.21.0)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.20.6...v3.21.0)

#### Features

##### `z.string().emoji()`

Thanks [@&#8203;joseph-lozano](https://github.com/joseph-lozano) for
[https://github.com/colinhacks/zod/pull/2045](https://github.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 [@&#8203;joulev](https://github.com/joulev) for
[https://github.com/colinhacks/zod/pull/1813](https://github.com/colinhacks/zod/pull/1813)!
To validate [CUIDv2](https://github.com/paralleldrive/cuid2):

```ts
z.string().cuid2()
```

##### `z.string().ip()`

Thanks [@&#8203;fvckDesa](https://github.com/fvckDesa) for
[https://github.com/colinhacks/zod/pull/2066](https://github.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 [@&#8203;igalklebanov](https://github.com/igalklebanov) for
[`#1711`](https://github.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
[@&#8203;santosmarco-caribou](https://github.com/santosmarco-caribou)
for
[https://github.com/colinhacks/zod/pull/1652](https://github.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 [@&#8203;0xWryth](https://github.com/0xWryth) for
[https://github.com/colinhacks/zod/pull/2087](https://github.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
[@&#8203;gydroperit](https://github.com/gydroperit) for some heroic
efforts here:
[https://github.com/colinhacks/zod/pull/2107](https://github.com/colinhacks/zod/pull/2107)
Zod 3.21 resolves these issues:

-
[https://github.com/colinhacks/zod/issues/2142](https://github.com/colinhacks/zod/issues/2142)
-
[https://github.com/colinhacks/zod/issues/1741](https://github.com/colinhacks/zod/issues/1741)
-
https://stackoverflow.com/questions/74881472/slow-typescript-autocompletion-in-vs-code-for-zod

#### Commits:

-
[`3c54461`](https://github.com/colinhacks/zod/commit/3c54461d7a649bf727aec59367eefb214ffe24fe)
fix typo in readme
-
[`c244fb6`](https://github.com/colinhacks/zod/commit/c244fb6c57506fd11609106960639de26ddf9b6d)
feat: z.string().emoji()
([#&#8203;2045](https://github.com/colinhacks/zod/issues/2045))
-
[`39cbb69`](https://github.com/colinhacks/zod/commit/39cbb6971c3dca09cbc0acdca2d3995dfd26aab2)
Fix emoji validation, fix lint
-
[`d8f07bb`](https://github.com/colinhacks/zod/commit/d8f07bbfffd255b0aee6b5fe9bb6aa2bce6586af)
Fix emoji
-
[`9b7dd81`](https://github.com/colinhacks/zod/commit/9b7dd816e92e16ca735e488b77e280a92a84ed64)
Improve variable name clarity
([#&#8203;2048](https://github.com/colinhacks/zod/issues/2048))
-
[`5cec187`](https://github.com/colinhacks/zod/commit/5cec1871ac21627608af6c07585d5e50ff30f281)
Add documentation for the param parameter of z.custom
-
[`654f529`](https://github.com/colinhacks/zod/commit/654f52969a968c630af816dcad0d8f3721f9001a)
Merge pull request
[#&#8203;2057](https://github.com/colinhacks/zod/issues/2057) from
trygveaa/add-documentation-for-z-custom-params
-
[`981af65`](https://github.com/colinhacks/zod/commit/981af6503ee1be530fe525ac77ba95e1904ce24a)
Merge pull request
[#&#8203;2019](https://github.com/colinhacks/zod/issues/2019) from
vbud/patch-1
-
[`a7c2969`](https://github.com/colinhacks/zod/commit/a7c2969b9125df0fbfa65e8541a974eeaf53b6a6)
Update error_handling
-
[`8f3d028`](https://github.com/colinhacks/zod/commit/8f3d0283ba75d146d5199fe3dc140eeb5402352c)
BRAND Record to Non Partial
([#&#8203;2097](https://github.com/colinhacks/zod/issues/2097))
-
[`5ec98e1`](https://github.com/colinhacks/zod/commit/5ec98e1c4420957f93a7388bf49fb01d91bcbcd0)
Fix email issues in pull request
[#&#8203;1982](https://github.com/colinhacks/zod/issues/1982)
([#&#8203;2058](https://github.com/colinhacks/zod/issues/2058))
-
[`7d40ba5`](https://github.com/colinhacks/zod/commit/7d40ba58931130ec965be9d65d14e0665ee9c379)
feat([#&#8203;2059](https://github.com/colinhacks/zod/issues/2059)):
z.string.ip() - add support for IP address
([#&#8203;2066](https://github.com/colinhacks/zod/issues/2066))
-
[`e559605`](https://github.com/colinhacks/zod/commit/e5596054cfddf8aa1ba8d7d3bad63552a2bf9b6a)
feat: add `.catch` error
([#&#8203;2087](https://github.com/colinhacks/zod/issues/2087))
-
[`defdab9`](https://github.com/colinhacks/zod/commit/defdab9c163d9a994f927a0644ab4ec172513fcb)
Fix record tests
-
[`8de36eb`](https://github.com/colinhacks/zod/commit/8de36eb17d9477ada75cea2164d6b47079dd0444)
FIX: emoji regex and tests
([#&#8203;2090](https://github.com/colinhacks/zod/issues/2090))
-
[`16beeb5`](https://github.com/colinhacks/zod/commit/16beeb598039b33bc5a209956042d858abacca34)
lowercase method for ZodString
([#&#8203;2038](https://github.com/colinhacks/zod/issues/2038))
-
[`75cb9e8`](https://github.com/colinhacks/zod/commit/75cb9e814115a35c0b4cc2e970f6aaae90e1a13c)
add checks @&#8203; `ZodBigInt`.
([#&#8203;1711](https://github.com/colinhacks/zod/issues/1711))
-
[`c4d4e49`](https://github.com/colinhacks/zod/commit/c4d4e494227aadc752d4d5a5a317ec16bb6f5a45)
Update ERROR_HANDLING.md
([#&#8203;2022](https://github.com/colinhacks/zod/issues/2022))
-
[`d6f0890`](https://github.com/colinhacks/zod/commit/d6f08908b17ea10456befc2231a867d5cea02a0e)
added link to deno land
-
[`4cf1960`](https://github.com/colinhacks/zod/commit/4cf19606870e66bf4307984bf99a4bef495c7818)
Refactoring of ZodFormattedError type to improve tsc check time
([#&#8203;2107](https://github.com/colinhacks/zod/issues/2107))
-
[`867a921`](https://github.com/colinhacks/zod/commit/867a921a93160780d9f3aeddabf1ca49758a3c1e)
Bump http-cache-semantics from 4.1.0 to 4.1.1
([#&#8203;1985](https://github.com/colinhacks/zod/issues/1985))
-
[`edc3a67`](https://github.com/colinhacks/zod/commit/edc3a67e77d33979b3ee9e071557b4ca53298c55)
Deprecate deepPartial
-
[`e59f639`](https://github.com/colinhacks/zod/commit/e59f639d3bb5cca65ef239d5dd5c93e74ce4a801)
Add custom tests
-
[`a6b44ed`](https://github.com/colinhacks/zod/commit/a6b44ed8e346af2fabbb62b5164b99a387accd32)
Remove logging
-
[`a1fc3fb`](https://github.com/colinhacks/zod/commit/a1fc3fb815051beb4b7030969828aa6abe469c2c)
commented out `toLowerCase` and `toUpperCase`
-
[`e71cc52`](https://github.com/colinhacks/zod/commit/e71cc523b1865568c4db45f82789e5c86bed0f12)
Update README_ZH.md
([#&#8203;2139](https://github.com/colinhacks/zod/issues/2139))
-
[`3af38fb`](https://github.com/colinhacks/zod/commit/3af38fbe2cb114219e688103e41e382e28ec7a80)
add `ZodNumber.safe()` & `ZodNumber.isSafe`.
([#&#8203;1753](https://github.com/colinhacks/zod/issues/1753))
-
[`6ef82ee`](https://github.com/colinhacks/zod/commit/6ef82ee1e45dbcfc92a2ed359b1d2ae87d54c43d)
Add benchmark flags
-
[`5463593`](https://github.com/colinhacks/zod/commit/5463593385549452768e060a98cc0fd8988760d2)
Support brands in recursive types
-
[`8074523`](https://github.com/colinhacks/zod/commit/80745238937adc06c5b4eab19ef273ca9f7f2de8)
Update readme
-
[`b6794a4`](https://github.com/colinhacks/zod/commit/b6794a4981b8621fee84642f5313464f5e8f9a22)
Add index signature for passthrough
-
[`3c6cdd2`](https://github.com/colinhacks/zod/commit/3c6cdd245ab73d7ca1461a18b5be2da07abe6b6b)
Make generic optional in objectOutputType
-
[`bc43ad1`](https://github.com/colinhacks/zod/commit/bc43ad18e64cf7add23e90bc6b07d5bba8370e5e)
Fix rollup build
-
[`6a0545a`](https://github.com/colinhacks/zod/commit/6a0545acd5b9cfc40b0b3f04e64bfc5dd789d1b1)
3.21.0
-
[`7c07339`](https://github.com/colinhacks/zod/commit/7c0733968d64c7d7aebc1ae54ca90aadcb2bffc3)
Fix brand
-
[`0aa6021`](https://github.com/colinhacks/zod/commit/0aa6021ef3628bb39715bdda416be2c6a4951141)
Clean up tests

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - "after 8:00 before 23:00 every weekday except on Friday" in
timezone UTC.

🚦 **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 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://app.renovatebot.com/dashboard#github/fiatconnect/api-starter).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xNTcuMSIsInVwZGF0ZWRJblZlciI6IjM0LjE1Ny4xIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in fiatconnect/fiatconnect-types Mar 7, 2023
[![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://github.com/colinhacks/zod))
| [`^3.20.6` ->
`^3.21.0`](https://renovatebot.com/diffs/npm/zod/3.20.6/3.21.0) |
[![age](https://badges.renovateapi.com/packages/npm/zod/3.21.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/zod/3.21.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/zod/3.21.0/compatibility-slim/3.20.6)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/zod/3.21.0/confidence-slim/3.20.6)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>colinhacks/zod</summary>

###
[`v3.21.0`](https://github.com/colinhacks/zod/releases/tag/v3.21.0)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.20.6...v3.21.0)

#### Features

##### `z.string().emoji()`

Thanks [@&#8203;joseph-lozano](https://github.com/joseph-lozano) for
[https://github.com/colinhacks/zod/pull/2045](https://github.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 [@&#8203;joulev](https://github.com/joulev) for
[https://github.com/colinhacks/zod/pull/1813](https://github.com/colinhacks/zod/pull/1813)!
To validate [CUIDv2](https://github.com/paralleldrive/cuid2):

```ts
z.string().cuid2()
```

##### `z.string().ip()`

Thanks [@&#8203;fvckDesa](https://github.com/fvckDesa) for
[https://github.com/colinhacks/zod/pull/2066](https://github.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 [@&#8203;igalklebanov](https://github.com/igalklebanov) for
[`#1711`](https://github.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
[@&#8203;santosmarco-caribou](https://github.com/santosmarco-caribou)
for
[https://github.com/colinhacks/zod/pull/1652](https://github.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 [@&#8203;0xWryth](https://github.com/0xWryth) for
[https://github.com/colinhacks/zod/pull/2087](https://github.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
[@&#8203;gydroperit](https://github.com/gydroperit) for some heroic
efforts here:
[https://github.com/colinhacks/zod/pull/2107](https://github.com/colinhacks/zod/pull/2107)
Zod 3.21 resolves these issues:

-
[https://github.com/colinhacks/zod/issues/2142](https://github.com/colinhacks/zod/issues/2142)
-
[https://github.com/colinhacks/zod/issues/1741](https://github.com/colinhacks/zod/issues/1741)
-
https://stackoverflow.com/questions/74881472/slow-typescript-autocompletion-in-vs-code-for-zod

#### Commits:

-
[`3c54461`](https://github.com/colinhacks/zod/commit/3c54461d7a649bf727aec59367eefb214ffe24fe)
fix typo in readme
-
[`c244fb6`](https://github.com/colinhacks/zod/commit/c244fb6c57506fd11609106960639de26ddf9b6d)
feat: z.string().emoji()
([#&#8203;2045](https://github.com/colinhacks/zod/issues/2045))
-
[`39cbb69`](https://github.com/colinhacks/zod/commit/39cbb6971c3dca09cbc0acdca2d3995dfd26aab2)
Fix emoji validation, fix lint
-
[`d8f07bb`](https://github.com/colinhacks/zod/commit/d8f07bbfffd255b0aee6b5fe9bb6aa2bce6586af)
Fix emoji
-
[`9b7dd81`](https://github.com/colinhacks/zod/commit/9b7dd816e92e16ca735e488b77e280a92a84ed64)
Improve variable name clarity
([#&#8203;2048](https://github.com/colinhacks/zod/issues/2048))
-
[`5cec187`](https://github.com/colinhacks/zod/commit/5cec1871ac21627608af6c07585d5e50ff30f281)
Add documentation for the param parameter of z.custom
-
[`654f529`](https://github.com/colinhacks/zod/commit/654f52969a968c630af816dcad0d8f3721f9001a)
Merge pull request
[#&#8203;2057](https://github.com/colinhacks/zod/issues/2057) from
trygveaa/add-documentation-for-z-custom-params
-
[`981af65`](https://github.com/colinhacks/zod/commit/981af6503ee1be530fe525ac77ba95e1904ce24a)
Merge pull request
[#&#8203;2019](https://github.com/colinhacks/zod/issues/2019) from
vbud/patch-1
-
[`a7c2969`](https://github.com/colinhacks/zod/commit/a7c2969b9125df0fbfa65e8541a974eeaf53b6a6)
Update error_handling
-
[`8f3d028`](https://github.com/colinhacks/zod/commit/8f3d0283ba75d146d5199fe3dc140eeb5402352c)
BRAND Record to Non Partial
([#&#8203;2097](https://github.com/colinhacks/zod/issues/2097))
-
[`5ec98e1`](https://github.com/colinhacks/zod/commit/5ec98e1c4420957f93a7388bf49fb01d91bcbcd0)
Fix email issues in pull request
[#&#8203;1982](https://github.com/colinhacks/zod/issues/1982)
([#&#8203;2058](https://github.com/colinhacks/zod/issues/2058))
-
[`7d40ba5`](https://github.com/colinhacks/zod/commit/7d40ba58931130ec965be9d65d14e0665ee9c379)
feat([#&#8203;2059](https://github.com/colinhacks/zod/issues/2059)):
z.string.ip() - add support for IP address
([#&#8203;2066](https://github.com/colinhacks/zod/issues/2066))
-
[`e559605`](https://github.com/colinhacks/zod/commit/e5596054cfddf8aa1ba8d7d3bad63552a2bf9b6a)
feat: add `.catch` error
([#&#8203;2087](https://github.com/colinhacks/zod/issues/2087))
-
[`defdab9`](https://github.com/colinhacks/zod/commit/defdab9c163d9a994f927a0644ab4ec172513fcb)
Fix record tests
-
[`8de36eb`](https://github.com/colinhacks/zod/commit/8de36eb17d9477ada75cea2164d6b47079dd0444)
FIX: emoji regex and tests
([#&#8203;2090](https://github.com/colinhacks/zod/issues/2090))
-
[`16beeb5`](https://github.com/colinhacks/zod/commit/16beeb598039b33bc5a209956042d858abacca34)
lowercase method for ZodString
([#&#8203;2038](https://github.com/colinhacks/zod/issues/2038))
-
[`75cb9e8`](https://github.com/colinhacks/zod/commit/75cb9e814115a35c0b4cc2e970f6aaae90e1a13c)
add checks @&#8203; `ZodBigInt`.
([#&#8203;1711](https://github.com/colinhacks/zod/issues/1711))
-
[`c4d4e49`](https://github.com/colinhacks/zod/commit/c4d4e494227aadc752d4d5a5a317ec16bb6f5a45)
Update ERROR_HANDLING.md
([#&#8203;2022](https://github.com/colinhacks/zod/issues/2022))
-
[`d6f0890`](https://github.com/colinhacks/zod/commit/d6f08908b17ea10456befc2231a867d5cea02a0e)
added link to deno land
-
[`4cf1960`](https://github.com/colinhacks/zod/commit/4cf19606870e66bf4307984bf99a4bef495c7818)
Refactoring of ZodFormattedError type to improve tsc check time
([#&#8203;2107](https://github.com/colinhacks/zod/issues/2107))
-
[`867a921`](https://github.com/colinhacks/zod/commit/867a921a93160780d9f3aeddabf1ca49758a3c1e)
Bump http-cache-semantics from 4.1.0 to 4.1.1
([#&#8203;1985](https://github.com/colinhacks/zod/issues/1985))
-
[`edc3a67`](https://github.com/colinhacks/zod/commit/edc3a67e77d33979b3ee9e071557b4ca53298c55)
Deprecate deepPartial
-
[`e59f639`](https://github.com/colinhacks/zod/commit/e59f639d3bb5cca65ef239d5dd5c93e74ce4a801)
Add custom tests
-
[`a6b44ed`](https://github.com/colinhacks/zod/commit/a6b44ed8e346af2fabbb62b5164b99a387accd32)
Remove logging
-
[`a1fc3fb`](https://github.com/colinhacks/zod/commit/a1fc3fb815051beb4b7030969828aa6abe469c2c)
commented out `toLowerCase` and `toUpperCase`
-
[`e71cc52`](https://github.com/colinhacks/zod/commit/e71cc523b1865568c4db45f82789e5c86bed0f12)
Update README_ZH.md
([#&#8203;2139](https://github.com/colinhacks/zod/issues/2139))
-
[`3af38fb`](https://github.com/colinhacks/zod/commit/3af38fbe2cb114219e688103e41e382e28ec7a80)
add `ZodNumber.safe()` & `ZodNumber.isSafe`.
([#&#8203;1753](https://github.com/colinhacks/zod/issues/1753))
-
[`6ef82ee`](https://github.com/colinhacks/zod/commit/6ef82ee1e45dbcfc92a2ed359b1d2ae87d54c43d)
Add benchmark flags
-
[`5463593`](https://github.com/colinhacks/zod/commit/5463593385549452768e060a98cc0fd8988760d2)
Support brands in recursive types
-
[`8074523`](https://github.com/colinhacks/zod/commit/80745238937adc06c5b4eab19ef273ca9f7f2de8)
Update readme
-
[`b6794a4`](https://github.com/colinhacks/zod/commit/b6794a4981b8621fee84642f5313464f5e8f9a22)
Add index signature for passthrough
-
[`3c6cdd2`](https://github.com/colinhacks/zod/commit/3c6cdd245ab73d7ca1461a18b5be2da07abe6b6b)
Make generic optional in objectOutputType
-
[`bc43ad1`](https://github.com/colinhacks/zod/commit/bc43ad18e64cf7add23e90bc6b07d5bba8370e5e)
Fix rollup build
-
[`6a0545a`](https://github.com/colinhacks/zod/commit/6a0545acd5b9cfc40b0b3f04e64bfc5dd789d1b1)
3.21.0
-
[`7c07339`](https://github.com/colinhacks/zod/commit/7c0733968d64c7d7aebc1ae54ca90aadcb2bffc3)
Fix brand
-
[`0aa6021`](https://github.com/colinhacks/zod/commit/0aa6021ef3628bb39715bdda416be2c6a4951141)
Clean up tests

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - "after 8:00 before 23:00 every weekday except on Friday" in
timezone UTC.

🚦 **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 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://app.renovatebot.com/dashboard#github/fiatconnect/fiatconnect-types).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xNTcuMSIsInVwZGF0ZWRJblZlciI6IjM0LjE1Ny4xIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
kodiakhq bot referenced this pull request in timelessco/next-ts-app-template Mar 10, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | [`18.14.1` -> `18.15.0`](https://renovatebot.com/diffs/npm/@types%2fnode/18.14.1/18.15.0) | [![age](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.0/compatibility-slim/18.14.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.0/confidence-slim/18.14.1)](https://docs.renovatebot.com/merge-confidence/) |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint) | [`5.53.0` -> `5.54.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/5.53.0/5.54.1) | [![age](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.54.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.54.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.54.1/compatibility-slim/5.53.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.54.1/confidence-slim/5.53.0)](https://docs.renovatebot.com/merge-confidence/) |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint) | [`5.53.0` -> `5.54.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/5.53.0/5.54.1) | [![age](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.54.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.54.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.54.1/compatibility-slim/5.53.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.54.1/confidence-slim/5.53.0)](https://docs.renovatebot.com/merge-confidence/) |
| [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | [`8.34.0` -> `8.35.0`](https://renovatebot.com/diffs/npm/eslint/8.34.0/8.35.0) | [![age](https://badges.renovateapi.com/packages/npm/eslint/8.35.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/eslint/8.35.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/eslint/8.35.0/compatibility-slim/8.34.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/eslint/8.35.0/confidence-slim/8.34.0)](https://docs.renovatebot.com/merge-confidence/) |
| [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) | [`8.6.0` -> `8.7.0`](https://renovatebot.com/diffs/npm/eslint-config-prettier/8.6.0/8.7.0) | [![age](https://badges.renovateapi.com/packages/npm/eslint-config-prettier/8.7.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/eslint-config-prettier/8.7.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/eslint-config-prettier/8.7.0/compatibility-slim/8.6.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/eslint-config-prettier/8.7.0/confidence-slim/8.6.0)](https://docs.renovatebot.com/merge-confidence/) |
| [eslint-plugin-tailwindcss](https://github.com/francoismassart/eslint-plugin-tailwindcss) | [`^3.9.0` -> `^3.10.1`](https://renovatebot.com/diffs/npm/eslint-plugin-tailwindcss/3.9.0/3.10.1) | [![age](https://badges.renovateapi.com/packages/npm/eslint-plugin-tailwindcss/3.10.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/eslint-plugin-tailwindcss/3.10.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/eslint-plugin-tailwindcss/3.10.1/compatibility-slim/3.9.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/eslint-plugin-tailwindcss/3.10.1/confidence-slim/3.9.0)](https://docs.renovatebot.com/merge-confidence/) |
| [jest](https://jestjs.io/) ([source](https://github.com/facebook/jest)) | [`29.4.3` -> `29.5.0`](https://renovatebot.com/diffs/npm/jest/29.4.3/29.5.0) | [![age](https://badges.renovateapi.com/packages/npm/jest/29.5.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/jest/29.5.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/jest/29.5.0/compatibility-slim/29.4.3)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/jest/29.5.0/confidence-slim/29.4.3)](https://docs.renovatebot.com/merge-confidence/) |
| [jest-environment-jsdom](https://github.com/facebook/jest) | [`29.4.3` -> `29.5.0`](https://renovatebot.com/diffs/npm/jest-environment-jsdom/29.4.3/29.5.0) | [![age](https://badges.renovateapi.com/packages/npm/jest-environment-jsdom/29.5.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/jest-environment-jsdom/29.5.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/jest-environment-jsdom/29.5.0/compatibility-slim/29.4.3)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/jest-environment-jsdom/29.5.0/confidence-slim/29.4.3)](https://docs.renovatebot.com/merge-confidence/) |
| [lint-staged](https://github.com/okonet/lint-staged) | [`13.1.2` -> `13.2.0`](https://renovatebot.com/diffs/npm/lint-staged/13.1.2/13.2.0) | [![age](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.0/compatibility-slim/13.1.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.0/confidence-slim/13.1.2)](https://docs.renovatebot.com/merge-confidence/) |
| [release-it](https://github.com/release-it/release-it) | [`15.6.0` -> `15.8.0`](https://renovatebot.com/diffs/npm/release-it/15.6.0/15.8.0) | [![age](https://badges.renovateapi.com/packages/npm/release-it/15.8.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/release-it/15.8.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/release-it/15.8.0/compatibility-slim/15.6.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/release-it/15.8.0/confidence-slim/15.6.0)](https://docs.renovatebot.com/merge-confidence/) |
| [zod](https://zod.dev) ([source](https://github.com/colinhacks/zod)) | [`3.20.6` -> `3.21.4`](https://renovatebot.com/diffs/npm/zod/3.20.6/3.21.4) | [![age](https://badges.renovateapi.com/packages/npm/zod/3.21.4/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/zod/3.21.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/zod/3.21.4/compatibility-slim/3.20.6)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/zod/3.21.4/confidence-slim/3.20.6)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/eslint-plugin)</summary>

### [`v5.54.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5541-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5540v5541-2023-03-06)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.54.0...v5.54.1)

**Note:** Version bump only for package [@&#8203;typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/eslint-plugin)

### [`v5.54.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5540-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5530v5540-2023-02-27)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.53.0...v5.54.0)

##### Features

-   **eslint-plugin:** \[promise-function-async] check for promises in implicit return types ([#&#8203;6330](https://github.com/typescript-eslint/typescript-eslint/issues/6330)) ([de1e5ce](https://github.com/typescript-eslint/typescript-eslint/commit/de1e5ce11250b259f1f809859eeb7eaa162e897f)), closes [#&#8203;6329](https://github.com/typescript-eslint/typescript-eslint/issues/6329)

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/parser)</summary>

### [`v5.54.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5541-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5540v5541-2023-03-06)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.54.0...v5.54.1)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

### [`v5.54.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5540-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5530v5540-2023-02-27)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.53.0...v5.54.0)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

</details>

<details>
<summary>eslint/eslint</summary>

### [`v8.35.0`](https://github.com/eslint/eslint/releases/tag/v8.35.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.34.0...v8.35.0)

##### Features

-   [`8e34a04`](https://github.com/eslint/eslint/commit/8e34a04e3a4395bce59bc6acadf84281abc11d18) feat: add `afterHashbangComment` option to `lines-around-comment` rule ([#&#8203;16920](https://github.com/eslint/eslint/issues/16920)) (SUZUKI Sosuke)
-   [`c8c0c71`](https://github.com/eslint/eslint/commit/c8c0c715a2964cc1859b99f9d4f542675094d1d5) feat: Move all and recommended configs into package. ([#&#8203;16844](https://github.com/eslint/eslint/issues/16844)) (Nicholas C. Zakas)
-   [`71f6f0d`](https://github.com/eslint/eslint/commit/71f6f0dcd574320ee71c3eb1f313841899bdf260) feat: report more cases with `??` in no-constant-binary-expression ([#&#8203;16826](https://github.com/eslint/eslint/issues/16826)) (Daiki Nishikawa)

##### Bug Fixes

-   [`9698bc5`](https://github.com/eslint/eslint/commit/9698bc5cdec1bbee567a6a489da82e87fe65d019) fix: pin esquery v1.4.0 (fixes [#&#8203;16896](https://github.com/eslint/eslint/issues/16896)) ([#&#8203;16897](https://github.com/eslint/eslint/issues/16897)) (唯然)

##### Documentation

-   [`f9f195e`](https://github.com/eslint/eslint/commit/f9f195ef12deb114fb86763010a23ea0cb4c78d1) docs: Plugin docs cleanup & expansion ([#&#8203;16862](https://github.com/eslint/eslint/issues/16862)) (Ben Perlmutter)
-   [`df809fd`](https://github.com/eslint/eslint/commit/df809fdedc5fc92df4be8340e28baedbde605b4f) docs: Custom Formatters page cleanup/expansion ([#&#8203;16886](https://github.com/eslint/eslint/issues/16886)) (Ben Perlmutter)
-   [`0700d1b`](https://github.com/eslint/eslint/commit/0700d1b14659bf39b1a08f082c44c9084cf676a8) docs: Add PostCSS/Autoprefixer/CSSNano ([#&#8203;16502](https://github.com/eslint/eslint/issues/16502)) (Nick Schonning)
-   [`7b9e9bf`](https://github.com/eslint/eslint/commit/7b9e9bf78bedb009fe2813308ede1f46502c3890) docs: support unicode anchors ([#&#8203;16782](https://github.com/eslint/eslint/issues/16782)) (Percy Ma)
-   [`5fbc0bf`](https://github.com/eslint/eslint/commit/5fbc0bffdd9f84feb43296eb502d1e484fb323f2) docs: Update README (GitHub Actions Bot)
-   [`67865a0`](https://github.com/eslint/eslint/commit/67865a064cc1a4e320030299edc1cfdd1f9ac3b8) docs: Remove mention of mailing list ([#&#8203;16869](https://github.com/eslint/eslint/issues/16869)) (Amaresh  S M)
-   [`43af24a`](https://github.com/eslint/eslint/commit/43af24a88b939a62880c37d1332b02f677d82f16) docs: Add explanation of when to use 'warn' severity ([#&#8203;16882](https://github.com/eslint/eslint/issues/16882)) (Nicholas C. Zakas)
-   [`ed2999b`](https://github.com/eslint/eslint/commit/ed2999b38b4d61f5c278301738e294012d5d3c9e) docs: Shareable configs page edits and expansion ([#&#8203;16824](https://github.com/eslint/eslint/issues/16824)) (Ben Perlmutter)
-   [`2780635`](https://github.com/eslint/eslint/commit/27806358b5e1c4d37b63b1c61595e86ff03b5b42) docs: fix typos ([#&#8203;16884](https://github.com/eslint/eslint/issues/16884)) (Lioness100)
-   [`5bdaae2`](https://github.com/eslint/eslint/commit/5bdaae205c3a0089ea338b382df59e21d5b06436) docs: Ways to Extend ESLint page ([#&#8203;16861](https://github.com/eslint/eslint/issues/16861)) (Ben Perlmutter)

##### Chores

-   [`cdcbe12`](https://github.com/eslint/eslint/commit/cdcbe127de20cbcc4e24131a808c13b1024e61a2) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).35.0 ([#&#8203;16935](https://github.com/eslint/eslint/issues/16935)) (Brandon Mills)
-   [`c954c34`](https://github.com/eslint/eslint/commit/c954c349c0c2f88919614efc95e1368c245582fd) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint Jenkins)
-   [`5a517da`](https://github.com/eslint/eslint/commit/5a517da8e55f6de28e9c028c5627fa7d82945969) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint Jenkins)
-   [`9f10926`](https://github.com/eslint/eslint/commit/9f10926d76be7cf675721b29bd5030e85cb4ab30) chore: upgrade [@&#8203;eslint/eslintrc](https://github.com/eslint/eslintrc)[@&#8203;2](https://github.com/2).0.0 ([#&#8203;16928](https://github.com/eslint/eslint/issues/16928)) (Milos Djermanovic)
-   [`da728fa`](https://github.com/eslint/eslint/commit/da728fae6c4e5fdda74195e84d45d67ad5cafc45) ci: use LTS node version in workflows ([#&#8203;16907](https://github.com/eslint/eslint/issues/16907)) (Nitin Kumar)
-   [`c57b4f3`](https://github.com/eslint/eslint/commit/c57b4f3dc6383e452120381204ee4a7c874225a0) perf: upgrade to [email protected] ([#&#8203;16901](https://github.com/eslint/eslint/issues/16901)) (Milos Djermanovic)
-   [`9122f07`](https://github.com/eslint/eslint/commit/9122f0764031dc36970df715bc5e16973890e18d) chore: Update stale bot settings ([#&#8203;16870](https://github.com/eslint/eslint/issues/16870)) (Nicholas C. Zakas)

</details>

<details>
<summary>prettier/eslint-config-prettier</summary>

### [`v8.7.0`](https://github.com/prettier/eslint-config-prettier/blob/HEAD/CHANGELOG.md#Version-870-2023-03-06)

[Compare Source](https://github.com/prettier/eslint-config-prettier/compare/v8.6.0...v8.7.0)

-   Added: \[[@&#8203;typescript-eslint/block-spacing](https://github.com/typescript-eslint/block-spacing)]. Thanks to [@&#8203;ttionya](https://github.com/ttionya)!
-   Added: \[[@&#8203;typescript-eslint/key-spacing](https://github.com/typescript-eslint/key-spacing)]. Thanks to [@&#8203;ttionya](https://github.com/ttionya)!

</details>

<details>
<summary>francoismassart/eslint-plugin-tailwindcss</summary>

### [`v3.10.1`](https://github.com/francoismassart/eslint-plugin-tailwindcss/releases/tag/v3.10.1)

[Compare Source](https://github.com/francoismassart/eslint-plugin-tailwindcss/compare/v3.10.0...v3.10.1)

-   fix: [default settings conflict](https://github.com/francoismassart/eslint-plugin-tailwindcss/issues/212)
-   fix: [`classRegex` ignored in vuejs](https://github.com/francoismassart/eslint-plugin-tailwindcss/issues/216)

### [`v3.10.0`](https://github.com/francoismassart/eslint-plugin-tailwindcss/releases/tag/v3.10.0): Named group/peer syntax

[Compare Source](https://github.com/francoismassart/eslint-plugin-tailwindcss/compare/v3.9.0...v3.10.0)

-   chore: fix dependency vulnerability (mocha)
-   feat: [support named group/peer syntax](https://github.com/francoismassart/eslint-plugin-tailwindcss/pull/215) (by [hampustagerud](https://github.com/hampustagerud) 🙏)

</details>

<details>
<summary>facebook/jest</summary>

### [`v29.5.0`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#&#8203;2950)

[Compare Source](https://github.com/facebook/jest/compare/v29.4.3...v29.5.0)

##### Features

-   `[jest-changed-files]` Support Sapling ([#&#8203;13941](https://github.com/facebook/jest/pull/13941))
-   `[jest-circus, @&#8203;jest/cli, jest-config]` Add feature to randomize order of tests via CLI flag or through the config file([#&#8203;12922](https://github.com/facebook/jest/pull/12922))
-   `[jest-cli, jest-config, @&#8203;jest/core, jest-haste-map, @&#8203;jest/reporters, jest-runner, jest-runtime, @&#8203;jest/types]` Add `workerThreads` configuration option to allow using [worker threads](https://nodejs.org/dist/latest/docs/api/worker_threads.html) for parallelization ([#&#8203;13939](https://github.com/facebook/jest/pull/13939))
-   `[jest-cli]` Export `yargsOptions` ([#&#8203;13970](https://github.com/facebook/jest/pull/13970))
-   `[jest-config]` Add `openHandlesTimeout` option to configure possible open handles warning. ([#&#8203;13875](https://github.com/facebook/jest/pull/13875))
-   `[@jest/create-cache-key-function]` Allow passing `length` argument to `createCacheKey()` function and set its default value to `16` on Windows ([#&#8203;13827](https://github.com/facebook/jest/pull/13827))
-   `[jest-message-util]` Add support for [AggregateError](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError) ([#&#8203;13946](https://github.com/facebook/jest/pull/13946) & [#&#8203;13947](https://github.com/facebook/jest/pull/13947))
-   `[jest-message-util]` Add support for [Error causes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/cause) in `test` and `it` ([#&#8203;13935](https://github.com/facebook/jest/pull/13935) & [#&#8203;13966](https://github.com/facebook/jest/pull/13966))
-   `[jest-reporters]` Add `summaryThreshold` option to summary reporter to allow overriding the internal threshold that is used to print the summary of all failed tests when the number of test suites surpasses it ([#&#8203;13895](https://github.com/facebook/jest/pull/13895))
-   `[jest-runtime]` Expose `@sinonjs/fake-timers` async APIs functions `advanceTimersByTimeAsync(msToRun)` (`tickAsync(msToRun)`), `advanceTimersToNextTimerAsync(steps)` (`nextAsync`), `runAllTimersAsync` (`runAllAsync`), and `runOnlyPendingTimersAsync` (`runToLastAsync`) ([#&#8203;13981](https://github.com/facebook/jest/pull/13981))
-   `[jest-runtime, @&#8203;jest/transform]` Allow V8 coverage provider to collect coverage from files which were not loaded explicitly ([#&#8203;13974](https://github.com/facebook/jest/pull/13974))
-   `[jest-snapshot]` Add support to `cts` and `mts` TypeScript files to inline snapshots ([#&#8203;13975](https://github.com/facebook/jest/pull/13975))
-   `[jest-worker]` Add `start` method to worker farms ([#&#8203;13937](https://github.com/facebook/jest/pull/13937))
-   `[jest-worker]` Support passing a URL as path to worker ([#&#8203;13982](https://github.com/facebook/jest/pull/13982))

##### Fixes

-   `[babel-plugin-jest-hoist]` Fix unwanted hoisting of nested `jest` usages ([#&#8203;13952](https://github.com/facebook/jest/pull/13952))
-   `[jest-circus]` Send test case results for `todo` tests ([#&#8203;13915](https://github.com/facebook/jest/pull/13915))
-   `[jest-circus]` Update message printed on test timeout ([#&#8203;13830](https://github.com/facebook/jest/pull/13830))
-   `[jest-circus]` Avoid creating the word "testfalse" when `takesDoneCallback` is `false` in the message printed on test timeout AND updated timeouts test ([#&#8203;13954](https://github.com/facebook/jest/pull/13954))
-   `[jest-environment-jsdom]` Stop setting `document` to `null` on teardown ([#&#8203;13972](https://github.com/facebook/jest/pull/13972))
-   `[@jest/expect-utils]` Update `toStrictEqual()` to be able to check `jest.fn().mock.calls` ([#&#8203;13960](https://github.com/facebook/jest/pull/13960))
-   `[@jest/test-result]` Allow `TestResultsProcessor` type to return a Promise ([#&#8203;13950](https://github.com/facebook/jest/pull/13950))

##### Chore & Maintenance

-   `[jest-snapshot]` Remove dependency on `jest-haste-map` ([#&#8203;13977](https://github.com/facebook/jest/pull/13977))

</details>

<details>
<summary>okonet/lint-staged</summary>

### [`v13.2.0`](https://github.com/okonet/lint-staged/releases/tag/v13.2.0)

[Compare Source](https://github.com/okonet/lint-staged/compare/c01d9524f6bcec8180e6f870f0c86ae3f77ab76a...v13.2.0)

##### Bug Fixes

-   **dependencies:** replace `colorette` with `chalk` for better color support detection ([f598725](https://github.com/okonet/lint-staged/commit/f5987252ae59537727a93373b59ab47bc2651a2f))
-   use index-based stash references for improved MSYS2 compatibility ([#&#8203;1270](https://github.com/okonet/lint-staged/issues/1270)) ([60fcd99](https://github.com/okonet/lint-staged/commit/60fcd99451b88336a05ebbe71cda8909d2733ad7))

##### Features

-   version bump only ([#&#8203;1275](https://github.com/okonet/lint-staged/issues/1275)) ([05fb382](https://github.com/okonet/lint-staged/commit/05fb3829faa5437276d98450c34699fecfc8c1c8))

### [`v13.1.4`](https://github.com/okonet/lint-staged/compare/da6da00654248c34e4f7ce94f61d68ee46f177a1...c01d9524f6bcec8180e6f870f0c86ae3f77ab76a)

[Compare Source](https://github.com/okonet/lint-staged/compare/da6da00654248c34e4f7ce94f61d68ee46f177a1...c01d9524f6bcec8180e6f870f0c86ae3f77ab76a)

### [`v13.1.3`](https://github.com/okonet/lint-staged/compare/v13.1.2...da6da00654248c34e4f7ce94f61d68ee46f177a1)

[Compare Source](https://github.com/okonet/lint-staged/compare/v13.1.2...da6da00654248c34e4f7ce94f61d68ee46f177a1)

</details>

<details>
<summary>release-it/release-it</summary>

### [`v15.8.0`](https://github.com/release-it/release-it/releases/tag/15.8.0)

[Compare Source](https://github.com/release-it/release-it/compare/15.7.0...15.8.0)

-   Skip test (ENAMETOOLONG on Windows) ([`ca9a767`](https://github.com/release-it/release-it/commit/ca9a767))
-   Update dependencies ([`377c880`](https://github.com/release-it/release-it/commit/377c880))
-   Truncate github release notes body > 124k characters (closes [#&#8203;965](https://github.com/release-it/release-it/issues/965)) ([`218ffc1`](https://github.com/release-it/release-it/commit/218ffc1))
-   Add note about github.autoGenerate (closes [#&#8203;945](https://github.com/release-it/release-it/issues/945)) ([`eaf85d7`](https://github.com/release-it/release-it/commit/eaf85d7))
-   Skip publish prompt when package.json has private: true (fixes [#&#8203;936](https://github.com/release-it/release-it/issues/936)) ([`d816d40`](https://github.com/release-it/release-it/commit/d816d40))

### [`v15.7.0`](https://github.com/release-it/release-it/releases/tag/15.7.0)

[Compare Source](https://github.com/release-it/release-it/compare/15.6.1...15.7.0)

-   Replace master with main where applicable ([`f4702c4`](https://github.com/release-it/release-it/commit/f4702c4))
-   feat: make exit 0 possible when commits required but missing ([#&#8203;984](https://github.com/release-it/release-it/issues/984)) ([`7076fd3`](https://github.com/release-it/release-it/commit/7076fd3))
-   feat: configurable path in git rev-list ([#&#8203;982](https://github.com/release-it/release-it/issues/982)) ([`81a7d69`](https://github.com/release-it/release-it/commit/81a7d69))
-   Add increased timeout to test/tasks.js (for Windows) ([`0a23c55`](https://github.com/release-it/release-it/commit/0a23c55))

### [`v15.6.1`](https://github.com/release-it/release-it/releases/tag/15.6.1)

[Compare Source](https://github.com/release-it/release-it/compare/15.6.0...15.6.1)

-   Update dependencies ([`554c600`](https://github.com/release-it/release-it/commit/554c600))
-   Fix `npm list collaborators` diff in npm v8 vs v9 in tests ([`1935621`](https://github.com/release-it/release-it/commit/1935621))
-   Mention bumper plugin in npm docs ([`1e6dca8`](https://github.com/release-it/release-it/commit/1e6dca8))
-   Fixed plugins README on `peerDependencies` property ([#&#8203;980](https://github.com/release-it/release-it/issues/980)) ([`7784c97`](https://github.com/release-it/release-it/commit/7784c97))
-   Update dependencies ([`2a8271f`](https://github.com/release-it/release-it/commit/2a8271f))
-   Add axios to list of projects using release-it ([`b525c25`](https://github.com/release-it/release-it/commit/b525c25))

</details>

<details>
<summary>colinhacks/zod</summary>

### [`v3.21.4`](https://github.com/colinhacks/zod/releases/tag/v3.21.4)

[Compare Source](https://github.com/colinhacks/zod/compare/v3.21.3...v3.21.4)

#### Commits:

-   [`22f3cc6`](https://github.com/colinhacks/zod/commit/22f3cc6ed52a28c984a0319a1a03e1af244cee02) 3.21.4

### [`v3.21.3`](https://github.com/colinhacks/zod/releases/tag/v3.21.3)

[Compare Source](https://github.com/colinhacks/zod/compare/v3.21.2...v3.21.3)

#### Commits:

-   [`14c08d8`](https://github.com/colinhacks/zod/commit/14c08d87129c3b652f03d2e724979c383c55e0b4) added more `.pipe` examples
-   [`006e652`](https://github.com/colinhacks/zod/commit/006e6521f425b38e1fbb898e29921fe885caf7ba) Fix npm canary action paths pattern ([#&#8203;2148](https://github.com/colinhacks/zod/issues/2148))
-   [`bdcff0f`](https://github.com/colinhacks/zod/commit/bdcff0f20f4c35dd6a44b1324711dfd34a41ae96) Remove logging in tests
-   [`a5830c6`](https://github.com/colinhacks/zod/commit/a5830c6d3fe28f0d5435cc9ff22846be7f5977c1) Reverted [#&#8203;1564](https://github.com/colinhacks/zod/issues/1564)
-   [`c458381`](https://github.com/colinhacks/zod/commit/c4583819e77a702e21b587c4bf081d0292f2b754) Fix tests
-   [`2db0dca`](https://github.com/colinhacks/zod/commit/2db0dcadc961fd57f7f10f9d9f55d67e6d040342) 3.21.3

### [`v3.21.2`](https://github.com/colinhacks/zod/releases/tag/v3.21.2)

[Compare Source](https://github.com/colinhacks/zod/compare/v3.21.1...v3.21.2)

#### Commits:

-   [`b276d71`](https://github.com/colinhacks/zod/commit/b276d71eaefef6cb87c81e8429bd160e4b68c168) Improve typings in generics
-   [`4d016b7`](https://github.com/colinhacks/zod/commit/4d016b772b79d566bfa2a0c2fc5bfbd92b776982) Improve type inference in generics
-   [`f9895ab`](https://github.com/colinhacks/zod/commit/f9895ab1650ef3df9c598a8c43ede0160596ac2e) Improve types inside generic functions
-   [`ac0135e`](https://github.com/colinhacks/zod/commit/ac0135e00df75abd57a93a4816fe0fdaa31e94e8) Pass input into catchValue

### [`v3.21.1`](https://github.com/colinhacks/zod/releases/tag/v3.21.1)

[Compare Source](https://github.com/colinhacks/zod/compare/v3.21.0...v3.21.1)

#### Features

Support for [ULID](https://github.com/ulid/spec) validation

```ts
z.string().ulid();
```

#### Commits:

-   [`4f89461`](https://github.com/colinhacks/zod/commit/4f8946182ee07eb7b5d40efa908b1715414e8929) Prettier
-   [`bd6527a`](https://github.com/colinhacks/zod/commit/bd6527a47a4626135dccac113a7b09f81b675edd) Update deps
-   [`126c77b`](https://github.com/colinhacks/zod/commit/126c77b3130d9a68032f72ac76dd9e1ccfd86c2c) added `toLowerCase` and `toUpperCase` back in for v3.21.0
-   [`1749657`](https://github.com/colinhacks/zod/commit/174965739d17db348d445ab250fb2cf6bd7cdd51) Update README.md
-   [`dabe63d`](https://github.com/colinhacks/zod/commit/dabe63d15eb6d22246aa5d5c83b69d1d5f4c2f4b) updated `z.custom` example again :D
-   [`6b8f655`](https://github.com/colinhacks/zod/commit/6b8f6557d9b53ea7ad3fda753a51cdf153ba1fb7) docs: improve cn readme ([#&#8203;2143](https://github.com/colinhacks/zod/issues/2143))
-   [`9012dc7`](https://github.com/colinhacks/zod/commit/9012dc7055e1467b6d619a6c0ad016fdfbde2b9c) add `.includes(value, options?)` @&#8203; `ZodString`. ([#&#8203;1887](https://github.com/colinhacks/zod/issues/1887))
-   [`67b981e`](https://github.com/colinhacks/zod/commit/67b981e70b4bacb2278a9aacd22d38cbb4b52d17) Make safeParse().error a getter
-   [`346fde0`](https://github.com/colinhacks/zod/commit/346fde03724bfd1601823e4f72470bc7e344030b) 3.21.0-canary.20230304T235951
-   [`b50d871`](https://github.com/colinhacks/zod/commit/b50d871b2f5949587afdcce2375227a447dbb742) Add canary release CI
-   [`b20cca2`](https://github.com/colinhacks/zod/commit/b20cca230a6a9beb8acf841250641b62847b6e80) Fix canary
-   [`f7f5c50`](https://github.com/colinhacks/zod/commit/f7f5c50c65d7c7e5262c028e6832b92b14d84ea5) Move action to .github/workflows
-   [`f01fa0e`](https://github.com/colinhacks/zod/commit/f01fa0e48ca18630604366f5bc7401a18eb4d018) Try to fix canary CI
-   [`f5e8067`](https://github.com/colinhacks/zod/commit/f5e8067b2afcc3e5ae9f8ed389a31b83a7c3ceec) No git tag
-   [`5b304ae`](https://github.com/colinhacks/zod/commit/5b304ae41705105ae6edcacdb6dfdac9c527b3f4) No dry run
-   [`20df80e`](https://github.com/colinhacks/zod/commit/20df80e6ce2ac27f6e2f26b61cd1fd4c942b152d) Add tsc compilation test
-   [`ead93d3`](https://github.com/colinhacks/zod/commit/ead93d3cfde54efe952dc615c21ff179a00f7574) Document .pipe()
-   [`d8e8653`](https://github.com/colinhacks/zod/commit/d8e86534325fb00bc0193a4c6af04f2a67bd2e4e) Update headers
-   [`03c0ab1`](https://github.com/colinhacks/zod/commit/03c0ab1640ca9111d9fbac3c261e2f76e3cbf247) Cache the evaluation of ParseInputLazyPath.path() for a moderate perf improvement ([#&#8203;2137](https://github.com/colinhacks/zod/issues/2137))
-   [`e7b3b7b`](https://github.com/colinhacks/zod/commit/e7b3b7bf493caeee7e4f043eea024e4d3badc090) Improve string docs
-   [`83478f5`](https://github.com/colinhacks/zod/commit/83478f5e413c333f07f53b9b4bb8c24b75e1cecf) Remove zod dep
-   [`2f1868d`](https://github.com/colinhacks/zod/commit/2f1868d0c17c0e401c4438d9d35e68f9685a741b) Specify paths for canary
-   [`e599966`](https://github.com/colinhacks/zod/commit/e599966709fe0253d6779ce1dec38a2adcebf41f) Add sponsors
-   [`950bd17`](https://github.com/colinhacks/zod/commit/950bd17f01668b45e592a678974437b15012b158) Tweak x.custom example
-   [`728e56a`](https://github.com/colinhacks/zod/commit/728e56a7e157cca8cdc0ab937f25a2412673c934) Close [#&#8203;2127](https://github.com/colinhacks/zod/issues/2127)
-   [`64883e4`](https://github.com/colinhacks/zod/commit/64883e4fe41b10eb577c4f9eaf6f24fa29bcd60d) feat: z.string().ulid() - add support for ulids ([#&#8203;2049](https://github.com/colinhacks/zod/issues/2049))
-   [`e0d709b`](https://github.com/colinhacks/zod/commit/e0d709b1348efab06ac5341d360a411bc09eb7ba) 3.20.1
-   [`9c33194`](https://github.com/colinhacks/zod/commit/9c3319443cfc953adc51786e8d6fe0bbe1e37f8e) Remove comments, clean up utils
-   [`942e2db`](https://github.com/colinhacks/zod/commit/942e2db8e51d580f4e3cd8c4c4af8bc6aecf4130) Fix tests

### [`v3.21.0`](https://github.com/colinhacks/zod/releases/tag/v3.21.0)

[Compare Source](https://github.com/colinhacks/zod/compare/v3.20.6...v3.21.0)

#### Features

##### `z.string().emoji()`

Thanks [@&#8203;joseph-lozano](https://github.com/joseph-lozano) for [https://github.com/colinhacks/zod/pull/2045](https://github.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 [@&#8203;joulev](https://github.com/joulev) for [https://github.com/colinhacks/zod/pull/1813](https://github.com/colinhacks/zod/pull/1813)! To validate [CUIDv2](https://github.com/paralleldrive/cuid2):

```ts
z.string().cuid2()
```

##### `z.string().ip()`

Thanks [@&#8203;fvckDesa](https://github.com/fvckDesa) for [https://github.com/colinhacks/zod/pull/2066](https://github.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 [@&#8203;igalklebanov](https://github.com/igalklebanov) for [`#1711`](https://github.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 [@&#8203;santosmarco-caribou](https://github.com/santosmarco-caribou) for [https://github.com/colinhacks/zod/pull/1652](https://github.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 [@&#8203;0xWryth](https://github.com/0xWryth) for [https://github.com/colinhacks/zod/pull/2087](https://github.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 [@&#8203;gydroperit](https://github.com/gydroperit) for some heroic efforts here: [https://github.com/colinhacks/zod/pull/2107](https://github.com/colinhacks/zod/pull/2107) Zod 3.21 resolves these issues:

-   [https://github.com/colinhacks/zod/issues/2142](https://github.com/colinhacks/zod/issues/2142)
-   [https://github.com/colinhacks/zod/issues/1741](https://github.com/colinhacks/zod/issues/1741)
-   https://stackoverflow.com/questions/74881472/slow-typescript-autocompletion-in-vs-code-for-zod

#### Commits:

-   [`3c54461`](https://github.com/colinhacks/zod/commit/3c54461d7a649bf727aec59367eefb214ffe24fe) fix typo in readme
-   [`c244fb6`](https://github.com/colinhacks/zod/commit/c244fb6c57506fd11609106960639de26ddf9b6d) feat: z.string().emoji() ([#&#8203;2045](https://github.com/colinhacks/zod/issues/2045))
-   [`39cbb69`](https://github.com/colinhacks/zod/commit/39cbb6971c3dca09cbc0acdca2d3995dfd26aab2) Fix emoji validation, fix lint
-   [`d8f07bb`](https://github.com/colinhacks/zod/commit/d8f07bbfffd255b0aee6b5fe9bb6aa2bce6586af) Fix emoji
-   [`9b7dd81`](https://github.com/colinhacks/zod/commit/9b7dd816e92e16ca735e488b77e280a92a84ed64) Improve variable name clarity ([#&#8203;2048](https://github.com/colinhacks/zod/issues/2048))
-   [`5cec187`](https://github.com/colinhacks/zod/commit/5cec1871ac21627608af6c07585d5e50ff30f281) Add documentation for the param parameter of z.custom
-   [`654f529`](https://github.com/colinhacks/zod/commit/654f52969a968c630af816dcad0d8f3721f9001a) Merge pull request [#&#8203;2057](https://github.com/colinhacks/zod/issues/2057) from trygveaa/add-documentation-for-z-custom-params
-   [`981af65`](https://github.com/colinhacks/zod/commit/981af6503ee1be530fe525ac77ba95e1904ce24a) Merge pull request [#&#8203;2019](https://github.com/colinhacks/zod/issues/2019) from vbud/patch-1
-   [`a7c2969`](https://github.com/colinhacks/zod/commit/a7c2969b9125df0fbfa65e8541a974eeaf53b6a6) Update error_handling
-   [`8f3d028`](https://github.com/colinhacks/zod/commit/8f3d0283ba75d146d5199fe3dc140eeb5402352c) BRAND Record to Non Partial ([#&#8203;2097](https://github.com/colinhacks/zod/issues/2097))
-   [`5ec98e1`](https://github.com/colinhacks/zod/commit/5ec98e1c4420957f93a7388bf49fb01d91bcbcd0) Fix email issues in pull request [#&#8203;1982](https://github.com/colinhacks/zod/issues/1982) ([#&#8203;2058](https://github.com/colinhacks/zod/issues/2058))
-   [`7d40ba5`](https://github.com/colinhacks/zod/commit/7d40ba58931130ec965be9d65d14e0665ee9c379) feat([#&#8203;2059](https://github.com/colinhacks/zod/issues/2059)): z.string.ip() - add support for IP address ([#&#8203;2066](https://github.com/colinhacks/zod/issues/2066))
-   [`e559605`](https://github.com/colinhacks/zod/commit/e5596054cfddf8aa1ba8d7d3bad63552a2bf9b6a) feat: add `.catch` error ([#&#8203;2087](https://github.com/colinhacks/zod/issues/2087))
-   [`defdab9`](https://github.com/colinhacks/zod/commit/defdab9c163d9a994f927a0644ab4ec172513fcb) Fix record tests
-   [`8de36eb`](https://github.com/colinhacks/zod/commit/8de36eb17d9477ada75cea2164d6b47079dd0444) FIX: emoji regex and tests ([#&#8203;2090](https://github.com/colinhacks/zod/issues/2090))
-   [`16beeb5`](https://github.com/colinhacks/zod/commit/16beeb598039b33bc5a209956042d858abacca34) lowercase method for ZodString ([#&#8203;2038](https://github.com/colinhacks/zod/issues/2038))
-   [`75cb9e8`](https://github.com/colinhacks/zod/commit/75cb9e814115a35c0b4cc2e970f6aaae90e1a13c) add checks @&#8203; `ZodBigInt`. ([#&#8203;1711](https://github.com/colinhacks/zod/issues/1711))
-   [`c4d4e49`](https://github.com/colinhacks/zod/commit/c4d4e494227aadc752d4d5a5a317ec16bb6f5a45) Update ERROR_HANDLING.md ([#&#8203;2022](https://github.com/colinhacks/zod/issues/2022))
-   [`d6f0890`](https://github.com/colinhacks/zod/commit/d6f08908b17ea10456befc2231a867d5cea02a0e) added link to deno land
-   [`4cf1960`](https://github.com/colinhacks/zod/commit/4cf19606870e66bf4307984bf99a4bef495c7818) Refactoring of ZodFormattedError type to improve tsc check time ([#&#8203;2107](https://github.com/colinhacks/zod/issues/2107))
-   [`867a921`](https://github.com/colinhacks/zod/commit/867a921a93160780d9f3aeddabf1ca49758a3c1e) Bump http-cache-semantics from 4.1.0 to 4.1.1 ([#&#8203;1985](https://github.com/colinhacks/zod/issues/1985))
-   [`edc3a67`](https://github.com/colinhacks/zod/commit/edc3a67e77d33979b3ee9e071557b4ca53298c55) Deprecate deepPartial
-   [`e59f639`](https://github.com/colinhacks/zod/commit/e59f639d3bb5cca65ef239d5dd5c93e74ce4a801) Add custom tests
-   [`a6b44ed`](https://github.com/colinhacks/zod/commit/a6b44ed8e346af2fabbb62b5164b99a387accd32) Remove logging
-   [`a1fc3fb`](https://github.com/colinhacks/zod/commit/a1fc3fb815051beb4b7030969828aa6abe469c2c) commented out `toLowerCase` and `toUpperCase`
-   [`e71cc52`](https://github.com/colinhacks/zod/commit/e71cc523b1865568c4db45f82789e5c86bed0f12) Update README_ZH.md ([#&#8203;2139](https://github.com/colinhacks/zod/issues/2139))
-   [`3af38fb`](https://github.com/colinhacks/zod/commit/3af38fbe2cb114219e688103e41e382e28ec7a80) add `ZodNumber.safe()` & `ZodNumber.isSafe`. ([#&#8203;1753](https://github.com/colinhacks/zod/issues/1753))
-   [`6ef82ee`](https://github.com/colinhacks/zod/commit/6ef82ee1e45dbcfc92a2ed359b1d2ae87d54c43d) Add benchmark flags
-   [`5463593`](https://github.com/colinhacks/zod/commit/5463593385549452768e060a98cc0fd8988760d2) Support brands in recursive types
-   [`8074523`](https://github.com/colinhacks/zod/commit/80745238937adc06c5b4eab19ef273ca9f7f2de8) Update readme
-   [`b6794a4`](https://github.com/colinhacks/zod/commit/b6794a4981b8621fee84642f5313464f5e8f9a22) Add index signature for passthrough
-   [`3c6cdd2`](https://github.com/colinhacks/zod/commit/3c6cdd245ab73d7ca1461a18b5be2da07abe6b6b) Make generic optional in objectOutputType
-   [`bc43ad1`](https://github.com/colinhacks/zod/commit/bc43ad18e64cf7add23e90bc6b07d5bba8370e5e) Fix rollup build
-   [`6a0545a`](https://github.com/colinhacks/zod/commit/6a0545acd5b9cfc40b0b3f04e64bfc5dd789d1b1) 3.21.0
-   [`7c07339`](https://github.com/colinhacks/zod/commit/7c0733968d64c7d7aebc1ae54ca90aadcb2bffc3) Fix brand
-   [`0aa6021`](https://github.com/colinhacks/zod/commit/0aa6021ef3628bb39715bdda416be2c6a4951141) Clean up tests

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 12am and before 5am on saturday" in timezone Asia/Kolkata, 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://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] 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://app.renovatebot.com/dashboard#github/navin-moorthy/next-react-app).
renovate bot referenced this pull request in tf2pickup-org/server Mar 16, 2023
[![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://github.com/colinhacks/zod))
| [`3.20.2` ->
`3.21.4`](https://renovatebot.com/diffs/npm/zod/3.20.2/3.21.4) |
[![age](https://badges.renovateapi.com/packages/npm/zod/3.21.4/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/zod/3.21.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/zod/3.21.4/compatibility-slim/3.20.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/zod/3.21.4/confidence-slim/3.20.2)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>colinhacks/zod</summary>

###
[`v3.21.4`](https://github.com/colinhacks/zod/releases/tag/v3.21.4)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.21.3...v3.21.4)

#### Commits:

-
[`22f3cc6`](https://github.com/colinhacks/zod/commit/22f3cc6ed52a28c984a0319a1a03e1af244cee02)
3.21.4

###
[`v3.21.3`](https://github.com/colinhacks/zod/releases/tag/v3.21.3)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.21.2...v3.21.3)

#### Commits:

-
[`14c08d8`](https://github.com/colinhacks/zod/commit/14c08d87129c3b652f03d2e724979c383c55e0b4)
added more `.pipe` examples
-
[`006e652`](https://github.com/colinhacks/zod/commit/006e6521f425b38e1fbb898e29921fe885caf7ba)
Fix npm canary action paths pattern
([#&#8203;2148](https://github.com/colinhacks/zod/issues/2148))
-
[`bdcff0f`](https://github.com/colinhacks/zod/commit/bdcff0f20f4c35dd6a44b1324711dfd34a41ae96)
Remove logging in tests
-
[`a5830c6`](https://github.com/colinhacks/zod/commit/a5830c6d3fe28f0d5435cc9ff22846be7f5977c1)
Reverted [#&#8203;1564](https://github.com/colinhacks/zod/issues/1564)
-
[`c458381`](https://github.com/colinhacks/zod/commit/c4583819e77a702e21b587c4bf081d0292f2b754)
Fix tests
-
[`2db0dca`](https://github.com/colinhacks/zod/commit/2db0dcadc961fd57f7f10f9d9f55d67e6d040342)
3.21.3

###
[`v3.21.2`](https://github.com/colinhacks/zod/releases/tag/v3.21.2)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.21.1...v3.21.2)

##### Commits:

-
[`b276d71`](https://github.com/colinhacks/zod/commit/b276d71eaefef6cb87c81e8429bd160e4b68c168)
Improve typings in generics
-
[`4d016b7`](https://github.com/colinhacks/zod/commit/4d016b772b79d566bfa2a0c2fc5bfbd92b776982)
Improve type inference in generics
-
[`f9895ab`](https://github.com/colinhacks/zod/commit/f9895ab1650ef3df9c598a8c43ede0160596ac2e)
Improve types inside generic functions
-
[`ac0135e`](https://github.com/colinhacks/zod/commit/ac0135e00df75abd57a93a4816fe0fdaa31e94e8)
Pass input into catchValue

###
[`v3.21.1`](https://github.com/colinhacks/zod/releases/tag/v3.21.1)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.21.0...v3.21.1)

#### Features

Support for [ULID](https://github.com/ulid/spec) validation

```ts
z.string().ulid();
```

#### Commits:

-
[`4f89461`](https://github.com/colinhacks/zod/commit/4f8946182ee07eb7b5d40efa908b1715414e8929)
Prettier
-
[`bd6527a`](https://github.com/colinhacks/zod/commit/bd6527a47a4626135dccac113a7b09f81b675edd)
Update deps
-
[`126c77b`](https://github.com/colinhacks/zod/commit/126c77b3130d9a68032f72ac76dd9e1ccfd86c2c)
added `toLowerCase` and `toUpperCase` back in for v3.21.0
-
[`1749657`](https://github.com/colinhacks/zod/commit/174965739d17db348d445ab250fb2cf6bd7cdd51)
Update README.md
-
[`dabe63d`](https://github.com/colinhacks/zod/commit/dabe63d15eb6d22246aa5d5c83b69d1d5f4c2f4b)
updated `z.custom` example again :D
-
[`6b8f655`](https://github.com/colinhacks/zod/commit/6b8f6557d9b53ea7ad3fda753a51cdf153ba1fb7)
docs: improve cn readme
([#&#8203;2143](https://github.com/colinhacks/zod/issues/2143))
-
[`9012dc7`](https://github.com/colinhacks/zod/commit/9012dc7055e1467b6d619a6c0ad016fdfbde2b9c)
add `.includes(value, options?)` @&#8203; `ZodString`.
([#&#8203;1887](https://github.com/colinhacks/zod/issues/1887))
-
[`67b981e`](https://github.com/colinhacks/zod/commit/67b981e70b4bacb2278a9aacd22d38cbb4b52d17)
Make safeParse().error a getter
-
[`346fde0`](https://github.com/colinhacks/zod/commit/346fde03724bfd1601823e4f72470bc7e344030b)
3.21.0-canary.20230304T235951
-
[`b50d871`](https://github.com/colinhacks/zod/commit/b50d871b2f5949587afdcce2375227a447dbb742)
Add canary release CI
-
[`b20cca2`](https://github.com/colinhacks/zod/commit/b20cca230a6a9beb8acf841250641b62847b6e80)
Fix canary
-
[`f7f5c50`](https://github.com/colinhacks/zod/commit/f7f5c50c65d7c7e5262c028e6832b92b14d84ea5)
Move action to .github/workflows
-
[`f01fa0e`](https://github.com/colinhacks/zod/commit/f01fa0e48ca18630604366f5bc7401a18eb4d018)
Try to fix canary CI
-
[`f5e8067`](https://github.com/colinhacks/zod/commit/f5e8067b2afcc3e5ae9f8ed389a31b83a7c3ceec)
No git tag
-
[`5b304ae`](https://github.com/colinhacks/zod/commit/5b304ae41705105ae6edcacdb6dfdac9c527b3f4)
No dry run
-
[`20df80e`](https://github.com/colinhacks/zod/commit/20df80e6ce2ac27f6e2f26b61cd1fd4c942b152d)
Add tsc compilation test
-
[`ead93d3`](https://github.com/colinhacks/zod/commit/ead93d3cfde54efe952dc615c21ff179a00f7574)
Document .pipe()
-
[`d8e8653`](https://github.com/colinhacks/zod/commit/d8e86534325fb00bc0193a4c6af04f2a67bd2e4e)
Update headers
-
[`03c0ab1`](https://github.com/colinhacks/zod/commit/03c0ab1640ca9111d9fbac3c261e2f76e3cbf247)
Cache the evaluation of ParseInputLazyPath.path() for a moderate perf
improvement
([#&#8203;2137](https://github.com/colinhacks/zod/issues/2137))
-
[`e7b3b7b`](https://github.com/colinhacks/zod/commit/e7b3b7bf493caeee7e4f043eea024e4d3badc090)
Improve string docs
-
[`83478f5`](https://github.com/colinhacks/zod/commit/83478f5e413c333f07f53b9b4bb8c24b75e1cecf)
Remove zod dep
-
[`2f1868d`](https://github.com/colinhacks/zod/commit/2f1868d0c17c0e401c4438d9d35e68f9685a741b)
Specify paths for canary
-
[`e599966`](https://github.com/colinhacks/zod/commit/e599966709fe0253d6779ce1dec38a2adcebf41f)
Add sponsors
-
[`950bd17`](https://github.com/colinhacks/zod/commit/950bd17f01668b45e592a678974437b15012b158)
Tweak x.custom example
-
[`728e56a`](https://github.com/colinhacks/zod/commit/728e56a7e157cca8cdc0ab937f25a2412673c934)
Close [#&#8203;2127](https://github.com/colinhacks/zod/issues/2127)
-
[`64883e4`](https://github.com/colinhacks/zod/commit/64883e4fe41b10eb577c4f9eaf6f24fa29bcd60d)
feat: z.string().ulid() - add support for ulids
([#&#8203;2049](https://github.com/colinhacks/zod/issues/2049))
-
[`e0d709b`](https://github.com/colinhacks/zod/commit/e0d709b1348efab06ac5341d360a411bc09eb7ba)
3.20.1
-
[`9c33194`](https://github.com/colinhacks/zod/commit/9c3319443cfc953adc51786e8d6fe0bbe1e37f8e)
Remove comments, clean up utils
-
[`942e2db`](https://github.com/colinhacks/zod/commit/942e2db8e51d580f4e3cd8c4c4af8bc6aecf4130)
Fix tests

###
[`v3.21.0`](https://github.com/colinhacks/zod/releases/tag/v3.21.0)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.20.6...v3.21.0)

##### Features

##### `z.string().emoji()`

Thanks [@&#8203;joseph-lozano](https://github.com/joseph-lozano) for
[https://github.com/colinhacks/zod/pull/2045](https://github.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 [@&#8203;joulev](https://github.com/joulev) for
[https://github.com/colinhacks/zod/pull/1813](https://github.com/colinhacks/zod/pull/1813)!
To validate [CUIDv2](https://github.com/paralleldrive/cuid2):

```ts
z.string().cuid2()
```

##### `z.string().ip()`

Thanks [@&#8203;fvckDesa](https://github.com/fvckDesa) for
[https://github.com/colinhacks/zod/pull/2066](https://github.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 [@&#8203;igalklebanov](https://github.com/igalklebanov) for
[`#1711`](https://github.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
[@&#8203;santosmarco-caribou](https://github.com/santosmarco-caribou)
for
[https://github.com/colinhacks/zod/pull/1652](https://github.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 [@&#8203;0xWryth](https://github.com/0xWryth) for
[https://github.com/colinhacks/zod/pull/2087](https://github.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
[@&#8203;gydroperit](https://github.com/gydroperit) for some heroic
efforts here:
[https://github.com/colinhacks/zod/pull/2107](https://github.com/colinhacks/zod/pull/2107)
Zod 3.21 resolves these issues:

-
[https://github.com/colinhacks/zod/issues/2142](https://github.com/colinhacks/zod/issues/2142)
-
[https://github.com/colinhacks/zod/issues/1741](https://github.com/colinhacks/zod/issues/1741)
-
https://stackoverflow.com/questions/74881472/slow-typescript-autocompletion-in-vs-code-for-zod

##### Commits:

-
[`3c54461`](https://github.com/colinhacks/zod/commit/3c54461d7a649bf727aec59367eefb214ffe24fe)
fix typo in readme
-
[`c244fb6`](https://github.com/colinhacks/zod/commit/c244fb6c57506fd11609106960639de26ddf9b6d)
feat: z.string().emoji()
([#&#8203;2045](https://github.com/colinhacks/zod/issues/2045))
-
[`39cbb69`](https://github.com/colinhacks/zod/commit/39cbb6971c3dca09cbc0acdca2d3995dfd26aab2)
Fix emoji validation, fix lint
-
[`d8f07bb`](https://github.com/colinhacks/zod/commit/d8f07bbfffd255b0aee6b5fe9bb6aa2bce6586af)
Fix emoji
-
[`9b7dd81`](https://github.com/colinhacks/zod/commit/9b7dd816e92e16ca735e488b77e280a92a84ed64)
Improve variable name clarity
([#&#8203;2048](https://github.com/colinhacks/zod/issues/2048))
-
[`5cec187`](https://github.com/colinhacks/zod/commit/5cec1871ac21627608af6c07585d5e50ff30f281)
Add documentation for the param parameter of z.custom
-
[`654f529`](https://github.com/colinhacks/zod/commit/654f52969a968c630af816dcad0d8f3721f9001a)
Merge pull request
[#&#8203;2057](https://github.com/colinhacks/zod/issues/2057) from
trygveaa/add-documentation-for-z-custom-params
-
[`981af65`](https://github.com/colinhacks/zod/commit/981af6503ee1be530fe525ac77ba95e1904ce24a)
Merge pull request
[#&#8203;2019](https://github.com/colinhacks/zod/issues/2019) from
vbud/patch-1
-
[`a7c2969`](https://github.com/colinhacks/zod/commit/a7c2969b9125df0fbfa65e8541a974eeaf53b6a6)
Update error_handling
-
[`8f3d028`](https://github.com/colinhacks/zod/commit/8f3d0283ba75d146d5199fe3dc140eeb5402352c)
BRAND Record to Non Partial
([#&#8203;2097](https://github.com/colinhacks/zod/issues/2097))
-
[`5ec98e1`](https://github.com/colinhacks/zod/commit/5ec98e1c4420957f93a7388bf49fb01d91bcbcd0)
Fix email issues in pull request
[#&#8203;1982](https://github.com/colinhacks/zod/issues/1982)
([#&#8203;2058](https://github.com/colinhacks/zod/issues/2058))
-
[`7d40ba5`](https://github.com/colinhacks/zod/commit/7d40ba58931130ec965be9d65d14e0665ee9c379)
feat([#&#8203;2059](https://github.com/colinhacks/zod/issues/2059)):
z.string.ip() - add support for IP address
([#&#8203;2066](https://github.com/colinhacks/zod/issues/2066))
-
[`e559605`](https://github.com/colinhacks/zod/commit/e5596054cfddf8aa1ba8d7d3bad63552a2bf9b6a)
feat: add `.catch` error
([#&#8203;2087](https://github.com/colinhacks/zod/issues/2087))
-
[`defdab9`](https://github.com/colinhacks/zod/commit/defdab9c163d9a994f927a0644ab4ec172513fcb)
Fix record tests
-
[`8de36eb`](https://github.com/colinhacks/zod/commit/8de36eb17d9477ada75cea2164d6b47079dd0444)
FIX: emoji regex and tests
([#&#8203;2090](https://github.com/colinhacks/zod/issues/2090))
-
[`16beeb5`](https://github.com/colinhacks/zod/commit/16beeb598039b33bc5a209956042d858abacca34)
lowercase method for ZodString
([#&#8203;2038](https://github.com/colinhacks/zod/issues/2038))
-
[`75cb9e8`](https://github.com/colinhacks/zod/commit/75cb9e814115a35c0b4cc2e970f6aaae90e1a13c)
add checks @&#8203; `ZodBigInt`.
([#&#8203;1711](https://github.com/colinhacks/zod/issues/1711))
-
[`c4d4e49`](https://github.com/colinhacks/zod/commit/c4d4e494227aadc752d4d5a5a317ec16bb6f5a45)
Update ERROR_HANDLING.md
([#&#8203;2022](https://github.com/colinhacks/zod/issues/2022))
-
[`d6f0890`](https://github.com/colinhacks/zod/commit/d6f08908b17ea10456befc2231a867d5cea02a0e)
added link to deno land
-
[`4cf1960`](https://github.com/colinhacks/zod/commit/4cf19606870e66bf4307984bf99a4bef495c7818)
Refactoring of ZodFormattedError type to improve tsc check time
([#&#8203;2107](https://github.com/colinhacks/zod/issues/2107))
-
[`867a921`](https://github.com/colinhacks/zod/commit/867a921a93160780d9f3aeddabf1ca49758a3c1e)
Bump http-cache-semantics from 4.1.0 to 4.1.1
([#&#8203;1985](https://github.com/colinhacks/zod/issues/1985))
-
[`edc3a67`](https://github.com/colinhacks/zod/commit/edc3a67e77d33979b3ee9e071557b4ca53298c55)
Deprecate deepPartial
-
[`e59f639`](https://github.com/colinhacks/zod/commit/e59f639d3bb5cca65ef239d5dd5c93e74ce4a801)
Add custom tests
-
[`a6b44ed`](https://github.com/colinhacks/zod/commit/a6b44ed8e346af2fabbb62b5164b99a387accd32)
Remove logging
-
[`a1fc3fb`](https://github.com/colinhacks/zod/commit/a1fc3fb815051beb4b7030969828aa6abe469c2c)
commented out `toLowerCase` and `toUpperCase`
-
[`e71cc52`](https://github.com/colinhacks/zod/commit/e71cc523b1865568c4db45f82789e5c86bed0f12)
Update README_ZH.md
([#&#8203;2139](https://github.com/colinhacks/zod/issues/2139))
-
[`3af38fb`](https://github.com/colinhacks/zod/commit/3af38fbe2cb114219e688103e41e382e28ec7a80)
add `ZodNumber.safe()` & `ZodNumber.isSafe`.
([#&#8203;1753](https://github.com/colinhacks/zod/issues/1753))
-
[`6ef82ee`](https://github.com/colinhacks/zod/commit/6ef82ee1e45dbcfc92a2ed359b1d2ae87d54c43d)
Add benchmark flags
-
[`5463593`](https://github.com/colinhacks/zod/commit/5463593385549452768e060a98cc0fd8988760d2)
Support brands in recursive types
-
[`8074523`](https://github.com/colinhacks/zod/commit/80745238937adc06c5b4eab19ef273ca9f7f2de8)
Update readme
-
[`b6794a4`](https://github.com/colinhacks/zod/commit/b6794a4981b8621fee84642f5313464f5e8f9a22)
Add index signature for passthrough
-
[`3c6cdd2`](https://github.com/colinhacks/zod/commit/3c6cdd245ab73d7ca1461a18b5be2da07abe6b6b)
Make generic optional in objectOutputType
-
[`bc43ad1`](https://github.com/colinhacks/zod/commit/bc43ad18e64cf7add23e90bc6b07d5bba8370e5e)
Fix rollup build
-
[`6a0545a`](https://github.com/colinhacks/zod/commit/6a0545acd5b9cfc40b0b3f04e64bfc5dd789d1b1)
3.21.0
-
[`7c07339`](https://github.com/colinhacks/zod/commit/7c0733968d64c7d7aebc1ae54ca90aadcb2bffc3)
Fix brand
-
[`0aa6021`](https://github.com/colinhacks/zod/commit/0aa6021ef3628bb39715bdda416be2c6a4951141)
Clean up tests

###
[`v3.20.6`](https://github.com/colinhacks/zod/releases/tag/v3.20.6)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.20.5...v3.20.6)

#### Commits:

-
[`e693919`](https://github.com/colinhacks/zod/commit/e6939195fbb5191402ba3d6f5b7aade463de6e51)
3.20.6

###
[`v3.20.5`](https://github.com/colinhacks/zod/releases/tag/v3.20.5)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.20.4...v3.20.5)

#### Commits:

-
[`e71c7be`](https://github.com/colinhacks/zod/commit/e71c7be15e393e0932aa3c939d061f8444f6ae29)
Fix extract/exclude type error

###
[`v3.20.4`](https://github.com/colinhacks/zod/releases/tag/v3.20.4)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.20.3...v3.20.4)

#### Commits:

-
[`b8d731f`](https://github.com/colinhacks/zod/commit/b8d731f779679e6f47cde18b2c422b0d4f44b01d)
Set input type of ZodCatch to unknown
-
[`06c237c`](https://github.com/colinhacks/zod/commit/06c237c29f53a827d2eb29cb20e9e23caba1ce2c)
Revert merge changes
-
[`c8ce27e`](https://github.com/colinhacks/zod/commit/c8ce27e8c0378856964cf8892c6102bde63fa0cb)
3.20.4

###
[`v3.20.3`](https://github.com/colinhacks/zod/releases/tag/v3.20.3)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.20.2...v3.20.3)

##### Features

- Add string cuid2() validation by
[@&#8203;joulev](https://github.com/joulev) in
[https://github.com/colinhacks/zod/pull/1813](https://github.com/colinhacks/zod/pull/1813)
- Add `ZodNumber.isFinite`, make `ZodNumber.isInt` true if
`.multipleOf(int)`. by
[@&#8203;igalklebanov](https://github.com/igalklebanov) in
[https://github.com/colinhacks/zod/pull/1714](https://github.com/colinhacks/zod/pull/1714)
- feat: Add `extract`/`exclude` methods to `ZodEnum` by
[@&#8203;santosmarco-caribou](https://github.com/santosmarco-caribou)
in
[https://github.com/colinhacks/zod/pull/1652](https://github.com/colinhacks/zod/pull/1652)

##### Fixes and documentation

- add more test cases for `z.coerce`. by
[@&#8203;igalklebanov](https://github.com/igalklebanov) in
[https://github.com/colinhacks/zod/pull/1680](https://github.com/colinhacks/zod/pull/1680)
- Add Modular Forms to form integrations in README by
[@&#8203;fabian-hiller](https://github.com/fabian-hiller) in
[https://github.com/colinhacks/zod/pull/1695](https://github.com/colinhacks/zod/pull/1695)
- docs: Instruct users to return z.NEVER in .superRefine() when
providing a type predicate by
[@&#8203;zetaraku](https://github.com/zetaraku) in
[https://github.com/colinhacks/zod/pull/1742](https://github.com/colinhacks/zod/pull/1742)
- Fix small typo in ERROR_HANDLING.md by
[@&#8203;t-shiratori](https://github.com/t-shiratori) in
[https://github.com/colinhacks/zod/pull/1720](https://github.com/colinhacks/zod/pull/1720)
- Improve accuracy of the `isAsync` type guard by
[@&#8203;aaronccasanova](https://github.com/aaronccasanova) in
[https://github.com/colinhacks/zod/pull/1719](https://github.com/colinhacks/zod/pull/1719)
- fix: Fix `ZodCatch` by
[@&#8203;santosmarco-caribou](https://github.com/santosmarco-caribou)
in
[https://github.com/colinhacks/zod/pull/1733](https://github.com/colinhacks/zod/pull/1733)
- Fix datetime offset without comma by
[@&#8203;ooga](https://github.com/ooga) in
[https://github.com/colinhacks/zod/pull/1749](https://github.com/colinhacks/zod/pull/1749)
- Discriminated union example fails to parse by
[@&#8203;matthewfallshaw](https://github.com/matthewfallshaw) in
[https://github.com/colinhacks/zod/pull/1713](https://github.com/colinhacks/zod/pull/1713)
- fix:
\[[#&#8203;1693](https://github.com/colinhacks/zod/issues/1693)] Tuple
with empty items by [@&#8203;metuan](https://github.com/metuan) in
[https://github.com/colinhacks/zod/pull/1712](https://github.com/colinhacks/zod/pull/1712)
- fix: [#&#8203;1668](https://github.com/colinhacks/zod/issues/1668)
email regex safari compat by
[@&#8203;AnatoleLucet](https://github.com/AnatoleLucet) in
[https://github.com/colinhacks/zod/pull/1683](https://github.com/colinhacks/zod/pull/1683)
- docs: fix typo by [@&#8203;zetaraku](https://github.com/zetaraku) in
[https://github.com/colinhacks/zod/pull/1699](https://github.com/colinhacks/zod/pull/1699)
- fix installation links in table of contents by
[@&#8203;DetachHead](https://github.com/DetachHead) in
[https://github.com/colinhacks/zod/pull/1700](https://github.com/colinhacks/zod/pull/1700)
- Updated `deno/lib/README.md` to match `zod/README.md` by
[@&#8203;JacobWeisenburger](https://github.com/JacobWeisenburger) in
[https://github.com/colinhacks/zod/pull/1791](https://github.com/colinhacks/zod/pull/1791)
- fix([#&#8203;1743](https://github.com/colinhacks/zod/issues/1743)):
Fix passing params in root class by
[@&#8203;santosmarco-caribou](https://github.com/santosmarco-caribou)
in
[https://github.com/colinhacks/zod/pull/1756](https://github.com/colinhacks/zod/pull/1756)
- change the chaining order of nullish method by
[@&#8203;p10ns11y](https://github.com/p10ns11y) in
[https://github.com/colinhacks/zod/pull/1702](https://github.com/colinhacks/zod/pull/1702)
- Propagate custom error type to ZodFormattedError subfields by
[@&#8203;carlgieringer](https://github.com/carlgieringer) in
[https://github.com/colinhacks/zod/pull/1617](https://github.com/colinhacks/zod/pull/1617)
- fix deno literal test. by
[@&#8203;igalklebanov](https://github.com/igalklebanov) in
[https://github.com/colinhacks/zod/pull/1794](https://github.com/colinhacks/zod/pull/1794)
- Document `.describe()` by
[@&#8203;rattrayalex](https://github.com/rattrayalex) in
[https://github.com/colinhacks/zod/pull/1819](https://github.com/colinhacks/zod/pull/1819)
- update homepage link in package.json by
[@&#8203;Gpx](https://github.com/Gpx) in
[https://github.com/colinhacks/zod/pull/1830](https://github.com/colinhacks/zod/pull/1830)
- fix: compile error in sample code by
[@&#8203;jtgi](https://github.com/jtgi) in
[https://github.com/colinhacks/zod/pull/1822](https://github.com/colinhacks/zod/pull/1822)
- Readme: Move "Coercion for primitives" section by
[@&#8203;tordans](https://github.com/tordans) in
[https://github.com/colinhacks/zod/pull/1842](https://github.com/colinhacks/zod/pull/1842)
- Readme: Add internal links "or" <-> "union" by
[@&#8203;tordans](https://github.com/tordans) in
[https://github.com/colinhacks/zod/pull/1846](https://github.com/colinhacks/zod/pull/1846)
- Readme: Add example for string validation for an optional field to
chapter "Unions" by [@&#8203;tordans](https://github.com/tordans) in
[https://github.com/colinhacks/zod/pull/1849](https://github.com/colinhacks/zod/pull/1849)
- Readme: Add intro to chapter Literals by
[@&#8203;tordans](https://github.com/tordans) in
[https://github.com/colinhacks/zod/pull/1877](https://github.com/colinhacks/zod/pull/1877)
- fix: faker.js link in readme by
[@&#8203;markacola](https://github.com/markacola) in
[https://github.com/colinhacks/zod/pull/1843](https://github.com/colinhacks/zod/pull/1843)
- Minor typo fix by
[@&#8203;iamchandru6470](https://github.com/iamchandru6470) in
[https://github.com/colinhacks/zod/pull/1945](https://github.com/colinhacks/zod/pull/1945)
- chore(documentation): Update CHANGELOG to redirect to Github Releases
by [@&#8203;mitchwd](https://github.com/mitchwd) in
[https://github.com/colinhacks/zod/pull/1936](https://github.com/colinhacks/zod/pull/1936)
- fix:
\[[#&#8203;1839](https://github.com/colinhacks/zod/issues/1839)]
remove caught errors from issues by
[@&#8203;maxArturo](https://github.com/maxArturo) in
[https://github.com/colinhacks/zod/pull/1926](https://github.com/colinhacks/zod/pull/1926)
- fix:
\[[#&#8203;1784](https://github.com/colinhacks/zod/issues/1784)] dark
mode in the documentation by
[@&#8203;fvckDesa](https://github.com/fvckDesa) in
[https://github.com/colinhacks/zod/pull/1932](https://github.com/colinhacks/zod/pull/1932)
- Allow also "\[+-]hh" as datetime offset by
[@&#8203;rafw87](https://github.com/rafw87) in
[https://github.com/colinhacks/zod/pull/1797](https://github.com/colinhacks/zod/pull/1797)
- Feature/add resolves method to zod promise by
[@&#8203;bolencki13](https://github.com/bolencki13) in
[https://github.com/colinhacks/zod/pull/1871](https://github.com/colinhacks/zod/pull/1871)
- test: add benchmark tests for date and symbol by
[@&#8203;pnts-se](https://github.com/pnts-se) in
[https://github.com/colinhacks/zod/pull/1796](https://github.com/colinhacks/zod/pull/1796)
- export the email regex by
[@&#8203;andresBobsled](https://github.com/andresBobsled) in
[https://github.com/colinhacks/zod/pull/2007](https://github.com/colinhacks/zod/pull/2007)
- Add React form validation library to ecosystem by
[@&#8203;crutchcorn](https://github.com/crutchcorn) in
[https://github.com/colinhacks/zod/pull/1999](https://github.com/colinhacks/zod/pull/1999)
- fix: make sure only mask keys with truthy values are respected at
runtime @&#8203; `.pick`, `.omit`, `.partial` & `.required`. by
[@&#8203;igalklebanov](https://github.com/igalklebanov) in
[https://github.com/colinhacks/zod/pull/1875](https://github.com/colinhacks/zod/pull/1875)
- fix: failing prettier checks on merge by
[@&#8203;maxArturo](https://github.com/maxArturo) in
[https://github.com/colinhacks/zod/pull/1969](https://github.com/colinhacks/zod/pull/1969)
- deny unexpected keys @&#8203; `ZodObject`'s
`.omit(mask)`,`.pick(mask)`,`.required(mask)` & `.partial(mask)` at
compile time. by
[@&#8203;igalklebanov](https://github.com/igalklebanov) in
[https://github.com/colinhacks/zod/pull/1564](https://github.com/colinhacks/zod/pull/1564)
- docs: punctuation by [@&#8203;jly36963](https://github.com/jly36963)
in
[https://github.com/colinhacks/zod/pull/1973](https://github.com/colinhacks/zod/pull/1973)
- fix\[[#&#8203;1979](https://github.com/colinhacks/zod/issues/1979)]:
Increment Email validation by
[@&#8203;fvckDesa](https://github.com/fvckDesa) in
[https://github.com/colinhacks/zod/pull/1982](https://github.com/colinhacks/zod/pull/1982)
- test: additional unit-tests for object by
[@&#8203;pnts-se](https://github.com/pnts-se) in
[https://github.com/colinhacks/zod/pull/1729](https://github.com/colinhacks/zod/pull/1729)

##### New Contributors

- [@&#8203;fabian-hiller](https://github.com/fabian-hiller) made their
first contribution in
[https://github.com/colinhacks/zod/pull/1695](https://github.com/colinhacks/zod/pull/1695)
- [@&#8203;zetaraku](https://github.com/zetaraku) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1742](https://github.com/colinhacks/zod/pull/1742)
- [@&#8203;t-shiratori](https://github.com/t-shiratori) made their
first contribution in
[https://github.com/colinhacks/zod/pull/1720](https://github.com/colinhacks/zod/pull/1720)
- [@&#8203;aaronccasanova](https://github.com/aaronccasanova) made
their first contribution in
[https://github.com/colinhacks/zod/pull/1719](https://github.com/colinhacks/zod/pull/1719)
- [@&#8203;ooga](https://github.com/ooga) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1749](https://github.com/colinhacks/zod/pull/1749)
- [@&#8203;matthewfallshaw](https://github.com/matthewfallshaw) made
their first contribution in
[https://github.com/colinhacks/zod/pull/1713](https://github.com/colinhacks/zod/pull/1713)
- [@&#8203;metuan](https://github.com/metuan) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1712](https://github.com/colinhacks/zod/pull/1712)
- [@&#8203;AnatoleLucet](https://github.com/AnatoleLucet) made their
first contribution in
[https://github.com/colinhacks/zod/pull/1683](https://github.com/colinhacks/zod/pull/1683)
- [@&#8203;DetachHead](https://github.com/DetachHead) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1700](https://github.com/colinhacks/zod/pull/1700)
- [@&#8203;p10ns11y](https://github.com/p10ns11y) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1702](https://github.com/colinhacks/zod/pull/1702)
- [@&#8203;carlgieringer](https://github.com/carlgieringer) made their
first contribution in
[https://github.com/colinhacks/zod/pull/1617](https://github.com/colinhacks/zod/pull/1617)
- [@&#8203;rattrayalex](https://github.com/rattrayalex) made their
first contribution in
[https://github.com/colinhacks/zod/pull/1819](https://github.com/colinhacks/zod/pull/1819)
- [@&#8203;Gpx](https://github.com/Gpx) made their first contribution
in
[https://github.com/colinhacks/zod/pull/1830](https://github.com/colinhacks/zod/pull/1830)
- [@&#8203;jtgi](https://github.com/jtgi) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1822](https://github.com/colinhacks/zod/pull/1822)
- [@&#8203;tordans](https://github.com/tordans) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1842](https://github.com/colinhacks/zod/pull/1842)
- [@&#8203;markacola](https://github.com/markacola) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1843](https://github.com/colinhacks/zod/pull/1843)
- [@&#8203;iamchandru6470](https://github.com/iamchandru6470) made
their first contribution in
[https://github.com/colinhacks/zod/pull/1945](https://github.com/colinhacks/zod/pull/1945)
- [@&#8203;mitchwd](https://github.com/mitchwd) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1936](https://github.com/colinhacks/zod/pull/1936)
- [@&#8203;fvckDesa](https://github.com/fvckDesa) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1932](https://github.com/colinhacks/zod/pull/1932)
- [@&#8203;rafw87](https://github.com/rafw87) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1797](https://github.com/colinhacks/zod/pull/1797)
- [@&#8203;bolencki13](https://github.com/bolencki13) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1871](https://github.com/colinhacks/zod/pull/1871)
- [@&#8203;joulev](https://github.com/joulev) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1813](https://github.com/colinhacks/zod/pull/1813)
- [@&#8203;pnts-se](https://github.com/pnts-se) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1796](https://github.com/colinhacks/zod/pull/1796)
- [@&#8203;andresBobsled](https://github.com/andresBobsled) made their
first contribution in
[https://github.com/colinhacks/zod/pull/2007](https://github.com/colinhacks/zod/pull/2007)
- [@&#8203;crutchcorn](https://github.com/crutchcorn) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1999](https://github.com/colinhacks/zod/pull/1999)
- [@&#8203;jly36963](https://github.com/jly36963) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1973](https://github.com/colinhacks/zod/pull/1973)

**Full Changelog**:
colinhacks/zod@v3.20.2...v3.20.3

</details>

---

### 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 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://app.renovatebot.com/dashboard#github/tf2pickup-org/server).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS44LjMiLCJ1cGRhdGVkSW5WZXIiOiIzNS44LjMifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
sebald referenced this pull request in sebald/pattern-analyzer Apr 5, 2023
[![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://github.com/colinhacks/zod))
| [`3.20.6` ->
`3.21.4`](https://renovatebot.com/diffs/npm/zod/3.20.6/3.21.4) |
[![age](https://badges.renovateapi.com/packages/npm/zod/3.21.4/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/zod/3.21.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/zod/3.21.4/compatibility-slim/3.20.6)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/zod/3.21.4/confidence-slim/3.20.6)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>colinhacks/zod</summary>

###
[`v3.21.4`](https://github.com/colinhacks/zod/releases/tag/v3.21.4)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.21.3...v3.21.4)

#### Commits:

-
[`22f3cc6`](https://github.com/colinhacks/zod/commit/22f3cc6ed52a28c984a0319a1a03e1af244cee02)
3.21.4

###
[`v3.21.3`](https://github.com/colinhacks/zod/releases/tag/v3.21.3)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.21.2...v3.21.3)

#### Commits:

-
[`14c08d8`](https://github.com/colinhacks/zod/commit/14c08d87129c3b652f03d2e724979c383c55e0b4)
added more `.pipe` examples
-
[`006e652`](https://github.com/colinhacks/zod/commit/006e6521f425b38e1fbb898e29921fe885caf7ba)
Fix npm canary action paths pattern
([#&#8203;2148](https://github.com/colinhacks/zod/issues/2148))
-
[`bdcff0f`](https://github.com/colinhacks/zod/commit/bdcff0f20f4c35dd6a44b1324711dfd34a41ae96)
Remove logging in tests
-
[`a5830c6`](https://github.com/colinhacks/zod/commit/a5830c6d3fe28f0d5435cc9ff22846be7f5977c1)
Reverted [#&#8203;1564](https://github.com/colinhacks/zod/issues/1564)
-
[`c458381`](https://github.com/colinhacks/zod/commit/c4583819e77a702e21b587c4bf081d0292f2b754)
Fix tests
-
[`2db0dca`](https://github.com/colinhacks/zod/commit/2db0dcadc961fd57f7f10f9d9f55d67e6d040342)
3.21.3

###
[`v3.21.2`](https://github.com/colinhacks/zod/releases/tag/v3.21.2)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.21.1...v3.21.2)

#### Commits:

-
[`b276d71`](https://github.com/colinhacks/zod/commit/b276d71eaefef6cb87c81e8429bd160e4b68c168)
Improve typings in generics
-
[`4d016b7`](https://github.com/colinhacks/zod/commit/4d016b772b79d566bfa2a0c2fc5bfbd92b776982)
Improve type inference in generics
-
[`f9895ab`](https://github.com/colinhacks/zod/commit/f9895ab1650ef3df9c598a8c43ede0160596ac2e)
Improve types inside generic functions
-
[`ac0135e`](https://github.com/colinhacks/zod/commit/ac0135e00df75abd57a93a4816fe0fdaa31e94e8)
Pass input into catchValue

###
[`v3.21.1`](https://github.com/colinhacks/zod/releases/tag/v3.21.1)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.21.0...v3.21.1)

#### Features

Support for [ULID](https://github.com/ulid/spec) validation

```ts
z.string().ulid();
```

#### Commits:

-
[`4f89461`](https://github.com/colinhacks/zod/commit/4f8946182ee07eb7b5d40efa908b1715414e8929)
Prettier
-
[`bd6527a`](https://github.com/colinhacks/zod/commit/bd6527a47a4626135dccac113a7b09f81b675edd)
Update deps
-
[`126c77b`](https://github.com/colinhacks/zod/commit/126c77b3130d9a68032f72ac76dd9e1ccfd86c2c)
added `toLowerCase` and `toUpperCase` back in for v3.21.0
-
[`1749657`](https://github.com/colinhacks/zod/commit/174965739d17db348d445ab250fb2cf6bd7cdd51)
Update README.md
-
[`dabe63d`](https://github.com/colinhacks/zod/commit/dabe63d15eb6d22246aa5d5c83b69d1d5f4c2f4b)
updated `z.custom` example again :D
-
[`6b8f655`](https://github.com/colinhacks/zod/commit/6b8f6557d9b53ea7ad3fda753a51cdf153ba1fb7)
docs: improve cn readme
([#&#8203;2143](https://github.com/colinhacks/zod/issues/2143))
-
[`9012dc7`](https://github.com/colinhacks/zod/commit/9012dc7055e1467b6d619a6c0ad016fdfbde2b9c)
add `.includes(value, options?)` @&#8203; `ZodString`.
([#&#8203;1887](https://github.com/colinhacks/zod/issues/1887))
-
[`67b981e`](https://github.com/colinhacks/zod/commit/67b981e70b4bacb2278a9aacd22d38cbb4b52d17)
Make safeParse().error a getter
-
[`346fde0`](https://github.com/colinhacks/zod/commit/346fde03724bfd1601823e4f72470bc7e344030b)
3.21.0-canary.20230304T235951
-
[`b50d871`](https://github.com/colinhacks/zod/commit/b50d871b2f5949587afdcce2375227a447dbb742)
Add canary release CI
-
[`b20cca2`](https://github.com/colinhacks/zod/commit/b20cca230a6a9beb8acf841250641b62847b6e80)
Fix canary
-
[`f7f5c50`](https://github.com/colinhacks/zod/commit/f7f5c50c65d7c7e5262c028e6832b92b14d84ea5)
Move action to .github/workflows
-
[`f01fa0e`](https://github.com/colinhacks/zod/commit/f01fa0e48ca18630604366f5bc7401a18eb4d018)
Try to fix canary CI
-
[`f5e8067`](https://github.com/colinhacks/zod/commit/f5e8067b2afcc3e5ae9f8ed389a31b83a7c3ceec)
No git tag
-
[`5b304ae`](https://github.com/colinhacks/zod/commit/5b304ae41705105ae6edcacdb6dfdac9c527b3f4)
No dry run
-
[`20df80e`](https://github.com/colinhacks/zod/commit/20df80e6ce2ac27f6e2f26b61cd1fd4c942b152d)
Add tsc compilation test
-
[`ead93d3`](https://github.com/colinhacks/zod/commit/ead93d3cfde54efe952dc615c21ff179a00f7574)
Document .pipe()
-
[`d8e8653`](https://github.com/colinhacks/zod/commit/d8e86534325fb00bc0193a4c6af04f2a67bd2e4e)
Update headers
-
[`03c0ab1`](https://github.com/colinhacks/zod/commit/03c0ab1640ca9111d9fbac3c261e2f76e3cbf247)
Cache the evaluation of ParseInputLazyPath.path() for a moderate perf
improvement
([#&#8203;2137](https://github.com/colinhacks/zod/issues/2137))
-
[`e7b3b7b`](https://github.com/colinhacks/zod/commit/e7b3b7bf493caeee7e4f043eea024e4d3badc090)
Improve string docs
-
[`83478f5`](https://github.com/colinhacks/zod/commit/83478f5e413c333f07f53b9b4bb8c24b75e1cecf)
Remove zod dep
-
[`2f1868d`](https://github.com/colinhacks/zod/commit/2f1868d0c17c0e401c4438d9d35e68f9685a741b)
Specify paths for canary
-
[`e599966`](https://github.com/colinhacks/zod/commit/e599966709fe0253d6779ce1dec38a2adcebf41f)
Add sponsors
-
[`950bd17`](https://github.com/colinhacks/zod/commit/950bd17f01668b45e592a678974437b15012b158)
Tweak x.custom example
-
[`728e56a`](https://github.com/colinhacks/zod/commit/728e56a7e157cca8cdc0ab937f25a2412673c934)
Close [#&#8203;2127](https://github.com/colinhacks/zod/issues/2127)
-
[`64883e4`](https://github.com/colinhacks/zod/commit/64883e4fe41b10eb577c4f9eaf6f24fa29bcd60d)
feat: z.string().ulid() - add support for ulids
([#&#8203;2049](https://github.com/colinhacks/zod/issues/2049))
-
[`e0d709b`](https://github.com/colinhacks/zod/commit/e0d709b1348efab06ac5341d360a411bc09eb7ba)
3.20.1
-
[`9c33194`](https://github.com/colinhacks/zod/commit/9c3319443cfc953adc51786e8d6fe0bbe1e37f8e)
Remove comments, clean up utils
-
[`942e2db`](https://github.com/colinhacks/zod/commit/942e2db8e51d580f4e3cd8c4c4af8bc6aecf4130)
Fix tests

###
[`v3.21.0`](https://github.com/colinhacks/zod/releases/tag/v3.21.0)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.20.6...v3.21.0)

##### Features

##### `z.string().emoji()`

Thanks [@&#8203;joseph-lozano](https://github.com/joseph-lozano) for
[https://github.com/colinhacks/zod/pull/2045](https://github.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 [@&#8203;joulev](https://github.com/joulev) for
[https://github.com/colinhacks/zod/pull/1813](https://github.com/colinhacks/zod/pull/1813)!
To validate [CUIDv2](https://github.com/paralleldrive/cuid2):

```ts
z.string().cuid2()
```

##### `z.string().ip()`

Thanks [@&#8203;fvckDesa](https://github.com/fvckDesa) for
[https://github.com/colinhacks/zod/pull/2066](https://github.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 [@&#8203;igalklebanov](https://github.com/igalklebanov) for
[`#1711`](https://github.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
[@&#8203;santosmarco-caribou](https://github.com/santosmarco-caribou)
for
[https://github.com/colinhacks/zod/pull/1652](https://github.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 [@&#8203;0xWryth](https://github.com/0xWryth) for
[https://github.com/colinhacks/zod/pull/2087](https://github.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
[@&#8203;gydroperit](https://github.com/gydroperit) for some heroic
efforts here:
[https://github.com/colinhacks/zod/pull/2107](https://github.com/colinhacks/zod/pull/2107)
Zod 3.21 resolves these issues:

-
[https://github.com/colinhacks/zod/issues/2142](https://github.com/colinhacks/zod/issues/2142)
-
[https://github.com/colinhacks/zod/issues/1741](https://github.com/colinhacks/zod/issues/1741)
-
https://stackoverflow.com/questions/74881472/slow-typescript-autocompletion-in-vs-code-for-zod

##### Commits:

-
[`3c54461`](https://github.com/colinhacks/zod/commit/3c54461d7a649bf727aec59367eefb214ffe24fe)
fix typo in readme
-
[`c244fb6`](https://github.com/colinhacks/zod/commit/c244fb6c57506fd11609106960639de26ddf9b6d)
feat: z.string().emoji()
([#&#8203;2045](https://github.com/colinhacks/zod/issues/2045))
-
[`39cbb69`](https://github.com/colinhacks/zod/commit/39cbb6971c3dca09cbc0acdca2d3995dfd26aab2)
Fix emoji validation, fix lint
-
[`d8f07bb`](https://github.com/colinhacks/zod/commit/d8f07bbfffd255b0aee6b5fe9bb6aa2bce6586af)
Fix emoji
-
[`9b7dd81`](https://github.com/colinhacks/zod/commit/9b7dd816e92e16ca735e488b77e280a92a84ed64)
Improve variable name clarity
([#&#8203;2048](https://github.com/colinhacks/zod/issues/2048))
-
[`5cec187`](https://github.com/colinhacks/zod/commit/5cec1871ac21627608af6c07585d5e50ff30f281)
Add documentation for the param parameter of z.custom
-
[`654f529`](https://github.com/colinhacks/zod/commit/654f52969a968c630af816dcad0d8f3721f9001a)
Merge pull request
[#&#8203;2057](https://github.com/colinhacks/zod/issues/2057) from
trygveaa/add-documentation-for-z-custom-params
-
[`981af65`](https://github.com/colinhacks/zod/commit/981af6503ee1be530fe525ac77ba95e1904ce24a)
Merge pull request
[#&#8203;2019](https://github.com/colinhacks/zod/issues/2019) from
vbud/patch-1
-
[`a7c2969`](https://github.com/colinhacks/zod/commit/a7c2969b9125df0fbfa65e8541a974eeaf53b6a6)
Update error_handling
-
[`8f3d028`](https://github.com/colinhacks/zod/commit/8f3d0283ba75d146d5199fe3dc140eeb5402352c)
BRAND Record to Non Partial
([#&#8203;2097](https://github.com/colinhacks/zod/issues/2097))
-
[`5ec98e1`](https://github.com/colinhacks/zod/commit/5ec98e1c4420957f93a7388bf49fb01d91bcbcd0)
Fix email issues in pull request
[#&#8203;1982](https://github.com/colinhacks/zod/issues/1982)
([#&#8203;2058](https://github.com/colinhacks/zod/issues/2058))
-
[`7d40ba5`](https://github.com/colinhacks/zod/commit/7d40ba58931130ec965be9d65d14e0665ee9c379)
feat([#&#8203;2059](https://github.com/colinhacks/zod/issues/2059)):
z.string.ip() - add support for IP address
([#&#8203;2066](https://github.com/colinhacks/zod/issues/2066))
-
[`e559605`](https://github.com/colinhacks/zod/commit/e5596054cfddf8aa1ba8d7d3bad63552a2bf9b6a)
feat: add `.catch` error
([#&#8203;2087](https://github.com/colinhacks/zod/issues/2087))
-
[`defdab9`](https://github.com/colinhacks/zod/commit/defdab9c163d9a994f927a0644ab4ec172513fcb)
Fix record tests
-
[`8de36eb`](https://github.com/colinhacks/zod/commit/8de36eb17d9477ada75cea2164d6b47079dd0444)
FIX: emoji regex and tests
([#&#8203;2090](https://github.com/colinhacks/zod/issues/2090))
-
[`16beeb5`](https://github.com/colinhacks/zod/commit/16beeb598039b33bc5a209956042d858abacca34)
lowercase method for ZodString
([#&#8203;2038](https://github.com/colinhacks/zod/issues/2038))
-
[`75cb9e8`](https://github.com/colinhacks/zod/commit/75cb9e814115a35c0b4cc2e970f6aaae90e1a13c)
add checks @&#8203; `ZodBigInt`.
([#&#8203;1711](https://github.com/colinhacks/zod/issues/1711))
-
[`c4d4e49`](https://github.com/colinhacks/zod/commit/c4d4e494227aadc752d4d5a5a317ec16bb6f5a45)
Update ERROR_HANDLING.md
([#&#8203;2022](https://github.com/colinhacks/zod/issues/2022))
-
[`d6f0890`](https://github.com/colinhacks/zod/commit/d6f08908b17ea10456befc2231a867d5cea02a0e)
added link to deno land
-
[`4cf1960`](https://github.com/colinhacks/zod/commit/4cf19606870e66bf4307984bf99a4bef495c7818)
Refactoring of ZodFormattedError type to improve tsc check time
([#&#8203;2107](https://github.com/colinhacks/zod/issues/2107))
-
[`867a921`](https://github.com/colinhacks/zod/commit/867a921a93160780d9f3aeddabf1ca49758a3c1e)
Bump http-cache-semantics from 4.1.0 to 4.1.1
([#&#8203;1985](https://github.com/colinhacks/zod/issues/1985))
-
[`edc3a67`](https://github.com/colinhacks/zod/commit/edc3a67e77d33979b3ee9e071557b4ca53298c55)
Deprecate deepPartial
-
[`e59f639`](https://github.com/colinhacks/zod/commit/e59f639d3bb5cca65ef239d5dd5c93e74ce4a801)
Add custom tests
-
[`a6b44ed`](https://github.com/colinhacks/zod/commit/a6b44ed8e346af2fabbb62b5164b99a387accd32)
Remove logging
-
[`a1fc3fb`](https://github.com/colinhacks/zod/commit/a1fc3fb815051beb4b7030969828aa6abe469c2c)
commented out `toLowerCase` and `toUpperCase`
-
[`e71cc52`](https://github.com/colinhacks/zod/commit/e71cc523b1865568c4db45f82789e5c86bed0f12)
Update README_ZH.md
([#&#8203;2139](https://github.com/colinhacks/zod/issues/2139))
-
[`3af38fb`](https://github.com/colinhacks/zod/commit/3af38fbe2cb114219e688103e41e382e28ec7a80)
add `ZodNumber.safe()` & `ZodNumber.isSafe`.
([#&#8203;1753](https://github.com/colinhacks/zod/issues/1753))
-
[`6ef82ee`](https://github.com/colinhacks/zod/commit/6ef82ee1e45dbcfc92a2ed359b1d2ae87d54c43d)
Add benchmark flags
-
[`5463593`](https://github.com/colinhacks/zod/commit/5463593385549452768e060a98cc0fd8988760d2)
Support brands in recursive types
-
[`8074523`](https://github.com/colinhacks/zod/commit/80745238937adc06c5b4eab19ef273ca9f7f2de8)
Update readme
-
[`b6794a4`](https://github.com/colinhacks/zod/commit/b6794a4981b8621fee84642f5313464f5e8f9a22)
Add index signature for passthrough
-
[`3c6cdd2`](https://github.com/colinhacks/zod/commit/3c6cdd245ab73d7ca1461a18b5be2da07abe6b6b)
Make generic optional in objectOutputType
-
[`bc43ad1`](https://github.com/colinhacks/zod/commit/bc43ad18e64cf7add23e90bc6b07d5bba8370e5e)
Fix rollup build
-
[`6a0545a`](https://github.com/colinhacks/zod/commit/6a0545acd5b9cfc40b0b3f04e64bfc5dd789d1b1)
3.21.0
-
[`7c07339`](https://github.com/colinhacks/zod/commit/7c0733968d64c7d7aebc1ae54ca90aadcb2bffc3)
Fix brand
-
[`0aa6021`](https://github.com/colinhacks/zod/commit/0aa6021ef3628bb39715bdda416be2c6a4951141)
Clean up tests

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, 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://app.renovatebot.com/dashboard#github/sebald/pattern-analyzer).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4zMi4xIiwidXBkYXRlZEluVmVyIjoiMzUuMzIuMiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
github-merge-queue bot referenced this pull request in Garlic-Team/gcommands Mar 9, 2024
[![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://github.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://github.com/colinhacks/zod/releases/tag/v3.22.3)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.22.2...v3.22.3)

##### Commits:

-
[`1e23990`](https://github.com/colinhacks/zod/commit/1e23990bcdd33d1e81b31e40e77a031fcfd87ce1)
Commit
-
[`9bd3879`](https://github.com/colinhacks/zod/commit/9bd3879b482f139fd03d5025813ee66a04195cdd)
docs: remove obsolete text about readonly types
([#&#8203;2676](https://github.com/colinhacks/zod/issues/2676))
-
[`f59be09`](https://github.com/colinhacks/zod/commit/f59be093ec21430d9f32bbcb628d7e39116adf34)
clarify datetime ISO 8601
([#&#8203;2673](https://github.com/colinhacks/zod/issues/2673))
-
[`64dcc8e`](https://github.com/colinhacks/zod/commit/64dcc8e2b16febe48fa8e3c82c47c92643e6c9e3)
Update sponsors
-
[`18115a8`](https://github.com/colinhacks/zod/commit/18115a8f128680b4526df58ce96deab7dce93b93)
Formatting
-
[`28c1927`](https://github.com/colinhacks/zod/commit/28c19273658b164c53c149785fa7a8187c428ad4)
Update sponsors
-
[`ad2ee9c`](https://github.com/colinhacks/zod/commit/ad2ee9ccf723c4388158ff6b8669c2a6cdc85643)
2718 Updated Custom Schemas documentation example to use type narrowing
([#&#8203;2778](https://github.com/colinhacks/zod/issues/2778))
-
[`ae0f7a2`](https://github.com/colinhacks/zod/commit/ae0f7a2c15e7741ee1b23c03a3bfb9acebd86551)
docs: update ref to discriminated-unions docs
([#&#8203;2485](https://github.com/colinhacks/zod/issues/2485))
-
[`2ba00fe`](https://github.com/colinhacks/zod/commit/2ba00fe2377f4d53947a84b8cdb314a63bbd6dd4)
\[2609] fix ReDoS vulnerability in email regex
([#&#8203;2824](https://github.com/colinhacks/zod/issues/2824))
-
[`1e61d76`](https://github.com/colinhacks/zod/commit/1e61d76cdec05de9271fc0df58798ddf9ce94923)
3.22.3

###
[`v3.22.2`](https://github.com/colinhacks/zod/releases/tag/v3.22.2)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.22.1...v3.22.2)

##### Commits:

-
[`13d9e6b`](https://github.com/colinhacks/zod/commit/13d9e6bda286cbd4c1b177171273695d8309e5de)
Fix lint
-
[`0d49f10`](https://github.com/colinhacks/zod/commit/0d49f10b3c25a8e4cbb6534cc0773b195c56d06d)
docs: add typeschema to ecosystem
([#&#8203;2626](https://github.com/colinhacks/zod/issues/2626))
-
[`8e4af7b`](https://github.com/colinhacks/zod/commit/8e4af7b56df6f2e3daf0dd825b986f1d963025ce)
X to Zod: add app.quicktype.io
([#&#8203;2668](https://github.com/colinhacks/zod/issues/2668))
-
[`792b3ef`](https://github.com/colinhacks/zod/commit/792b3ef0d41c144cd10641c6966b98dae1222d82)
Fix superrefine types

###
[`v3.22.1`](https://github.com/colinhacks/zod/releases/tag/v3.22.1)

[Compare
Source](https://github.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://github.com/colinhacks/zod/commit/932cc472d2e66430d368a409b8d251909d7d8d21)
Initial prototype fix for issue
[#&#8203;2651](https://github.com/colinhacks/zod/issues/2651)
([#&#8203;2652](https://github.com/colinhacks/zod/issues/2652))
-
[`0a055e7`](https://github.com/colinhacks/zod/commit/0a055e726ac210ef6efc69aa70cd2491767f6060)
3.22.1

###
[`v3.22.0`](https://github.com/colinhacks/zod/releases/tag/v3.22.0)

[Compare
Source](https://github.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://github.com/colinhacks/zod/commit/6dad90785398885f7b058f5c0760d5ae5476b833)
Comments
-
[`56ace68`](https://github.com/colinhacks/zod/commit/56ace682e4cc89132c034a3ae2c13b2d5b1a0115)
Fix deno test
-
[`3809d54`](https://github.com/colinhacks/zod/commit/3809d54fc8c5dd0a0ce367bd2575fe3fdadf087d)
Add superforms
-
[`d1ad522`](https://github.com/colinhacks/zod/commit/d1ad5221900af640bc3093a2fb0476ec0c94953e)
Add transloadit
-
[`a3bb701`](https://github.com/colinhacks/zod/commit/a3bb701757127ffe05e773a2e449136b9b7efcb3)
Testing on Typescript 5.0
([#&#8203;2221](https://github.com/colinhacks/zod/issues/2221))
-
[`51e14be`](https://github.com/colinhacks/zod/commit/51e14beeab2f469fcbf18e3df44653e1643f5487)
docs: update deprecated link
([#&#8203;2219](https://github.com/colinhacks/zod/issues/2219))
-
[`a263814`](https://github.com/colinhacks/zod/commit/a263814fc430db8d47430cd2884d2cea6b11c671)
fixed Datetime & IP TOC links
-
[`502384e`](https://github.com/colinhacks/zod/commit/502384e56fe2b1f8173735df6c3b0d41bce04edc)
docs: add mobx-zod-form to form integrations
([#&#8203;2299](https://github.com/colinhacks/zod/issues/2299))
-
[`a8be450`](https://github.com/colinhacks/zod/commit/a8be4500851923aa865e009fe9c2855e80482047)
docs: Add `zocker` to Ecosystem section
([#&#8203;2416](https://github.com/colinhacks/zod/issues/2416))
-
[`15de22a`](https://github.com/colinhacks/zod/commit/15de22a3ba6144c7d8d2276e8e56174bcdfa7225)
Allow subdomains and hyphens in `ZodString.email`
([#&#8203;2274](https://github.com/colinhacks/zod/issues/2274))
-
[`00f5783`](https://github.com/colinhacks/zod/commit/00f5783602ccbe423deb0dbd76ecf13a276bc54d)
Add `zod-openapi` to ecosystem
([#&#8203;2434](https://github.com/colinhacks/zod/issues/2434))
-
[`0a17340`](https://github.com/colinhacks/zod/commit/0a17340e9fc4b909d10ca3687b6bc6454903ff21)
docs: fix minor typo
([#&#8203;2439](https://github.com/colinhacks/zod/issues/2439))
-
[`60a2134`](https://github.com/colinhacks/zod/commit/60a21346086d32ca9f39efc2771f5db37c835c03)
Add masterborn
-
[`0a90ed1`](https://github.com/colinhacks/zod/commit/0a90ed1461dafa62ff50ce0d5d5434fd4a2a4a20)
chore: move `exports.types` field to first spot @&#8203; package.json.
([#&#8203;2443](https://github.com/colinhacks/zod/issues/2443))
-
[`67f35b1`](https://github.com/colinhacks/zod/commit/67f35b16692ca33fd48adfec9ae83b9514f8a4b7)
docs: allow Zod to be used in dev tools at site
([#&#8203;2432](https://github.com/colinhacks/zod/issues/2432))
-
[`6795c57`](https://github.com/colinhacks/zod/commit/6795c574b1d34f6e95ae891f96d8b219b98ace92)
Fix not working Deno doc link.
([#&#8203;2428](https://github.com/colinhacks/zod/issues/2428))
-
[`37e9c55`](https://github.com/colinhacks/zod/commit/37e9c550460e4edd144da90d903e878c119c5cc1)
Generalize uuidRegex
-
[`0969950`](https://github.com/colinhacks/zod/commit/09699501ff6218b3b0a7e382eca3c02a8226ce13)
adds ctx to preprocess
([#&#8203;2426](https://github.com/colinhacks/zod/issues/2426))
-
[`af08390`](https://github.com/colinhacks/zod/commit/af08390139cf9fd4fc9e398b60a39191bf224076)
fix: super refinement function types
([#&#8203;2420](https://github.com/colinhacks/zod/issues/2420))
-
[`36fef58`](https://github.com/colinhacks/zod/commit/36fef58410f4b2c9e79edabae2fc567a4aee13a7)
Make email regex reasonable
([#&#8203;2157](https://github.com/colinhacks/zod/issues/2157))
-
[`f627d14`](https://github.com/colinhacks/zod/commit/f627d14d3bfe3a680ac0d54705b2e63daa912aed)
Document canary
-
[`e06321c`](https://github.com/colinhacks/zod/commit/e06321c15d22082e47c7c111a92ec7b3e104c644)
docs: add tapiduck to API libraries
([#&#8203;2410](https://github.com/colinhacks/zod/issues/2410))
-
[`11e507c`](https://github.com/colinhacks/zod/commit/11e507c4d3bf4ad3ab2057a0122168ed0048a2c4)
docs: add ts as const example in zod enums
([#&#8203;2412](https://github.com/colinhacks/zod/issues/2412))
-
[`5427565`](https://github.com/colinhacks/zod/commit/5427565c347a14056bc60e3ffd800b98753952bc)
docs: add zod-fixture to mocking ecosystem
([#&#8203;2409](https://github.com/colinhacks/zod/issues/2409))
-
[`d3bf7e6`](https://github.com/colinhacks/zod/commit/d3bf7e60a8eb706c4c63a9a91fd66565b82883cf)
docs: add `zodock` to mocking ecosystem
([#&#8203;2394](https://github.com/colinhacks/zod/issues/2394))
-
[`2270ae5`](https://github.com/colinhacks/zod/commit/2270ae563f7f14bed770f75d9c252880794fa71f)
remove "as any" casts in createZodEnum
([#&#8203;2332](https://github.com/colinhacks/zod/issues/2332))
-
[`00bdd0a`](https://github.com/colinhacks/zod/commit/00bdd0a7ffdf495af14e67ae1396c85a282c38dd)
fix proto pollution vulnerability
([#&#8203;2239](https://github.com/colinhacks/zod/issues/2239))
-
[`a3c5256`](https://github.com/colinhacks/zod/commit/a3c525658bc43edf40747a99b8f882d8d3d1e0c7)
Fix error_handling unrecognized_keys example
-
[`4f75cbc`](https://github.com/colinhacks/zod/commit/4f75cbc682199a5411189f9cd9abba9af4924746)
Adds getters to Map for key + value
([#&#8203;2356](https://github.com/colinhacks/zod/issues/2356))
-
[`ca7b032`](https://github.com/colinhacks/zod/commit/ca7b03222764496d72085b1178fa22f4a57fe579)
FMC ([#&#8203;2346](https://github.com/colinhacks/zod/issues/2346))
-
[`6fec8bd`](https://github.com/colinhacks/zod/commit/6fec8bd3407f463f157522a3979b4d202870ba4c)
docs: fix typo in link fragment
([#&#8203;2329](https://github.com/colinhacks/zod/issues/2329))
-
[`16f90bd`](https://github.com/colinhacks/zod/commit/16f90bd22b465aca9a1fbad09248d80aa93fd824)
Update README.md
-
[`2c80250`](https://github.com/colinhacks/zod/commit/2c802507d92d2d2e15be959695b1de78b896bfcb)
Update readme
-
[`eaf64e0`](https://github.com/colinhacks/zod/commit/eaf64e09ba1a87dd6bf348fb97061894a01242d2)
Update sponsors
-
[`c576311`](https://github.com/colinhacks/zod/commit/c5763112e2912390f3317d738e4261fa8747494e)
Update readme
-
[`5e23b4f`](https://github.com/colinhacks/zod/commit/5e23b4fae4715c7391f9ceb4369421a034851b4c)
Add `*.md` pattern to prettier
([#&#8203;2476](https://github.com/colinhacks/zod/issues/2476))
-
[`898dced`](https://github.com/colinhacks/zod/commit/898dced470f1045b5469543abd2f427a713d93eb)
Revamp tests
-
[`6309322`](https://github.com/colinhacks/zod/commit/6309322a28545e316299f8b9a36f43132d347300)
Update test runners
-
[`c0aece1`](https://github.com/colinhacks/zod/commit/c0aece1672d1442d69ce1991142af8f16ed20ecb)
Add vitest config
-
[`73a5610`](https://github.com/colinhacks/zod/commit/73a5610186c413872153e8dcac76c4c4f23dfe4e)
Update script
-
[`8d8e1a2`](https://github.com/colinhacks/zod/commit/8d8e1a2d306cecaf3d8cb88f32fe3e130a834f9f)
Fix deno test bug
-
[`9eb2508`](https://github.com/colinhacks/zod/commit/9eb2508fac78cc36faefd050e9616bb6d34814c1)
Clean up configs
-
[`cfbc7b3`](https://github.com/colinhacks/zod/commit/cfbc7b3f6714ced250dd4053822faf472bf1828e)
Fix root jest config
-
[`8677f68`](https://github.com/colinhacks/zod/commit/8677f688b0ab1bb5991e90744f46a15082772bd6)
docs(comparison-yup): Yup added partial() and deepPartial() in v1
([#&#8203;2603](https://github.com/colinhacks/zod/issues/2603))
-
[`fb00edd`](https://github.com/colinhacks/zod/commit/fb00edd04ca338b8d791a96dead161076538c6c2)
docs: add VeeValidate form library for Vue.js
([#&#8203;2578](https://github.com/colinhacks/zod/issues/2578))
-
[`ab8e717`](https://github.com/colinhacks/zod/commit/ab8e71793431eeb163613007c134132e6c2ab078)
docs: fix typo in z.object
([#&#8203;2570](https://github.com/colinhacks/zod/issues/2570))
-
[`d870407`](https://github.com/colinhacks/zod/commit/d870407a020f9518fbae662f9f48a9aba005a3e2)
docs: fix incomplete Records example
([#&#8203;2579](https://github.com/colinhacks/zod/issues/2579))
-
[`5adae24`](https://github.com/colinhacks/zod/commit/5adae24e9b2fc98fc679defa8f78e4142d4c3451)
docs: add conform form integration
([#&#8203;2577](https://github.com/colinhacks/zod/issues/2577))
-
[`8b8ab3e`](https://github.com/colinhacks/zod/commit/8b8ab3e79691ebafbb9aac3ce089eaf0dcd6d8fe)
Update README.md
([#&#8203;2562](https://github.com/colinhacks/zod/issues/2562))
-
[`6aab901`](https://github.com/colinhacks/zod/commit/6aab9016873c12be08d19bcc097b3e5ba4c9d6fe)
fix typo test name
([#&#8203;2542](https://github.com/colinhacks/zod/issues/2542))
-
[`81a89f5`](https://github.com/colinhacks/zod/commit/81a89f593f4d6b05f770bbb3ad0fc98075f468dd)
Update nullish documentation to correct chaining order
([#&#8203;2457](https://github.com/colinhacks/zod/issues/2457))
-
[`78a4090`](https://github.com/colinhacks/zod/commit/78a409012a4dc34a455f5c4a7e028ca47c921e1b)
docs: update comparison with `runtypes`
([#&#8203;2536](https://github.com/colinhacks/zod/issues/2536))
-
[`1ecd624`](https://github.com/colinhacks/zod/commit/1ecd6241ef97b33ce229b49f1346ffeee5d0ba74)
Fix prettier
-
[`981d4b5`](https://github.com/colinhacks/zod/commit/981d4b5e272e7e35ff44a31fbb5e8e90594b1933)
Add ZodReadonly
([#&#8203;2634](https://github.com/colinhacks/zod/issues/2634))
-
[`fba438c`](https://github.com/colinhacks/zod/commit/fba438cddea800b081a15aefc8b1efea2eccf7af)
3.22.0

###
[`v3.21.4`](https://github.com/colinhacks/zod/releases/tag/v3.21.4)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.21.3...v3.21.4)

#### Commits:

-
[`22f3cc6`](https://github.com/colinhacks/zod/commit/22f3cc6ed52a28c984a0319a1a03e1af244cee02)
3.21.4

###
[`v3.21.3`](https://github.com/colinhacks/zod/releases/tag/v3.21.3)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.21.2...v3.21.3)

#### Commits:

-
[`14c08d8`](https://github.com/colinhacks/zod/commit/14c08d87129c3b652f03d2e724979c383c55e0b4)
added more `.pipe` examples
-
[`006e652`](https://github.com/colinhacks/zod/commit/006e6521f425b38e1fbb898e29921fe885caf7ba)
Fix npm canary action paths pattern
([#&#8203;2148](https://github.com/colinhacks/zod/issues/2148))
-
[`bdcff0f`](https://github.com/colinhacks/zod/commit/bdcff0f20f4c35dd6a44b1324711dfd34a41ae96)
Remove logging in tests
-
[`a5830c6`](https://github.com/colinhacks/zod/commit/a5830c6d3fe28f0d5435cc9ff22846be7f5977c1)
Reverted [#&#8203;1564](https://github.com/colinhacks/zod/issues/1564)
-
[`c458381`](https://github.com/colinhacks/zod/commit/c4583819e77a702e21b587c4bf081d0292f2b754)
Fix tests
-
[`2db0dca`](https://github.com/colinhacks/zod/commit/2db0dcadc961fd57f7f10f9d9f55d67e6d040342)
3.21.3

###
[`v3.21.2`](https://github.com/colinhacks/zod/releases/tag/v3.21.2)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.21.1...v3.21.2)

#### Commits:

-
[`b276d71`](https://github.com/colinhacks/zod/commit/b276d71eaefef6cb87c81e8429bd160e4b68c168)
Improve typings in generics
-
[`4d016b7`](https://github.com/colinhacks/zod/commit/4d016b772b79d566bfa2a0c2fc5bfbd92b776982)
Improve type inference in generics
-
[`f9895ab`](https://github.com/colinhacks/zod/commit/f9895ab1650ef3df9c598a8c43ede0160596ac2e)
Improve types inside generic functions
-
[`ac0135e`](https://github.com/colinhacks/zod/commit/ac0135e00df75abd57a93a4816fe0fdaa31e94e8)
Pass input into catchValue

###
[`v3.21.1`](https://github.com/colinhacks/zod/releases/tag/v3.21.1)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.21.0...v3.21.1)

#### Features

Support for [ULID](https://github.com/ulid/spec) validation

```ts
z.string().ulid();
```

#### Commits:

-
[`4f89461`](https://github.com/colinhacks/zod/commit/4f8946182ee07eb7b5d40efa908b1715414e8929)
Prettier
-
[`bd6527a`](https://github.com/colinhacks/zod/commit/bd6527a47a4626135dccac113a7b09f81b675edd)
Update deps
-
[`126c77b`](https://github.com/colinhacks/zod/commit/126c77b3130d9a68032f72ac76dd9e1ccfd86c2c)
added `toLowerCase` and `toUpperCase` back in for v3.21.0
-
[`1749657`](https://github.com/colinhacks/zod/commit/174965739d17db348d445ab250fb2cf6bd7cdd51)
Update README.md
-
[`dabe63d`](https://github.com/colinhacks/zod/commit/dabe63d15eb6d22246aa5d5c83b69d1d5f4c2f4b)
updated `z.custom` example again :D
-
[`6b8f655`](https://github.com/colinhacks/zod/commit/6b8f6557d9b53ea7ad3fda753a51cdf153ba1fb7)
docs: improve cn readme
([#&#8203;2143](https://github.com/colinhacks/zod/issues/2143))
-
[`9012dc7`](https://github.com/colinhacks/zod/commit/9012dc7055e1467b6d619a6c0ad016fdfbde2b9c)
add `.includes(value, options?)` @&#8203; `ZodString`.
([#&#8203;1887](https://github.com/colinhacks/zod/issues/1887))
-
[`67b981e`](https://github.com/colinhacks/zod/commit/67b981e70b4bacb2278a9aacd22d38cbb4b52d17)
Make safeParse().error a getter
-
[`346fde0`](https://github.com/colinhacks/zod/commit/346fde03724bfd1601823e4f72470bc7e344030b)
3.21.0-canary.20230304T235951
-
[`b50d871`](https://github.com/colinhacks/zod/commit/b50d871b2f5949587afdcce2375227a447dbb742)
Add canary release CI
-
[`b20cca2`](https://github.com/colinhacks/zod/commit/b20cca230a6a9beb8acf841250641b62847b6e80)
Fix canary
-
[`f7f5c50`](https://github.com/colinhacks/zod/commit/f7f5c50c65d7c7e5262c028e6832b92b14d84ea5)
Move action to .github/workflows
-
[`f01fa0e`](https://github.com/colinhacks/zod/commit/f01fa0e48ca18630604366f5bc7401a18eb4d018)
Try to fix canary CI
-
[`f5e8067`](https://github.com/colinhacks/zod/commit/f5e8067b2afcc3e5ae9f8ed389a31b83a7c3ceec)
No git tag
-
[`5b304ae`](https://github.com/colinhacks/zod/commit/5b304ae41705105ae6edcacdb6dfdac9c527b3f4)
No dry run
-
[`20df80e`](https://github.com/colinhacks/zod/commit/20df80e6ce2ac27f6e2f26b61cd1fd4c942b152d)
Add tsc compilation test
-
[`ead93d3`](https://github.com/colinhacks/zod/commit/ead93d3cfde54efe952dc615c21ff179a00f7574)
Document .pipe()
-
[`d8e8653`](https://github.com/colinhacks/zod/commit/d8e86534325fb00bc0193a4c6af04f2a67bd2e4e)
Update headers
-
[`03c0ab1`](https://github.com/colinhacks/zod/commit/03c0ab1640ca9111d9fbac3c261e2f76e3cbf247)
Cache the evaluation of ParseInputLazyPath.path() for a moderate perf
improvement
([#&#8203;2137](https://github.com/colinhacks/zod/issues/2137))
-
[`e7b3b7b`](https://github.com/colinhacks/zod/commit/e7b3b7bf493caeee7e4f043eea024e4d3badc090)
Improve string docs
-
[`83478f5`](https://github.com/colinhacks/zod/commit/83478f5e413c333f07f53b9b4bb8c24b75e1cecf)
Remove zod dep
-
[`2f1868d`](https://github.com/colinhacks/zod/commit/2f1868d0c17c0e401c4438d9d35e68f9685a741b)
Specify paths for canary
-
[`e599966`](https://github.com/colinhacks/zod/commit/e599966709fe0253d6779ce1dec38a2adcebf41f)
Add sponsors
-
[`950bd17`](https://github.com/colinhacks/zod/commit/950bd17f01668b45e592a678974437b15012b158)
Tweak x.custom example
-
[`728e56a`](https://github.com/colinhacks/zod/commit/728e56a7e157cca8cdc0ab937f25a2412673c934)
Close [#&#8203;2127](https://github.com/colinhacks/zod/issues/2127)
-
[`64883e4`](https://github.com/colinhacks/zod/commit/64883e4fe41b10eb577c4f9eaf6f24fa29bcd60d)
feat: z.string().ulid() - add support for ulids
([#&#8203;2049](https://github.com/colinhacks/zod/issues/2049))
-
[`e0d709b`](https://github.com/colinhacks/zod/commit/e0d709b1348efab06ac5341d360a411bc09eb7ba)
3.20.1
-
[`9c33194`](https://github.com/colinhacks/zod/commit/9c3319443cfc953adc51786e8d6fe0bbe1e37f8e)
Remove comments, clean up utils
-
[`942e2db`](https://github.com/colinhacks/zod/commit/942e2db8e51d580f4e3cd8c4c4af8bc6aecf4130)
Fix tests

###
[`v3.21.0`](https://github.com/colinhacks/zod/releases/tag/v3.21.0)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.20.6...v3.21.0)

#### Features

##### `z.string().emoji()`

Thanks [@&#8203;joseph-lozano](https://github.com/joseph-lozano) for
[https://github.com/colinhacks/zod/pull/2045](https://github.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 [@&#8203;joulev](https://github.com/joulev) for
[https://github.com/colinhacks/zod/pull/1813](https://github.com/colinhacks/zod/pull/1813)!
To validate [CUIDv2](https://github.com/paralleldrive/cuid2):

```ts
z.string().cuid2()
```

##### `z.string().ip()`

Thanks [@&#8203;fvckDesa](https://github.com/fvckDesa) for
[https://github.com/colinhacks/zod/pull/2066](https://github.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 [@&#8203;igalklebanov](https://github.com/igalklebanov) for
[`#1711`](https://github.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
[@&#8203;santosmarco-caribou](https://github.com/santosmarco-caribou)
for
[https://github.com/colinhacks/zod/pull/1652](https://github.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 [@&#8203;0xWryth](https://github.com/0xWryth) for
[https://github.com/colinhacks/zod/pull/2087](https://github.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
[@&#8203;gydroperit](https://github.com/gydroperit) for some heroic
efforts here:
[https://github.com/colinhacks/zod/pull/2107](https://github.com/colinhacks/zod/pull/2107)
Zod 3.21 resolves these issues:

-
[https://github.com/colinhacks/zod/issues/2142](https://github.com/colinhacks/zod/issues/2142)
-
[https://github.com/colinhacks/zod/issues/1741](https://github.com/colinhacks/zod/issues/1741)
-
https://stackoverflow.com/questions/74881472/slow-typescript-autocompletion-in-vs-code-for-zod

#### Commits:

-
[`3c54461`](https://github.com/colinhacks/zod/commit/3c54461d7a649bf727aec59367eefb214ffe24fe)
fix typo in readme
-
[`c244fb6`](https://github.com/colinhacks/zod/commit/c244fb6c57506fd11609106960639de26ddf9b6d)
feat: z.string().emoji()
([#&#8203;2045](https://github.com/colinhacks/zod/issues/2045))
-
[`39cbb69`](https://github.com/colinhacks/zod/commit/39cbb6971c3dca09cbc0acdca2d3995dfd26aab2)
Fix emoji validation, fix lint
-
[`d8f07bb`](https://github.com/colinhacks/zod/commit/d8f07bbfffd255b0aee6b5fe9bb6aa2bce6586af)
Fix emoji
-
[`9b7dd81`](https://github.com/colinhacks/zod/commit/9b7dd816e92e16ca735e488b77e280a92a84ed64)
Improve variable name clarity
([#&#8203;2048](https://github.com/colinhacks/zod/issues/2048))
-
[`5cec187`](https://github.com/colinhacks/zod/commit/5cec1871ac21627608af6c07585d5e50ff30f281)
Add documentation for the param parameter of z.custom
-
[`654f529`](https://github.com/colinhacks/zod/commit/654f52969a968c630af816dcad0d8f3721f9001a)
Merge pull request
[#&#8203;2057](https://github.com/colinhacks/zod/issues/2057) from
trygveaa/add-documentation-for-z-custom-params
-
[`981af65`](https://github.com/colinhacks/zod/commit/981af6503ee1be530fe525ac77ba95e1904ce24a)
Merge pull request
[#&#8203;2019](https://github.com/colinhacks/zod/issues/2019) from
vbud/patch-1
-
[`a7c2969`](https://github.com/colinhacks/zod/commit/a7c2969b9125df0fbfa65e8541a974eeaf53b6a6)
Update error_handling
-
[`8f3d028`](https://github.com/colinhacks/zod/commit/8f3d0283ba75d146d5199fe3dc140eeb5402352c)
BRAND Record to Non Partial
([#&#8203;2097](https://github.com/colinhacks/zod/issues/2097))
-
[`5ec98e1`](https://github.com/colinhacks/zod/commit/5ec98e1c4420957f93a7388bf49fb01d91bcbcd0)
Fix email issues in pull request
[#&#8203;1982](https://github.com/colinhacks/zod/issues/1982)
([#&#8203;2058](https://github.com/colinhacks/zod/issues/2058))
-
[`7d40ba5`](https://github.com/colinhacks/zod/commit/7d40ba58931130ec965be9d65d14e0665ee9c379)
feat([#&#8203;2059](https://github.com/colinhacks/zod/issues/2059)):
z.string.ip() - add support for IP address
([#&#8203;2066](https://github.com/colinhacks/zod/issues/2066))
-
[`e559605`](https://github.com/colinhacks/zod/commit/e5596054cfddf8aa1ba8d7d3bad63552a2bf9b6a)
feat: add `.catch` error
([#&#8203;2087](https://github.com/colinhacks/zod/issues/2087))
-
[`defdab9`](https://github.com/colinhacks/zod/commit/defdab9c163d9a994f927a0644ab4ec172513fcb)
Fix record tests
-
[`8de36eb`](https://github.com/colinhacks/zod/commit/8de36eb17d9477ada75cea2164d6b47079dd0444)
FIX: emoji regex and tests
([#&#8203;2090](https://github.com/colinhacks/zod/issues/2090))
-
[`16beeb5`](https://github.com/colinhacks/zod/commit/16beeb598039b33bc5a209956042d858abacca34)
lowercase method for ZodString
([#&#8203;2038](https://github.com/colinhacks/zod/issues/2038))
-
[`75cb9e8`](https://github.com/colinhacks/zod/commit/75cb9e814115a35c0b4cc2e970f6aaae90e1a13c)
add checks @&#8203; `ZodBigInt`.
([#&#8203;1711](https://github.com/colinhacks/zod/issues/1711))
-
[`c4d4e49`](https://github.com/colinhacks/zod/commit/c4d4e494227aadc752d4d5a5a317ec16bb6f5a45)
Update ERROR_HANDLING.md
([#&#8203;2022](https://github.com/colinhacks/zod/issues/2022))
-
[`d6f0890`](https://github.com/colinhacks/zod/commit/d6f08908b17ea10456befc2231a867d5cea02a0e)
added link to deno land
-
[`4cf1960`](https://github.com/colinhacks/zod/commit/4cf19606870e66bf4307984bf99a4bef495c7818)
Refactoring of ZodFormattedError type to improve tsc check time
([#&#8203;2107](https://github.com/colinhacks/zod/issues/2107))
-
[`867a921`](https://github.com/colinhacks/zod/commit/867a921a93160780d9f3aeddabf1ca49758a3c1e)
Bump http-cache-semantics from 4.1.0 to 4.1.1
([#&#8203;1985](https://github.com/colinhacks/zod/issues/1985))
-
[`edc3a67`](https://github.com/colinhacks/zod/commit/edc3a67e77d33979b3ee9e071557b4ca53298c55)
Deprecate deepPartial
-
[`e59f639`](https://github.com/colinhacks/zod/commit/e59f639d3bb5cca65ef239d5dd5c93e74ce4a801)
Add custom tests
-
[`a6b44ed`](https://github.com/colinhacks/zod/commit/a6b44ed8e346af2fabbb62b5164b99a387accd32)
Remove logging
-
[`a1fc3fb`](https://github.com/colinhacks/zod/commit/a1fc3fb815051beb4b7030969828aa6abe469c2c)
commented out `toLowerCase` and `toUpperCase`
-
[`e71cc52`](https://github.com/colinhacks/zod/commit/e71cc523b1865568c4db45f82789e5c86bed0f12)
Update README_ZH.md
([#&#8203;2139](https://github.com/colinhacks/zod/issues/2139))
-
[`3af38fb`](https://github.com/colinhacks/zod/commit/3af38fbe2cb114219e688103e41e382e28ec7a80)
add `ZodNumber.safe()` & `ZodNumber.isSafe`.
([#&#8203;1753](https://github.com/colinhacks/zod/issues/1753))
-
[`6ef82ee`](https://github.com/colinhacks/zod/commit/6ef82ee1e45dbcfc92a2ed359b1d2ae87d54c43d)
Add benchmark flags
-
[`5463593`](https://github.com/colinhacks/zod/commit/5463593385549452768e060a98cc0fd8988760d2)
Support brands in recursive types
-
[`8074523`](https://github.com/colinhacks/zod/commit/80745238937adc06c5b4eab19ef273ca9f7f2de8)
Update readme
-
[`b6794a4`](https://github.com/colinhacks/zod/commit/b6794a4981b8621fee84642f5313464f5e8f9a22)
Add index signature for passthrough
-
[`3c6cdd2`](https://github.com/colinhacks/zod/commit/3c6cdd245ab73d7ca1461a18b5be2da07abe6b6b)
Make generic optional in objectOutputType
-
[`bc43ad1`](https://github.com/colinhacks/zod/commit/bc43ad18e64cf7add23e90bc6b07d5bba8370e5e)
Fix rollup build
-
[`6a0545a`](https://github.com/colinhacks/zod/commit/6a0545acd5b9cfc40b0b3f04e64bfc5dd789d1b1)
3.21.0
-
[`7c07339`](https://github.com/colinhacks/zod/commit/7c0733968d64c7d7aebc1ae54ca90aadcb2bffc3)
Fix brand
-
[`0aa6021`](https://github.com/colinhacks/zod/commit/0aa6021ef3628bb39715bdda416be2c6a4951141)
Clean up tests

###
[`v3.20.6`](https://github.com/colinhacks/zod/releases/tag/v3.20.6)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.20.5...v3.20.6)

#### Commits:

-
[`e693919`](https://github.com/colinhacks/zod/commit/e6939195fbb5191402ba3d6f5b7aade463de6e51)
3.20.6

###
[`v3.20.5`](https://github.com/colinhacks/zod/releases/tag/v3.20.5)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.20.4...v3.20.5)

#### Commits:

-
[`e71c7be`](https://github.com/colinhacks/zod/commit/e71c7be15e393e0932aa3c939d061f8444f6ae29)
Fix extract/exclude type error

###
[`v3.20.4`](https://github.com/colinhacks/zod/releases/tag/v3.20.4)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.20.3...v3.20.4)

#### Commits:

-
[`b8d731f`](https://github.com/colinhacks/zod/commit/b8d731f779679e6f47cde18b2c422b0d4f44b01d)
Set input type of ZodCatch to unknown
-
[`06c237c`](https://github.com/colinhacks/zod/commit/06c237c29f53a827d2eb29cb20e9e23caba1ce2c)
Revert merge changes
-
[`c8ce27e`](https://github.com/colinhacks/zod/commit/c8ce27e8c0378856964cf8892c6102bde63fa0cb)
3.20.4

###
[`v3.20.3`](https://github.com/colinhacks/zod/releases/tag/v3.20.3)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.20.2...v3.20.3)

#### Features

- Add string cuid2() validation by
[@&#8203;joulev](https://github.com/joulev) in
[https://github.com/colinhacks/zod/pull/1813](https://github.com/colinhacks/zod/pull/1813)
- Add `ZodNumber.isFinite`, make `ZodNumber.isInt` true if
`.multipleOf(int)`. by
[@&#8203;igalklebanov](https://github.com/igalklebanov) in
[https://github.com/colinhacks/zod/pull/1714](https://github.com/colinhacks/zod/pull/1714)
- feat: Add `extract`/`exclude` methods to `ZodEnum` by
[@&#8203;santosmarco-caribou](https://github.com/santosmarco-caribou)
in
[https://github.com/colinhacks/zod/pull/1652](https://github.com/colinhacks/zod/pull/1652)

#### Fixes and documentation

- add more test cases for `z.coerce`. by
[@&#8203;igalklebanov](https://github.com/igalklebanov) in
[https://github.com/colinhacks/zod/pull/1680](https://github.com/colinhacks/zod/pull/1680)
- Add Modular Forms to form integrations in README by
[@&#8203;fabian-hiller](https://github.com/fabian-hiller) in
[https://github.com/colinhacks/zod/pull/1695](https://github.com/colinhacks/zod/pull/1695)
- docs: Instruct users to return z.NEVER in .superRefine() when
providing a type predicate by
[@&#8203;zetaraku](https://github.com/zetaraku) in
[https://github.com/colinhacks/zod/pull/1742](https://github.com/colinhacks/zod/pull/1742)
- Fix small typo in ERROR_HANDLING.md by
[@&#8203;t-shiratori](https://github.com/t-shiratori) in
[https://github.com/colinhacks/zod/pull/1720](https://github.com/colinhacks/zod/pull/1720)
- Improve accuracy of the `isAsync` type guard by
[@&#8203;aaronccasanova](https://github.com/aaronccasanova) in
[https://github.com/colinhacks/zod/pull/1719](https://github.com/colinhacks/zod/pull/1719)
- fix: Fix `ZodCatch` by
[@&#8203;santosmarco-caribou](https://github.com/santosmarco-caribou)
in
[https://github.com/colinhacks/zod/pull/1733](https://github.com/colinhacks/zod/pull/1733)
- Fix datetime offset without comma by
[@&#8203;ooga](https://github.com/ooga) in
[https://github.com/colinhacks/zod/pull/1749](https://github.com/colinhacks/zod/pull/1749)
- Discriminated union example fails to parse by
[@&#8203;matthewfallshaw](https://github.com/matthewfallshaw) in
[https://github.com/colinhacks/zod/pull/1713](https://github.com/colinhacks/zod/pull/1713)
- fix:
\[[#&#8203;1693](https://github.com/colinhacks/zod/issues/1693)] Tuple
with empty items by [@&#8203;metuan](https://github.com/metuan) in
[https://github.com/colinhacks/zod/pull/1712](https://github.com/colinhacks/zod/pull/1712)
- fix: [#&#8203;1668](https://github.com/colinhacks/zod/issues/1668)
email regex safari compat by
[@&#8203;AnatoleLucet](https://github.com/AnatoleLucet) in
[https://github.com/colinhacks/zod/pull/1683](https://github.com/colinhacks/zod/pull/1683)
- docs: fix typo by [@&#8203;zetaraku](https://github.com/zetaraku) in
[https://github.com/colinhacks/zod/pull/1699](https://github.com/colinhacks/zod/pull/1699)
- fix installation links in table of contents by
[@&#8203;DetachHead](https://github.com/DetachHead) in
[https://github.com/colinhacks/zod/pull/1700](https://github.com/colinhacks/zod/pull/1700)
- Updated `deno/lib/README.md` to match `zod/README.md` by
[@&#8203;JacobWeisenburger](https://github.com/JacobWeisenburger) in
[https://github.com/colinhacks/zod/pull/1791](https://github.com/colinhacks/zod/pull/1791)
- fix([#&#8203;1743](https://github.com/colinhacks/zod/issues/1743)):
Fix passing params in root class by
[@&#8203;santosmarco-caribou](https://github.com/santosmarco-caribou)
in
[https://github.com/colinhacks/zod/pull/1756](https://github.com/colinhacks/zod/pull/1756)
- change the chaining order of nullish method by
[@&#8203;p10ns11y](https://github.com/p10ns11y) in
[https://github.com/colinhacks/zod/pull/1702](https://github.com/colinhacks/zod/pull/1702)
- Propagate custom error type to ZodFormattedError subfields by
[@&#8203;carlgieringer](https://github.com/carlgieringer) in
[https://github.com/colinhacks/zod/pull/1617](https://github.com/colinhacks/zod/pull/1617)
- fix deno literal test. by
[@&#8203;igalklebanov](https://github.com/igalklebanov) in
[https://github.com/colinhacks/zod/pull/1794](https://github.com/colinhacks/zod/pull/1794)
- Document `.describe()` by
[@&#8203;rattrayalex](https://github.com/rattrayalex) in
[https://github.com/colinhacks/zod/pull/1819](https://github.com/colinhacks/zod/pull/1819)
- update homepage link in package.json by
[@&#8203;Gpx](https://github.com/Gpx) in
[https://github.com/colinhacks/zod/pull/1830](https://github.com/colinhacks/zod/pull/1830)
- fix: compile error in sample code by
[@&#8203;jtgi](https://github.com/jtgi) in
[https://github.com/colinhacks/zod/pull/1822](https://github.com/colinhacks/zod/pull/1822)
- Readme: Move "Coercion for primitives" section by
[@&#8203;tordans](https://github.com/tordans) in
[https://github.com/colinhacks/zod/pull/1842](https://github.com/colinhacks/zod/pull/1842)
- Readme: Add internal links "or" <-> "union" by
[@&#8203;tordans](https://github.com/tordans) in
[https://github.com/colinhacks/zod/pull/1846](https://github.com/colinhacks/zod/pull/1846)
- Readme: Add example for string validation for an optional field to
chapter "Unions" by [@&#8203;tordans](https://github.com/tordans) in
[https://github.com/colinhacks/zod/pull/1849](https://github.com/colinhacks/zod/pull/1849)
- Readme: Add intro to chapter Literals by
[@&#8203;tordans](https://github.com/tordans) in
[https://github.com/colinhacks/zod/pull/1877](https://github.com/colinhacks/zod/pull/1877)
- fix: faker.js link in readme by
[@&#8203;markacola](https://github.com/markacola) in
[https://github.com/colinhacks/zod/pull/1843](https://github.com/colinhacks/zod/pull/1843)
- Minor typo fix by
[@&#8203;iamchandru6470](https://github.com/iamchandru6470) in
[https://github.com/colinhacks/zod/pull/1945](https://github.com/colinhacks/zod/pull/1945)
- chore(documentation): Update CHANGELOG to redirect to Github Releases
by [@&#8203;mitchwd](https://github.com/mitchwd) in
[https://github.com/colinhacks/zod/pull/1936](https://github.com/colinhacks/zod/pull/1936)
- fix:
\[[#&#8203;1839](https://github.com/colinhacks/zod/issues/1839)]
remove caught errors from issues by
[@&#8203;maxArturo](https://github.com/maxArturo) in
[https://github.com/colinhacks/zod/pull/1926](https://github.com/colinhacks/zod/pull/1926)
- fix:
\[[#&#8203;1784](https://github.com/colinhacks/zod/issues/1784)] dark
mode in the documentation by
[@&#8203;fvckDesa](https://github.com/fvckDesa) in
[https://github.com/colinhacks/zod/pull/1932](https://github.com/colinhacks/zod/pull/1932)
- Allow also "\[+-]hh" as datetime offset by
[@&#8203;rafw87](https://github.com/rafw87) in
[https://github.com/colinhacks/zod/pull/1797](https://github.com/colinhacks/zod/pull/1797)
- Feature/add resolves method to zod promise by
[@&#8203;bolencki13](https://github.com/bolencki13) in
[https://github.com/colinhacks/zod/pull/1871](https://github.com/colinhacks/zod/pull/1871)
- test: add benchmark tests for date and symbol by
[@&#8203;pnts-se](https://github.com/pnts-se) in
[https://github.com/colinhacks/zod/pull/1796](https://github.com/colinhacks/zod/pull/1796)
- export the email regex by
[@&#8203;andresBobsled](https://github.com/andresBobsled) in
[https://github.com/colinhacks/zod/pull/2007](https://github.com/colinhacks/zod/pull/2007)
- Add React form validation library to ecosystem by
[@&#8203;crutchcorn](https://github.com/crutchcorn) in
[https://github.com/colinhacks/zod/pull/1999](https://github.com/colinhacks/zod/pull/1999)
- fix: make sure only mask keys with truthy values are respected at
runtime @&#8203; `.pick`, `.omit`, `.partial` & `.required`. by
[@&#8203;igalklebanov](https://github.com/igalklebanov) in
[https://github.com/colinhacks/zod/pull/1875](https://github.com/colinhacks/zod/pull/1875)
- fix: failing prettier checks on merge by
[@&#8203;maxArturo](https://github.com/maxArturo) in
[https://github.com/colinhacks/zod/pull/1969](https://github.com/colinhacks/zod/pull/1969)
- deny unexpected keys @&#8203; `ZodObject`'s
`.omit(mask)`,`.pick(mask)`,`.required(mask)` & `.partial(mask)` at
compile time. by
[@&#8203;igalklebanov](https://github.com/igalklebanov) in
[https://github.com/colinhacks/zod/pull/1564](https://github.com/colinhacks/zod/pull/1564)
- docs: punctuation by [@&#8203;jly36963](https://github.com/jly36963)
in
[https://github.com/colinhacks/zod/pull/1973](https://github.com/colinhacks/zod/pull/1973)
- fix\[[#&#8203;1979](https://github.com/colinhacks/zod/issues/1979)]:
Increment Email validation by
[@&#8203;fvckDesa](https://github.com/fvckDesa) in
[https://github.com/colinhacks/zod/pull/1982](https://github.com/colinhacks/zod/pull/1982)
- test: additional unit-tests for object by
[@&#8203;pnts-se](https://github.com/pnts-se) in
[https://github.com/colinhacks/zod/pull/1729](https://github.com/colinhacks/zod/pull/1729)

#### New Contributors

- [@&#8203;fabian-hiller](https://github.com/fabian-hiller) made their
first contribution in
[https://github.com/colinhacks/zod/pull/1695](https://github.com/colinhacks/zod/pull/1695)
- [@&#8203;zetaraku](https://github.com/zetaraku) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1742](https://github.com/colinhacks/zod/pull/1742)
- [@&#8203;t-shiratori](https://github.com/t-shiratori) made their
first contribution in
[https://github.com/colinhacks/zod/pull/1720](https://github.com/colinhacks/zod/pull/1720)
- [@&#8203;aaronccasanova](https://github.com/aaronccasanova) made
their first contribution in
[https://github.com/colinhacks/zod/pull/1719](https://github.com/colinhacks/zod/pull/1719)
- [@&#8203;ooga](https://github.com/ooga) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1749](https://github.com/colinhacks/zod/pull/1749)
- [@&#8203;matthewfallshaw](https://github.com/matthewfallshaw) made
their first contribution in
[https://github.com/colinhacks/zod/pull/1713](https://github.com/colinhacks/zod/pull/1713)
- [@&#8203;metuan](https://github.com/metuan) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1712](https://github.com/colinhacks/zod/pull/1712)
- [@&#8203;AnatoleLucet](https://github.com/AnatoleLucet) made their
first contribution in
[https://github.com/colinhacks/zod/pull/1683](https://github.com/colinhacks/zod/pull/1683)
- [@&#8203;DetachHead](https://github.com/DetachHead) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1700](https://github.com/colinhacks/zod/pull/1700)
- [@&#8203;p10ns11y](https://github.com/p10ns11y) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1702](https://github.com/colinhacks/zod/pull/1702)
- [@&#8203;carlgieringer](https://github.com/carlgieringer) made their
first contribution in
[https://github.com/colinhacks/zod/pull/1617](https://github.com/colinhacks/zod/pull/1617)
- [@&#8203;rattrayalex](https://github.com/rattrayalex) made their
first contribution in
[https://github.com/colinhacks/zod/pull/1819](https://github.com/colinhacks/zod/pull/1819)
- [@&#8203;Gpx](https://github.com/Gpx) made their first contribution
in
[https://github.com/colinhacks/zod/pull/1830](https://github.com/colinhacks/zod/pull/1830)
- [@&#8203;jtgi](https://github.com/jtgi) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1822](https://github.com/colinhacks/zod/pull/1822)
- [@&#8203;tordans](https://github.com/tordans) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1842](https://github.com/colinhacks/zod/pull/1842)
- [@&#8203;markacola](https://github.com/markacola) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1843](https://github.com/colinhacks/zod/pull/1843)
- [@&#8203;iamchandru6470](https://github.com/iamchandru6470) made
their first contribution in
[https://github.com/colinhacks/zod/pull/1945](https://github.com/colinhacks/zod/pull/1945)
- [@&#8203;mitchwd](https://github.com/mitchwd) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1936](https://github.com/colinhacks/zod/pull/1936)
- [@&#8203;fvckDesa](https://github.com/fvckDesa) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1932](https://github.com/colinhacks/zod/pull/1932)
- [@&#8203;rafw87](https://github.com/rafw87) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1797](https://github.com/colinhacks/zod/pull/1797)
- [@&#8203;bolencki13](https://github.com/bolencki13) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1871](https://github.com/colinhacks/zod/pull/1871)
- [@&#8203;joulev](https://github.com/joulev) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1813](https://github.com/colinhacks/zod/pull/1813)
- [@&#8203;pnts-se](https://github.com/pnts-se) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1796](https://github.com/colinhacks/zod/pull/1796)
- [@&#8203;andresBobsled](https://github.com/andresBobsled) made their
first contribution in
[https://github.com/colinhacks/zod/pull/2007](https://github.com/colinhacks/zod/pull/2007)
- [@&#8203;crutchcorn](https://github.com/crutchcorn) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1999](https://github.com/colinhacks/zod/pull/1999)
- [@&#8203;jly36963](https://github.com/jly36963) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1973](https://github.com/colinhacks/zod/pull/1973)

**Full Changelog**:
https://github.com/colinhacks/zod/compare/v3.20.2...v3.20.3

###
[`v3.20.2`](https://github.com/colinhacks/zod/releases/tag/v3.20.2)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.20.1...v3.20.2)

##### Commits:

-
[`d7d49e7`](https://github.com/colinhacks/zod/commit/d7d49e77ccd758ee874f7866862840f88f75cbb6)
Clarify boolean coercion
-
[`f49cbcb`](https://github.com/colinhacks/zod/commit/f49cbcb38f7e58e37480ded0f8f558c85de1ce3a)
Fix formatting
-
[`0b62f8c`](https://github.com/colinhacks/zod/commit/0b62f8c0c1722a15bd8afbc003e78fe7a177b2a2)
Revert email regex changes
-
[`68919aa`](https://github.com/colinhacks/zod/commit/68919aa1790fcb729385a4b290ee03b3d8df0d86)
3.20.2
-
[`c9e4ed4`](https://github.com/colinhacks/zod/commit/c9e4ed4095d77f5b43a5ba11d8f76b56ea48e5c6)
Fix string test

###
[`v3.20.1`](https://github.com/colinhacks/zod/releases/tag/v3.20.1)

[Compare
Source](https://github.com/colinhacks/zod/compare/v3.20.0...v3.20.1)

#### Commits:

-
[`1298d26`](https://github.com/colinhacks/zod/commit/1298d26115e09cf097cb272cfc3184484eb64fd1)
Update readme
-
[`b3b0ecf`](https://github.com/colinhacks/zod/commit/b3b0ecfcb8d2314cf3e6cbd78056c5410650c348)
Only call .catch() method when parsing fails
([#&#8203;1674](https://github.com/colinhacks/zod/issues/1674))
-
[`957b55b`](https://github.com/colinhacks/zod/commit/957b55b82d19707888a4914670c8cf8563911425)
Fixing ZodString::isDatetime.
([#&#8203;1678](https://github.com/colinhacks/zod/issues/1678))
-
[`29ec1f8`](https://github.com/colinhacks/zod/commit/29ec1f8d99836d8bb0661cac8641d4b4094aaf40)
Add default
-
[`1161b8f`](https://github.com/colinhacks/zod/commit/1161b8f77e8ef120f9a0fca6e1ca223538d8ffc4)
3.20.1

###
[`v3.20.0`](https://github.com/colinhacks/zod/releases/tag/v3.20.0):
-beta

[Compare
Source](https://github.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
[@&#8203;santosmarco-caribou](https://github.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 [@&#8203;samchungy](https://github.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
[@&#8203;igalklebanov](https://github.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
[@&#8203;SrBrahma](https://github.com/SrBrahma) in
[https://github.com/colinhacks/zod/pull/1315](https://github.com/colinhacks/zod/pull/1315)
- Added Intersections to TOC by
[@&#8203;tmkn](https://github.com/tmkn) in
[https://github.com/colinhacks/zod/pull/1450](https://github.com/colinhacks/zod/pull/1450)
- \[[#&#8203;1468](https://github.com/colinhacks/zod/issues/1468)] Fix
zod.dev main page cross origin links. by
[@&#8203;agrahamg](https://github.com/agrahamg) in
[https://github.com/colinhacks/zod/pull/1469](https://github.com/colinhacks/zod/pull/1469)
- Updates remix-domains library name and description in README by
[@&#8203;diogob](https://github.com/diogob) in
[https://github.com/colinhacks/zod/pull/1501](https://github.com/colinhacks/zod/pull/1501)
- Removed BRAND from ZodBrand Input definition by
[@&#8203;Xetera](https://github.com/Xetera) in
[https://github.com/colinhacks/zod/pull/1492](https://github.com/colinhacks/zod/pull/1492)
- Add Zodix to readme ecosystem section by
[@&#8203;rileytomasek](https://github.com/rileytomasek) in
[https://github.com/colinhacks/zod/pull/1506](https://github.com/colinhacks/zod/pull/1506)
- Fix small typos in README by
[@&#8203;Yhozen](https://github.com/Yhozen) in
[https://github.com/colinhacks/zod/pull/1521](https://github.com/colinhacks/zod/pull/1521)
- fix typo by [@&#8203;oasido](https://github.com/oasido) in
[https://github.com/colinhacks/zod/pull/1528](https://github.com/colinhacks/zod/pull/1528)
- add `fatal` to `ZodIssue`. by
[@&#8203;igalklebanov](https://github.com/igalklebanov) in
[https://github.com/colinhacks/zod/pull/1555](https://github.com/colinhacks/zod/pull/1555)
- Fix typo in ERROR_HANDLING.md by
[@&#8203;Tsuyoshi84](https://github.com/Tsuyoshi84) in
[https://github.com/colinhacks/zod/pull/1543](https://github.com/colinhacks/zod/pull/1543)
- add `.finite()` @&#8203; `ZodNumber`. by
[@&#8203;igalklebanov](https://github.com/igalklebanov) in
[https://github.com/colinhacks/zod/pull/1546](https://github.com/colinhacks/zod/pull/1546)
- Fix typing bug hiding errors of nullable composite fields by
[@&#8203;tadeokondrak](https://github.com/tadeokondrak) in
[https://github.com/colinhacks/zod/pull/1545](https://github.com/colinhacks/zod/pull/1545)
- [#&#8203;1227](https://github.com/colinhacks/zod/issues/1227)
Feature default on mismatch by
[@&#8203;seancrowe](https://github.com/seancrowe) in
[https://github.com/colinhacks/zod/pull/1537](https://github.com/colinhacks/zod/pull/1537)
- fix [#&#8203;1046](https://github.com/colinhacks/zod/issues/1046)
`.required()` doesn't remove optional flag from the result of
`.nullish()`. by
[@&#8203;igalklebanov](https://github.com/igalklebanov) in
[https://github.com/colinhacks/zod/pull/1542](https://github.com/colinhacks/zod/pull/1542)
- add `datetime()` string formats by
[@&#8203;samchungy](https://github.com/samchungy) in
[https://github.com/colinhacks/zod/pull/1494](https://github.com/colinhacks/zod/pull/1494)
- Bump minimatch from 3.0.4 to 3.1.2 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/colinhacks/zod/pull/1558](https://github.com/colinhacks/zod/pull/1558)
- Bump minimist from 1.2.5 to 1.2.7 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/colinhacks/zod/pull/1507](https://github.com/colinhacks/zod/pull/1507)
- [#&#8203;1171](https://github.com/colinhacks/zod/issues/1171)
support for refine, superRefine, transform and lazy in
discriminatedUnion by [@&#8203;roblabat](https://github.com/roblabat)
in
[https://github.com/colinhacks/zod/pull/1290](https://github.com/colinhacks/zod/pull/1290)
- branded type as normal argument by
[@&#8203;KATT](https://github.com/KATT) in
[https://github.com/colinhacks/zod/pull/1502](https://github.com/colinhacks/zod/pull/1502)
- Take `path` parameter into account within `.parseAsync()` by
[@&#8203;RobinTail](https://github.com/RobinTail) in
[https://github.com/colinhacks/zod/pull/1513](https://github.com/colinhacks/zod/pull/1513)
- Update README.md by
[@&#8203;rosnerdev](https://github.com/rosnerdev) in
[https://github.com/colinhacks/zod/pull/1463](https://github.com/colinhacks/zod/pull/1463)
- Add `ZodSymbol` by
[@&#8203;santosmarco-caribou](https://github.com/santosmarco-caribou)
in
[https://github.com/colinhacks/zod/pull/1448](https://github.com/colinhacks/zod/pull/1448)
- Fix Minor Typos by
[@&#8203;WebDevSimplified](https://github.com/WebDevSimplified) in
[https://github.com/colinhacks/zod/pull/1624](https://github.com/colinhacks/zod/pull/1624)

#### New Contributors

- [@&#8203;SrBrahma](https://github.com/SrBrahma) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1315](https://github.com/colinhacks/zod/pull/1315)
- [@&#8203;tmkn](https://github.com/tmkn) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1450](https://github.com/colinhacks/zod/pull/1450)
- [@&#8203;agrahamg](https://github.com/agrahamg) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1469](https://github.com/colinhacks/zod/pull/1469)
- [@&#8203;diogob](https://github.com/diogob) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1501](https://github.com/colinhacks/zod/pull/1501)
- [@&#8203;Xetera](https://github.com/Xetera) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1492](https://github.com/colinhacks/zod/pull/1492)
- [@&#8203;rileytomasek](https://github.com/rileytomasek) made their
first contribution in
[https://github.com/colinhacks/zod/pull/1506](https://github.com/colinhacks/zod/pull/1506)
- [@&#8203;Yhozen](https://github.com/Yhozen) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1521](https://github.com/colinhacks/zod/pull/1521)
- [@&#8203;oasido](https://github.com/oasido) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1528](https://github.com/colinhacks/zod/pull/1528)
- [@&#8203;igalklebanov](https://github.com/igalklebanov) made their
first contribution in
[https://github.com/colinhacks/zod/pull/1555](https://github.com/colinhacks/zod/pull/1555)
- [@&#8203;Tsuyoshi84](https://github.com/Tsuyoshi84) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1543](https://github.com/colinhacks/zod/pull/1543)
- [@&#8203;tadeokondrak](https://github.com/tadeokondrak) made their
first contribution in
[https://github.com/colinhacks/zod/pull/1545](https://github.com/colinhacks/zod/pull/1545)
- [@&#8203;seancrowe](https://github.com/seancrowe) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1537](https://github.com/colinhacks/zod/pull/1537)
- [@&#8203;samchungy](https://github.com/samchungy) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1494](https://github.com/colinhacks/zod/pull/1494)
- [@&#8203;roblabat](https://github.com/roblabat) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1290](https://github.com/colinhacks/zod/pull/1290)
- [@&#8203;KATT](https://github.com/KATT) made their first
contribution in
[https://github.com/colinhacks/zod/pull/1502](https://github.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==-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants