Packages

react-hook-form

7.91.0 · 23 Oct 2026MIT42M / weekRepositoryHomepagenpmAtom feed

Upgrading react-hook-form from 7.47.0 to 7.91.0

73 releases in betweennotes for 49

?
changes to make
0
advisories fixed
63+
new
260+
fixes

Counted from 49 of 73 release notes. Advisories are counted from the advisory database, in full.

Security

  • Harden unset() against prototype-path traversal (__proto__ / constructor / prototype), matching the existing set() guard

    7.81.0
  • Harden get() against prototype-path traversal (__proto__ / constructor / prototype)

    7.77.0
  • Security: CVE-2025-67779, CVE-2025-55184, CVE-2025-55183, CVE-2025-55182

    7.69.0

Release by release

  1. 7.91.0

    23 Oct 202646 fixes
    • fixed

      useFieldArray not registering array rules again after reset

    • fixed

      setValue not updating field array rows when a parent object is set

    • fixed

      createFormControl keeping a newer change's error when an older isValid pass settles

    • fixed

      validate treating an empty message array as valid

  2. 7.90.0

    11 Oct 202616 fixes
    • fixed

      Fields named after Object.prototype members not being marked as touched on blur and setValue

    • fixed

      Dirty values extraction for fields named hasOwnProperty

    • fixed

      cloneObject dropping the length of sparse arrays

    • fixed

      cloneObject failing on objects with a null prototype

  3. 7.89.0

    26 Sep 20261 new · 18 fixes
    • new

      Add optional @types/react peer dependency

    • fixed

      validateField calling setCustomValidity on refs that don't implement it under native validation

    • fixed

      Form-level validate running a stale function instead of the latest one

    • fixed

      Form-level validation leaving stale errors after a successful re-validation

  4. 7.88.0

    11 Sep 20261 new · 29 fixes
    • new

      <ErrorMessage /> component for rendering a field's validation error

    • fixed

      setValue dirty state comparison ignoring valueAs* / setValueAs transforms

    • fixed

      Nested delayError timers not being cancelled when a parent is cleared or unregistered

    • fixed

      Cleared delayError errors coming back once the pending timer fires

  5. 7.87.0

    30 Aug 20262 new · 7 fixes
    • new

      shouldTouch option for trigger()

    • new

      OpaqueTypes registry for opaque leaf types

    • fixed

      Inconsistent behavior among useController().field.onChange()-like APIs

    • fixed

      Controller under a null parent submitting undefined instead of a value

  6. 7.86.0

    21 Aug 20264 new · 8 fixes
    • new

      Type-safe getErrors method

    • new

      Improve createFormControl

    • new

      Improve clone object check

    • new

      Avoid cloning values in unregister without subscribers

  7. 7.85.0

    8 Aug 20261 new · 6 fixes
    • new

      Support <Activity />

    • fixed

      getFieldState error resolution from a field path

    • fixed

      useWatch discarding useForm({ defaultValues }) in favor of its own defaultValue before the form mounts

    • fixed

      setValue emitting a duplicate values state notification for fields without a native input ref

    • fixed

      Stale render re-creating a field array path vacated by an array action

    • fixed

      useFieldArray root-level error (errors.name.root) being lost on append/prepend/insert/remove

    • fixed

      min/max validation being skipped for valueAsDate fields

  8. 7.84.0

    1 Aug 20263 new · 3 fixes
    • new

      handleSubmit returns the typed result of the onValid callback instead of discarding it

    • new

      <Form /> supports a function-based action (Server Action style) in addition to URL-string actions

    • new

      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

    • fixed

      Restore missing FieldArray and FormState type exports

    • fixed

      setValues not notifying useFieldArray subscribers, leaving rendered fields stale

11 other lines we could not sort, mostly version bumps
  • Improve performance of Form by reading control from context to avoid unnecessary re-renders

    7.91.0
  • Improve performance of getValues by avoiding unnecessary shallow copies

    7.91.0
  • Simplify multipart content-type header filtering

    7.91.0
  • Align form-level validation error types

    7.91.0
  • Improve performance of watch, subscribe, scoped subscriptions, dirty field checks and form state fan-out

    7.90.0
  • Reduce bundle size

    7.90.0
  • Update dirtyFields typing for field arrays with undefined entries

    7.78.0
  • Separate control context to prevent unnecessary rerenders

    7.71.0
  • Memoize FormProvider context value to prevent unnecessary rerenders

    7.71.0
  • useForm return methods will be memorized based formState update

    7.54.0