Update dependency react-hook-form to v7.79.0 #7

Open
renovate wants to merge 1 commit from renovate/react-hook-form-7.x-lockfile into main
Collaborator

This PR contains the following updates:

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

Release Notes

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

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

v7.72.0

Compare Source

Added
  • Built-in form-level validate option
  • Subscribe formState to track submit state
Fixed
  • Checkbox form validation ignored with native validation
  • Prevent useFieldArray from marking unrelated fields as dirty

v7.71.2

Compare Source

Fixed
  • clearErrors emit name signal for targeted field updates
  • Use DeepPartialSkipArrayKey for WatchObserver value parameter

v7.71.1

Compare Source

Fixed
  • Issue with booleans_as_integers value handling

v7.71.0

Compare Source

Changed
  • Separate control context to prevent unnecessary rerenders
  • Memoize FormProvider context value to prevent unnecessary rerenders
Fixed
  • Update isValid when field disabled state changes

v7.70.0

Compare Source

Fixed
  • Prevent field array ghost elements with keepDirtyValues
  • Improve watch return types
  • Improve invalid date handling in deepEqual and validation
  • Handle branded types correctly in DeepPartial
  • Fix native validation focus issue
  • Prevent duplicate subscription trigger in setValue

v7.69.0

Compare Source

Added
  • Align <Watch /> API with useWatch
Fixed
  • Security: CVE-2025-67779, CVE-2025-55184, CVE-2025-55183, CVE-2025-55182
  • Preserve isValid state when keepIsValid option is used
  • Ensure createFormControl.subscribe subscription listens only to subscribed changes
  • Batch isValidating state updates with validation result
  • Resolve race condition between setError and setFocus

v7.68.0

Compare Source

Added
  • <FormStateSubscribe /> component
Fixed
  • Clear validation errors synchronously in reset() to fix Next.js 16 Server Actions issue

v7.67.0

Compare Source

Added
  • exact option for useController props
Fixed
  • Allow undefined value with async defaultValues in Controller
  • Correct PathValueImpl type inference

v7.66.1

Compare Source

Performance
  • Reduce redundant property access in getDirtyFields
Fixed
  • Skip setValid() during batch array updates
  • Recompute isValid after reset when values update asynchronously
  • Handle NaN comparison correctly using Object.is in deepEqual

v7.66.0

Compare Source

Added
  • useWatch and useController now react to name prop changes
Fixed
  • watch() returning undefined immediately after reset()
  • Correct render function parameter typing for <Watch /> component

v7.65.0

Compare Source

Added
  • <Watch /> component
Fixed
  • Respect parent-provided useFieldArray rules
  • getDirtyFields submit fields with null values when using useForm

v7.64.0

Compare Source

Added
  • Support optional array fields in PathValueImpl type
Fixed
  • Preserve Controller's defaultValue with shouldUnregister prop

v7.63.0

Compare Source

Added
  • Improve get dirty fields logic
  • Extra form values accessible via formState
Fixed
  • Only execute trigger function when deps has a valid array
  • Unregister previous field when switching conditional Controllers
  • Use field name to update isValidating fields

v7.62.0

Compare Source

Fixed
  • Sync two defaultValues after reset with new defaultValues
  • Field name type conflict in nested FieldErrors
  • Prevent onBlur for readOnly fields
  • Do not override prototype of data in cloneObject

v7.61.1

Compare Source

Fixed
  • Reverted watch return type change based on defaultValue (caused regressions)

v7.61.0

Compare Source

Added
  • compute prop for useWatch subscription
Fixed
  • Subscribe with latest defaultValues
  • Trigger watch callbacks only in response to value changes
  • Track name with setValue subscription callbacks
  • Handle explicit "multipart/form-data" encType in <Form /> component
  • Remove React wildcard import to resolve ESM build issues

v7.60.0

Compare Source

Added
  • reset with keepFieldsRef option to keep fields reference
