Skip to content

Update dependency react-hook-form to v7.88.0 - #336

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/react-hook-form-7.x-lockfile
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/react-hook-form-7.x-lockfile

Conversation

@renovate

@renovate renovate Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
react-hook-form (source) 7.72.07.88.0 age confidence

Release Notes

react-hook-form/react-hook-form (react-hook-form)

v7.88.0: Version 7.88.0

Compare Source

✨ Features

  • Add Error Message component (#​13472)
  • Add the Error Message component for displaying validation errors from React Hook Form.

🐞 Fixes

  • Fix stale validating state after resetField() (#​13735)
  • Fix errors and touched state remaining for rows removed by replace() (#​13734)
  • Fix stale resolver results updating form state after reset() during handleSubmit() (#​13733)
  • Fix nested registered errors being removed when trigger() targets their parent (#​13732)
  • Fix resolver-reported root errors being dropped during handleSubmit() (#​13731)
  • Fix parent errors being incorrectly set when trigger() targets a field with only nested resolver errors (#​13730)
  • Fix useWatch compute cache not being initialized with the initial output (#​13728)
  • Fix FileList being lost during flatten/expand and omit undefined values in jsonToFormData (#​13725)
  • Fix schemaErrorLookup reporting nested containers as exact-name errors (#​13727)
  • Fix isValidating not being recomputed after unregister() clears validating fields (#​13723)
  • Fix stale resolver state updates after reset() (#​13722)
  • Fix iterateFieldsByAction only breaking out of one loop level (#​13718)
  • Fix stale validation types surviving setError() overwrites (#​13716)
  • Fix reset() not clearing validating fields (#​13714)
  • Fix remove() leaking deleted values onto surviving field-array items (#​13713)
  • Fix the React Server build being unpublished (#​13709)
  • Fix validateField calling setCustomValidity once per key in validate-object mode (#​13707)
  • Fix useFieldArray focus behavior for checkboxes and radio buttons in appended rows (#​13705)
  • Fix getFieldState reading isValidating from the supplied form state (#​13704)
  • Fix unregister() stripping kept values from the submit payload (#​13703)
  • Fix useFormState not re-subscribing when control changes (#​13702)
  • Fix reset() keeping dirtyFields out of sync with isDirty when keepValues is enabled (#​13701)
  • Fix useForm not reconciling correctly when an Activity subtree is initially hidden (#​13698)
  • Fix cleared errors returning after the delayError timer fires (#​13697)
  • Fix cloneObject throwing when checking Blob with instanceof (#​13694)
  • Fix useFieldArray retaining stale fields after an Activity subtree reconnects (#​13688)

🧹 Refactors

  • Extend _isTracked to the remaining multi-key proxy/subscribe form-state checks (#​13699)
  • Extract _isTracked helper for proxy/subscribe form-state checks (#​13690)
  • Remove the unused abortEarly parameter from iterateFieldsByAction (#​13689)
  • Remove redundant optional chaining from clearErrors (#​13696)

📝 Documentation

  • Fix useWatch compute example variable names in JSDoc (#​13700)

📦 Dependencies

❤️ Thank You

v7.87.0

Compare Source

Added
  • shouldTouch option for trigger()
  • OpaqueTypes registry for opaque leaf types
Fixed
  • Inconsistent behavior among useController().field.onChange()-like APIs
  • Controller under a null parent submitting undefined instead of a value
  • ERR_MODULE_NOT_FOUND resolving react-hook-form due to a react-server declaration (Next.js builds)
  • useWatch never reconciling when an Activity subtree is hidden on its first render
  • resetField not recomputing isValid for subscribe-only consumers
  • generateWatchOutput ignoring defaultValue for an array of names
  • useFormState never reconciling when an Activity subtree is hidden on its first render

v7.86.0

Compare Source

Added
  • Type-safe getErrors method
Performance
  • Improve createFormControl
  • Improve clone object check
  • Avoid cloning values in unregister without subscribers
Fixed
  • Field array update leaving stale errors and touched state at the updated index
  • flatten discarding File and Blob values instead of treating them as leaf nodes
  • validateField not passing the field error to setCustomValidity when criteriaMode is all
  • hasValidation treating falsy but valid values (min: 0, max: 0, minLength: 0, maxLength: 0, required: '') as no validation
  • setValue targeting a nested leaf not notifying a Controller registered on a field array item root
  • setValues not updating fields registered under an object or array value
  • useWatch returning a stale value on name change when the new value is null
  • unregister inverting keepDirty when broadcasting isDirty

v7.85.0

Compare Source

Added
  • Support <Activity />
Fixed
  • getFieldState error resolution from a field path
  • useWatch discarding useForm({ defaultValues }) in favor of its own defaultValue before the form mounts
  • setValue emitting a duplicate values state notification for fields without a native input ref
  • Stale render re-creating a field array path vacated by an array action
  • useFieldArray root-level error (errors.name.root) being lost on append/prepend/insert/remove
  • min/max validation being skipped for valueAsDate fields

v7.84.0

Compare Source

v7.83.0: Version 7.83.0

Compare Source

⚡ Improvements
  • enhance getEventValue to handle file inputs (#​13289)
  • type perf: improve TypeScript performance with a hard cap at 10 levels of recursive type depth (#​13529)
  • type perf: improve type performance (#​13528)
🐞 Fixes
  • fix: clear internal errors state on argument-less clearErrors() (#​13613)
  • fix: preserve dirtyFields reference stability (#​13612)
  • fix: old checkbox/radio elements polluting internal field state (#​13080)
  • fix(useController): re-subscribe onChange/onBlur when control changes (#​13603)
  • fix(types): allow validation messages to be defined even if their related value is undefined (#​13287)

v7.82.0

Compare Source

Added
  • Opt-in delayError option for setValue to delay validation error updates
Fixed
  • Expose resetDefaultValues through form context
  • setValue with shouldDirty not updating dirty state correctly when the form is disabled
  • Preserve dirtyFields boolean values for registered array fields
  • Restore FieldArray component export
Performance
  • Improve getDirtyFields performance, especially for larger forms and deeply nested values

v7.81.0

Compare Source

v7.80.0: Version 7.80.0

Compare Source

🧄 feat: disable useFieldArray fields (#​13535)

const { fields } = useFieldArray({ disabled: true });
fields[0].disabled; // contains disabled props

🛺 perf: make rhf more performant (#​13524)
🐞 fix(deepEqual): empty array and empty plain object should not be equal (#​13533)

thanks to @​JSap0914

v7.79.0

Compare Source

Added
  • disabled option to useFieldArray
Fixed
  • Controller onChange promise return type
  • deepEqual false positives with shared object references
  • shouldUseNativeValidation behavior for radio groups
  • createFormControl stability with fast refresh in dev mode
  • StrictMode value preservation during remount
  • formState.errors reactivity with React compiler

v7.78.0

Compare Source

Fixed
  • Recover Controller fields after reset without rerender (RN issue #​13455)
  • useFormState().isDirty race with async resolver in onChange mode
  • Use reactive values prop over defaultValues when shouldUnregister is true
  • deepEqual for empty non-plain objects
Types
  • Update dirtyFields typing for field arrays with undefined entries

v7.77.0

Compare Source

Added
  • resetDefaultValues API
Fixed
  • Stale isDirty in subscribe payload after reset(..., { keepValues: true })
  • Preserve values with shouldUnregister
  • Inconsistent reset({}) behavior requiring double-call to take effect
  • FieldArray errors overriding nested fields
Security
  • Harden get() against prototype-path traversal (__proto__ / constructor / prototype)
Performance
  • Bundle size reduction

v7.76.1

Compare Source

Fixed
  • Revert notify all matching field-array roots on nested setValue updates
  • Revert treat NaN as empty when valueAsNumber is true in validateField
  • setValues pass options parameter through to enable validation
  • setValues emit whole-form change without stale name/type
Performance
  • setValues skip redundant per-field deep clones
  • setValues thread skipClone through setFieldValue

v7.76.0

Compare Source

Added
  • Improve isDirty sync with dirtyFields state
Fixed
  • Preserve formState.defaultValues when useFieldArray and watch are used together
  • Preserve nested resolver field-array errors in trigger()
  • Notify all matching field-array roots on nested setValue updates
  • useFieldArray remove leaves array with empty object when using values prop
  • Preserve reset values for conditionally mounted Controller fields with shouldUnregister
  • Propagate setValues updates to mounted Controller fields
  • Native validation tooltip suppression caused by duplicate submit-error focus
  • append({ obj: null }) silently replaced by defaultValues after remove()
  • Errors state when using form-level validation
  • isValidating reactivity when validatingFields is not subscribed

v7.75.0

Compare Source

Added
  • Improve getDirtyFields to prune empty fields
  • TypeScript 6.0 support
Fixed
  • Include setValues in FormProvider context value
  • Preserve watch updates on field array unmount
  • Prevent useWatch re-render when unrelated field validation occurs
  • Recompute isDirty after re-registering a previously unregistered field

v7.74.0

Compare Source

Added
  • setValues API
Fixed
  • Preserve previous field value when useController name changes
  • Handle null parent when unregistering nested field
  • Treat NaN as empty when valueAsNumber is true in validateField

v7.73.1

Compare Source

Fixed
  • Reverted setValues that was accidentally included in patch; fix build to exclude test files

v7.72.1

Compare Source

Fixed
  • Prevent setValue with shouldDirty from polluting unrelated dirty fields
  • Memoize control in HookFormControlContext to prevent render conflicts
  • isNameInFieldArray should check all ancestor paths for nested field arrays
  • formState.isValid incorrect on Controller re-mount

Configuration

📅 Schedule: (in timezone America/New_York)

  • Branch creation
    • Between 12:00 AM and 11:59 PM (* 0-23 * * *)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate

renovate Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor Author

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: package-lock.json
npm warn Unknown env config "store". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options.
npm error code ERESOLVE
npm error ERESOLVE could not resolve
npm error
npm error While resolving: react-beautiful-dnd@13.1.1
npm error Found: react@19.2.4
npm error node_modules/react
npm error   peer react@">=16.8.0" from @emotion/react@11.14.0
npm error   node_modules/@emotion/react
npm error     peer @emotion/react@"^11.0.0-rc.0" from @emotion/styled@11.14.1
npm error     node_modules/@emotion/styled
npm error       peerOptional @emotion/styled@"^11.3.0" from @mui/lab@7.0.1-beta.23
npm error       node_modules/@mui/lab
npm error         @mui/lab@"^7.0.1-beta.19" from the root project
npm error       4 more (@mui/material, @mui/styled-engine, @mui/system, the root project)
npm error     peerOptional @emotion/react@"^11.5.0" from @mui/lab@7.0.1-beta.23
npm error     node_modules/@mui/lab
npm error       @mui/lab@"^7.0.1-beta.19" from the root project
npm error     5 more (@mui/material, @mui/styled-engine, @mui/system, ...)
npm error   peer react@">=16.8.0" from @emotion/styled@11.14.1
npm error   node_modules/@emotion/styled
npm error     peerOptional @emotion/styled@"^11.3.0" from @mui/lab@7.0.1-beta.23
npm error     node_modules/@mui/lab
npm error       @mui/lab@"^7.0.1-beta.19" from the root project
npm error     peerOptional @emotion/styled@"^11.3.0" from @mui/material@7.3.9
npm error     node_modules/@mui/material
npm error       peer @mui/material@"^7.3.9" from @mui/icons-material@7.3.9
npm error       node_modules/@mui/icons-material
npm error         @mui/icons-material@"^7.3.5" from the root project
npm error       2 more (@mui/lab, the root project)
npm error     3 more (@mui/styled-engine, @mui/system, the root project)
npm error   31 more (@emotion/use-insertion-effect-with-fallbacks, ...)
npm error
npm error Could not resolve dependency:
npm error peer react@"^16.8.5 || ^17.0.0 || ^18.0.0" from react-beautiful-dnd@13.1.1
npm error node_modules/react-beautiful-dnd
npm error   react-beautiful-dnd@"^13.1.1" from the root project
npm error
npm error Conflicting peer dependency: react@18.3.1
npm error node_modules/react
npm error   peer react@"^16.8.5 || ^17.0.0 || ^18.0.0" from react-beautiful-dnd@13.1.1
npm error   node_modules/react-beautiful-dnd
npm error     react-beautiful-dnd@"^13.1.1" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry this command with --force or --legacy-peer-deps to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error /runner/cache/others/npm/_logs/2026-09-21T14_56_49_887Z-eresolve-report.txt
npm error A complete log of this run can be found in: /runner/cache/others/npm/_logs/2026-09-21T14_56_49_887Z-debug-0.log

@vercel

vercel Bot commented Aug 20, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
adminv2 Ready Ready Preview Sep 21, 2026 3:04pm UTC

Request Review

@renovate
renovate Bot force-pushed the renovate/react-hook-form-7.x-lockfile branch from 1b3b48d to ac53d85 Compare August 20, 2026 21:57
@renovate
renovate Bot force-pushed the renovate/react-hook-form-7.x-lockfile branch from ac53d85 to e0a5d4c Compare August 22, 2026 02:30
@renovate renovate Bot changed the title Update dependency react-hook-form to v7.85.0 Update dependency react-hook-form to v7.86.0 Aug 22, 2026
@renovate
renovate Bot force-pushed the renovate/react-hook-form-7.x-lockfile branch from e0a5d4c to 5928c06 Compare August 26, 2026 22:22
@renovate
renovate Bot force-pushed the renovate/react-hook-form-7.x-lockfile branch from 5928c06 to 5b97658 Compare August 30, 2026 04:48
@renovate renovate Bot changed the title Update dependency react-hook-form to v7.86.0 Update dependency react-hook-form to v7.87.0 Aug 30, 2026
@renovate
renovate Bot force-pushed the renovate/react-hook-form-7.x-lockfile branch from 5b97658 to ea0bfe8 Compare September 10, 2026 18:05
@renovate
renovate Bot force-pushed the renovate/react-hook-form-7.x-lockfile branch from ea0bfe8 to 4d2ff59 Compare September 11, 2026 21:01
@renovate
renovate Bot force-pushed the renovate/react-hook-form-7.x-lockfile branch from 4d2ff59 to b7d3ea6 Compare September 12, 2026 00:44
@renovate renovate Bot changed the title Update dependency react-hook-form to v7.87.0 Update dependency react-hook-form to v7.88.0 Sep 12, 2026
@renovate
renovate Bot force-pushed the renovate/react-hook-form-7.x-lockfile branch from b7d3ea6 to e9a18fb Compare September 12, 2026 23:29
@renovate
renovate Bot force-pushed the renovate/react-hook-form-7.x-lockfile branch from e9a18fb to 635ae2d Compare September 15, 2026 00:20
@renovate
renovate Bot force-pushed the renovate/react-hook-form-7.x-lockfile branch from 635ae2d to 1f5dad5 Compare September 21, 2026 14:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants