Repository navigation
chore(deps): bump zod from 3.25.76 to 4.6.6 - #3459
dependabot[bot] wants to merge 1 commit into
Conversation
Bumps [zod](https://github.com/colinhacks/zod) from 3.25.76 to 4.6.6. - [Release notes](https://github.com/colinhacks/zod/releases) - [Commits](colinhacks/zod@v3.25.76...v4.6.6) --- updated-dependencies: - dependency-name: zod dependency-version: 4.6.6 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
|
PR author is in the excluded authors list. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
🟢 Tier 1 — TrivialDocs, images, lock files, a dependency bump, or an automated release. No functional code changes detected. Why this tier:
Additional context: spans packages but only 6 prod lines — under the 100-line cross-layer bar, 1 file(s) in private internal-tooling packages, excluded from the line count Review process: Auto-merge once CI passes. No human review required. Stats
|
Duplicate code analysisNo new duplicate code introduced by this PR. jscpd compared this branch against |
| "uplot": "^1.6.31", | ||
| "uplot-react": "^1.2.2", | ||
| "zod": "3.25" | ||
| "zod": "4.6" |
There was a problem hiding this comment.
🔴 critical — @hookform/resolvers 3.9.0 can't handle zod 4 errors, so form validation throws instead of showing field errors
Before or alongside this bump, upgrade @hookform/resolvers to ^5 (which supports zod 4). In 3.9.0, zodResolver decides whether it caught a validation failure by checking Array.isArray(error?.errors). Zod 4's ZodError no longer has .errors, so the resolver rethrows on any invalid submit. That affects every zodResolver(...) form: DBSearchPage, DBDashboardImportPage, DBSearchPageAlertModal, EditAlertModal, EditTimeChartForm, HeatmapSettingsDrawer and OnClickDrawer.
Nothing blocks merge automatically, but a maintainer will expect this fixed if it is a real defect in code this PR changes. If it is about surrounding code, reply and say so instead of patching. Do not widen the PR. How to respond
| "uuid": "^8.3.2", | ||
| "zod": "3.25", | ||
| "zod": "4.6", | ||
| "zod-express-middleware": "^1.4.0" |
There was a problem hiding this comment.
🟠 major — zod 4 stops serialising issues in 400 responses, which breaks client error handling that reads errors.issues
In zod 4, ZodError.issues is non-enumerable, so res.json(...) (and zod-express-middleware, whose peer dependency is zod ^3.2.0) no longer includes errors.issues. packages/app/src/AuthPage.tsx:98 depends on jsonData[0].errors.issues to show per-field registration errors. Several tests assert response.body[0].errors.issues, e.g. packages/api/src/routers/api/__tests__/dashboard.int.test.ts:1137. packages/api/src/middleware/validation.ts:12 has the same issue. Fix it by replacing zod-express-middleware with a zod-4-aware validator that explicitly sends { issues: error.issues }.
Nothing blocks merge automatically, but a maintainer will expect this fixed if it is a real defect in code this PR changes. If it is about surrounding code, reply and say so instead of patching. Do not widen the PR. How to respond
| "sql-formatter": "^15.7.2", | ||
| "sqlstring": "^2.3.3", | ||
| "zod": "3.25" | ||
| "zod": "4.6" |
There was a problem hiding this comment.
🟠 major — A major zod upgrade with no code migration: every from 'zod' import now gets the v4 API
About 108 files import from 'zod' and none use 'zod/v3', so zod 3.25's v3 API is replaced everywhere. Either temporarily point those imports at 'zod/v3' (still shipped in 4.x) or do the full migration in this PR. That means .errors→.issues, invalid_type_error/errorMap→error, the changed .default()/.optional() semantics in objects, and the deprecated ZodIssueCode.
Nothing blocks merge automatically, but a maintainer will expect this fixed if it is a real defect in code this PR changes. If it is about surrounding code, reply and say so instead of patching. Do not widen the PR. How to respond
PR Review
6 finding(s): 🔴 2 critical · 🟠 4 major · 🔵 0 minor 3 posted as inline comment(s) on the changed lines. 3 listed below. Findings outside the changed lines
Severity is the reviewer's own estimate and is used for ordering, not filtering. No finding blocks merge automatically; a maintainer decides. |
E2E Test Results✅ All tests passed • 0 passed • 0 skipped • 128s
Tests ran across 4 shards in parallel. |
Deep ReviewScope: Why this needs scrutiny: a version-string diff understates the blast radius. zod 4 is a major release with breaking changes (error-message strings, 🔴 P0/P1 — must fix
🟡 P2 — recommended
🔵 P3 nitpicks (1)
Reviewers (8 dispatched): correctness, kieran-typescript, api-contract, testing, adversarial, maintainability, previous-comments, learnings-researcher. Previous-comments confirmed the 2 prior PR comments are automated bot noise (greptile, vercel) with no actionable feedback. Learnings-researcher found no prior zod/dependency-bump learnings in the repo. Coverage caveat: Synthesis was finalized before 6 of the 8 reviewers returned, so the findings above are grounded in orchestrator-level lockfile/peer-dependency and source analysis plus the two completed reviewers; they do not reflect the pending correctness/typescript/api-contract/testing/adversarial/maintainability detail passes. Testing gaps: No test exercises the zod-4 upgrade; the existing suite was not demonstrably run against zod 4 (deps are not installed in this checkout). A green CI typecheck + test run across all four packages is the minimum gate before merge. Verdict: Not ready to merge as-is — a major-version dependency bump landed without code migration, without updating the No finding blocks merge automatically. A maintainer will expect P0/P1 findings in code this PR changes to be fixed; P2/P3 are your call -- fix or reply. Never fix findings about surrounding code here; reply instead. Do not widen the PR. How to respond |
Bumps zod from 3.25.76 to 4.6.6.
Release notes
Sourced from zod's releases.
... (truncated)
Commits
9c21983ci: stage at verbose so a failed OIDC token exchange says why529f78d4.6.6a0ebf97fix(v4): check array, set and map size bounds before parsing elements (#6652)a2ba4a6fix(types): declare record output and input as members, not base type argumen...c42596brelease: hold the run on the release-approval environment until the staged ve...bacad51docs: square the Code for Japan logo to match the other bronze tiles8fb2fafdocs: crop the Code for Japan logo and list it first in bronzeb2ef983docs: add Code for Japan to bronze sponsors74304cerelease: stage npm versions instead of publishing them (#6622)34a626fdocs: tighten the z.locales tree-shaking noteMaintainer changes
This version was pushed to npm by GitHub Actions, a new releaser for zod since your current version.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)You can disable automated security fix PRs for this repo from the Security Alerts page.