Fixed
  • Remove Set from clone object

v7.59.0

Compare Source

Added
  • Support deep equality checking with circular references
Fixed
  • Issue with formData reference clone
  • Issue with undefined value for submit data
  • useWatch object variable param handling

Configuration

📅 Schedule: (UTC)

  • 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 becomes conflicted, 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 has been generated by Mend Renovate.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [react-hook-form](https://react-hook-form.com) ([source](https://github.com/react-hook-form/react-hook-form)) | [`7.58.1` → `7.79.0`](https://renovatebot.com/diffs/npm/react-hook-form/7.58.1/7.79.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/react-hook-form/7.79.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-hook-form/7.58.1/7.79.0?slim=true) | --- ### Release Notes <details> <summary>react-hook-form/react-hook-form (react-hook-form)</summary> ### [`v7.79.0`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7790---2026-06-13) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.78.0...v7.79.0) ##### 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`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7780---2026-06-08) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.77.0...v7.78.0) ##### Fixed - Recover `Controller` fields after `reset` without rerender (RN issue [#&#8203;13455](https://github.com/react-hook-form/react-hook-form/issues/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`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7770---2026-05-31) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.76.1...v7.77.0) ##### 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`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7761---2026-05-23) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.76.0...v7.76.1) ##### 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`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7760---2026-05-16) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.75.0...v7.76.0) ##### 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`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7750---2026-05-02) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.74.0...v7.75.0) ##### 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`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7740---2026-04-26) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.73.1...v7.74.0) ##### 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`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7731---2026-04-21) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.72.1...v7.73.1) ##### Fixed - Reverted `setValues` that was accidentally included in patch; fix build to exclude test files ### [`v7.72.1`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7721---2026-04-03) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.72.0...v7.72.1) ##### 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 ### [`v7.72.0`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7720---2026-03-22) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.71.2...v7.72.0) ##### Added - Built-in form-level `validate` option - Subscribe `formState` to track submit state ##### Fixed - Checkbox form validation ignored with native validation - Prevent `useFieldArray` from marking unrelated fields as dirty ### [`v7.71.2`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7712---2026-02-21) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.71.1...v7.71.2) ##### Fixed - `clearErrors` emit name signal for targeted field updates - Use `DeepPartialSkipArrayKey` for `WatchObserver` value parameter ### [`v7.71.1`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7711---2026-01-14) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.71.0...v7.71.1) ##### Fixed - Issue with `booleans_as_integers` value handling ### [`v7.71.0`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7710---2026-01-11) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.70.0...v7.71.0) ##### Changed - Separate control context to prevent unnecessary rerenders - Memoize `FormProvider` context value to prevent unnecessary rerenders ##### Fixed - Update `isValid` when field `disabled` state changes ### [`v7.70.0`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7700---2026-01-04) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.69.0...v7.70.0) ##### Fixed - Prevent field array ghost elements with `keepDirtyValues` - Improve `watch` return types - Improve invalid date handling in `deepEqual` and validation - Handle branded types correctly in `DeepPartial` - Fix native validation focus issue - Prevent duplicate subscription trigger in `setValue` ### [`v7.69.0`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7690---2025-12-20) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.68.0...v7.69.0) ##### Added - Align `<Watch />` API with `useWatch` ##### Fixed - Security: CVE-2025-67779, CVE-2025-55184, CVE-2025-55183, CVE-2025-55182 - Preserve `isValid` state when `keepIsValid` option is used - Ensure `createFormControl.subscribe` subscription listens only to subscribed changes - Batch `isValidating` state updates with validation result - Resolve race condition between `setError` and `setFocus` ### [`v7.68.0`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7680---2025-12-04) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.67.0...v7.68.0) ##### Added - `<FormStateSubscribe />` component ##### Fixed - Clear validation errors synchronously in `reset()` to fix Next.js 16 Server Actions issue ### [`v7.67.0`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7670---2025-11-29) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.66.1...v7.67.0) ##### Added - `exact` option for `useController` props ##### Fixed - Allow `undefined` value with async `defaultValues` in `Controller` - Correct `PathValueImpl` type inference ### [`v7.66.1`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7661---2025-11-18) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.66.0...v7.66.1) ##### Performance - Reduce redundant property access in `getDirtyFields` ##### Fixed - Skip `setValid()` during batch array updates - Recompute `isValid` after `reset` when values update asynchronously - Handle NaN comparison correctly using `Object.is` in `deepEqual` ### [`v7.66.0`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7660---2025-11-01) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.65.0...v7.66.0) ##### Added - `useWatch` and `useController` now react to `name` prop changes ##### Fixed - `watch()` returning `undefined` immediately after `reset()` - Correct render function parameter typing for `<Watch />` component ### [`v7.65.0`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7650---2025-10-11) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.64.0...v7.65.0) ##### Added - `<Watch />` component ##### Fixed - Respect parent-provided `useFieldArray` rules - `getDirtyFields` submit fields with `null` values when using `useForm` ### [`v7.64.0`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7640---2025-10-04) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.63.0...v7.64.0) ##### Added - Support optional array fields in `PathValueImpl` type ##### Fixed - Preserve `Controller`'s `defaultValue` with `shouldUnregister` prop ### [`v7.63.0`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7630---2025-09-20) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.62.0...v7.63.0) ##### Added - Improve get dirty fields logic - Extra form values accessible via `formState` ##### Fixed - Only execute trigger function when deps has a valid array - Unregister previous field when switching conditional Controllers - Use field name to update `isValidating` fields ### [`v7.62.0`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7620---2025-08-02) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.61.1...v7.62.0) ##### Fixed - Sync two `defaultValues` after `reset` with new `defaultValues` - Field name type conflict in nested `FieldErrors` - Prevent `onBlur` for `readOnly` fields - Do not override prototype of `data` in `cloneObject` ### [`v7.61.1`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7611---2025-07-24) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.61.0...v7.61.1) ##### Fixed - Reverted `watch` return type change based on `defaultValue` (caused regressions) ### [`v7.61.0`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7610---2025-07-24) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.60.0...v7.61.0) ##### Added - `compute` prop for `useWatch` subscription ##### Fixed - Subscribe with latest `defaultValues` - Trigger watch callbacks only in response to value changes - Track name with `setValue` subscription callbacks - Handle explicit `"multipart/form-data"` encType in `<Form />` component - Remove React wildcard import to resolve ESM build issues ### [`v7.60.0`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7600---2025-07-05) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.59.0...v7.60.0) ##### Added - `reset` with `keepFieldsRef` option to keep fields reference ##### Fixed - Remove `Set` from clone object ### [`v7.59.0`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7590---2025-06-28) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.58.1...v7.59.0) ##### Added - Support deep equality checking with circular references ##### Fixed - Issue with `formData` reference clone - Issue with `undefined` value for submit data - `useWatch` object variable param handling </details> --- ### Configuration 📅 **Schedule**: (UTC) - 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 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://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMjAuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIyMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/react-hook-form-7.x-lockfile:renovate/react-hook-form-7.x-lockfile
git switch renovate/react-hook-form-7.x-lockfile

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff renovate/react-hook-form-7.x-lockfile
git switch renovate/react-hook-form-7.x-lockfile
git rebase main
git switch main
git merge --ff-only renovate/react-hook-form-7.x-lockfile
git switch renovate/react-hook-form-7.x-lockfile
git rebase main
git switch main
git merge --no-ff renovate/react-hook-form-7.x-lockfile
git switch main
git merge --squash renovate/react-hook-form-7.x-lockfile
git switch main
git merge --ff-only renovate/react-hook-form-7.x-lockfile
git switch main
git merge renovate/react-hook-form-7.x-lockfile
git push origin main
Sign in to join this conversation.
No description provided.