Skip to content

Update dependency react-hook-form to v7.90.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.0 → 7.90.0 age confidence

Release Notes

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

v7.90.0

Compare Source

Changed
  • Improve performance of watch, subscribe, scoped subscriptions, dirty field checks and form state fan-out
  • Reduce bundle size
Fixed
  • Fields named after Object.prototype members not being marked as touched on blur and setValue
  • Dirty values extraction for fields named hasOwnProperty
  • cloneObject dropping the length of sparse arrays
  • cloneObject failing on objects with a null prototype
  • Form options removed from props on re-render not being reset
  • remove() mishandling duplicated indexes and mutating the indexes passed in
  • useFieldArray unregistering fields while a parent array reindexes
  • Input edited before the form is ready being overwritten
  • useWatch not updating watched objects after an <Activity> subtree reconnects
  • useWatch preferring its own defaultValue over form defaultValues for array names
  • reset without values and keepDefaultValues setting isDirty to true
  • Controller blur validation not working after reset
  • watch reading a stale shouldUnregister option when a field registers
  • Native validation reading a stale shouldUseNativeValidation option when stopping at the first error
  • Form values stored under a ref key not being compared correctly
  • setError, clearErrors and remaining error updates not producing a new errors reference

v7.89.0

Compare Source

Changed
  • Add optional @types/react peer dependency
Fixed
  • validateField calling setCustomValidity on refs that don't implement it under native validation
  • Form-level validate running a stale function instead of the latest one
  • Form-level validation leaving stale errors after a successful re-validation
  • Form-level validation running more than once per traversal
  • Stale validation results (resolver, built-in, form-level validate) being applied after reset in onChange and handleSubmit
  • Pending delayError timers for nested paths not being cancelled when a parent validates clean or is reset via resetField
  • getValues(names, { dirtyFields }) returning every row of a field array instead of only the marked entries
  • Field array touched state not being re-indexed when touchedFields is not subscribed
  • useFieldArray emitting touchedFields in form state updates when unnecessary
  • Stale field array root error not clearing once an array operation satisfies the rule
  • useFieldArray marking the form dirty when the array default is null
  • Dirty state lingering for rows removed from a field array
  • setValue with shouldValidate not revalidating deps
  • setValue with shouldValidate not triggering validation for a field array root
  • Validation rules removed from register options at runtime still being applied
  • useController validating required against the input value instead of the controlled value
  • isValid not recomputing when the errors prop is emptied
  • getFieldState(name, formState) with a resolver after reset()

v7.88.0

Compare Source

Added
  • <ErrorMessage /> component for rendering a field's validation error
Fixed
  • setValue dirty state comparison ignoring valueAs* / setValueAs transforms
  • Nested delayError timers not being cancelled when a parent is cleared or unregistered
  • Cleared delayError errors coming back once the pending timer fires
  • criteriaMode not refreshing when form options are updated at runtime
  • resetField leaving stale validating state for the field
  • reset not clearing isValidating and validatingFields, and ignoring keepIsValidating
  • replace() leaving errors and touched state for removed rows
  • remove() leaking deleted values onto surviving items
  • handleSubmit applying a stale resolver result after reset
  • handleSubmit dropping resolver-reported root errors on submit
  • Stale resolver state updates being applied after reset
  • trigger dropping registered nested errors when targeting their parent
  • trigger setting a parent error when the target has only nested resolver errors
  • useWatch compute cache not being initialized with the initial output
  • flatten / jsonToFormData not preserving FileList and not skipping undefined
  • schemaErrorLookup reporting nested containers as exact-name errors
  • unregister not recomputing isValidating after clearing validatingFields
  • unregister stripping a kept value from the submit payload
  • iterateFieldsByAction only breaking out of one loop level
  • setError types from a previous validation surviving an overwrite
  • react-server build not being published
  • validateField calling setCustomValidity per key in validate-object mode
  • useFieldArray not focusing a checkbox or radio in the appended row
  • useFieldArray not reconciling stale fields after an Activity subtree reconnects
  • useForm never reconciling when an Activity subtree is hidden on its first render
  • getFieldState not reading isValidating from the supplied form state
  • useFormState not re-subscribing when control changes
  • reset with keepValues leaving dirtyFields out of sync with isDirty
  • cloneObject not guarding Blob before instanceof

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

Improvements
  • handleSubmit returns the typed result of the onValid callback instead of discarding it
  • <Form /> supports a function-based action (Server Action style) in addition to URL-string actions
  • Improve performance and reduce bundle size
Fixed
  • reset() with resetOptions.keepDirtyValues freezing clean sibling fields in a nested object when another field in that object is dirty
  • Restore missing FieldArray and FormState type exports
  • setValues not notifying useFieldArray subscribers, leaving rendered fields stale

v7.83.0

Compare Source

Improvements
  • Enhance getEventValue to handle file inputs
  • Improve TypeScript performance with a hard cap at 10 levels of recursive type depth
Fixed
  • Clear internal errors state on argument-less clearErrors()
  • Preserve dirtyFields reference stability
  • Old checkbox/radio elements polluting internal field state
  • useController not re-subscribing onChange/onBlur when control changes
  • Allow validation messages to be defined even if their related value is undefined

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

Added
  • FieldArray component built on useFieldArray for controlled field-array rendering
Fixed
  • clearErrors changing the name value from form.subscribe
  • reset triggering subscribe with the latest name instead of undefined
  • setValues leaving stale elements behind when shrinking a field array
  • flatten preserving Date values as leaf nodes
  • useFieldArray min length validation error changing location in the errors object
  • useController not reflecting a cleared parent object in controlled fields
Security
  • Harden unset() against prototype-path traversal (__proto__ / constructor / prototype), matching the existing set() guard
Performance
  • Improve re-render with useFieldArray reset

v7.80.0

Compare Source

Added
  • disabled prop support for individual fields within useFieldArray
Fixed
  • deepEqual incorrectly treating empty array [] and empty plain object {} as equal
Performance
  • Improve onChange, setValid, dirty checking, setValue, and setValues performance

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-10-11T13_59_36_941Z-eresolve-report.txt
npm error A complete log of this run can be found in: /runner/cache/others/npm/_logs/2026-10-11T13_59_36_941Z-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 Oct 11, 2026 2:02pm 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
@renovate
renovate Bot force-pushed the renovate/react-hook-form-7.x-lockfile branch from 1f5dad5 to 8f987af Compare September 26, 2026 01:11
@renovate renovate Bot changed the title Update dependency react-hook-form to v7.88.0 Update dependency react-hook-form to v7.89.0 Sep 26, 2026
@renovate
renovate Bot force-pushed the renovate/react-hook-form-7.x-lockfile branch from 8f987af to cba9ee9 Compare October 11, 2026 13:59
@renovate renovate Bot changed the title Update dependency react-hook-form to v7.89.0 Update dependency react-hook-form to v7.90.0 Oct 11, 2026

This branch was successfully deployed

1 active deployment
Preview — cba9ee9f Deployed Oct 11, 2026 by vercel[bot]
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