Skip to content

Conversation

@renovate
Copy link

@renovate renovate bot commented Feb 24, 2024

This PR contains the following updates:

Package Change Age Confidence
@types/react (source) 18.2.5518.3.27 age confidence
@types/react-dom (source) 18.2.1918.3.7 age confidence
react (source) 18.2.018.3.1 age confidence
react-day-picker (source) 8.10.08.10.1 age confidence
react-dom (source) 18.2.018.3.1 age confidence
react-hook-form (source) 7.50.17.69.0 age confidence

Release Notes

facebook/react (react)

v18.3.1

Compare Source

  • Export act from react f1338f

v18.3.0

Compare Source

This release is identical to 18.2 but adds warnings for deprecated APIs and other changes that are needed for React 19.

Read the React 19 Upgrade Guide for more info.

React
  • Allow writing to this.refs to support string ref codemod 909071
  • Warn for deprecated findDOMNode outside StrictMode c3b283
  • Warn for deprecated test-utils methods d4ea75
  • Warn for deprecated Legacy Context outside StrictMode 415ee0
  • Warn for deprecated string refs outside StrictMode #​25383
  • Warn for deprecated defaultProps for function components #​25699
  • Warn when spreading key #​25697
  • Warn when using act from test-utils d4ea75
React DOM
  • Warn for deprecated unmountComponentAtNode 8a015b
  • Warn for deprecated renderToStaticNodeStream #​28874
gpbl/react-day-picker (react-day-picker)

v8.10.1

Compare Source

Release date: 2024-04-16

  • build: fix Preact support by externalizing JSX runtime
  • build: remove unused useIsomorphicLayoutEffect module
  • fix(types): improved props for RootContext component
react-hook-form/react-hook-form (react-hook-form)

v7.69.0: 🎄 Version 7.69.0

Compare Source

📏 feat: align API with useWatch (#​13192)
🤦🏻‍♂️ chore: update @​deprecated names prop on (#​13198)
🏥 chore: safely call function methods on elements (#​13190)
🪖 chore: cve-2025-67779 (#​13196)
🪖 chore: cve-2025-55184 & cve-2025-55183 (#​13194)
🪖 chore: CVE-2025-55182 Critical RCE vulnerabilty (#​13175)
🔬 test: add regression tests for #​12837 and #​13136 (#​13187)
🐞 fix(reset): preserve isValid state when keepIsValid option is used (#​13173)
🐞 fix: ensure each createFormControl.subscribe subscription listens only to the changes it subscribes to (#​12968)
🐞 fix(validation): batch isValidating state updates with validation result (#​13181)
🐞 fix(createFormControl): resolve race condition between setError and setFocus (#​13138) (#​13169)
🧿 fix control prop type (#​13189)
🔔 chore: clean cloneObject logic (#​13179)

thanks to @​PierreCrb, @​a28689604, @​AnuragM7666, @​ap0nia, @​dusan233 & @​hlongc

v7.68.0

Compare Source

v7.67.0: Version 7.67.0

Compare Source

🎯 feat: add exact to useController props (#​13154)

useForm({
  defaultValues: {
    user: {
      name: ''
    }
  }
})

<Controller control={control} name="user" exact={false} /> // subscribe to all user object

✨ fix(types): allow undefined value with async defaultValues in Contr… (#​13160)
🐞 fix(types): correct PathValueImpl type inference (#​13150)

v7.66.1

Compare Source

v7.66.0

Compare Source

v7.65.0: Version 7.65.0

Compare Source

🧿 feat: <Watch /> component (#​12986)

import { useForm, Watch } from 'react-hook-form';

const App = () => {
  const { register, control } = useForm();

  return (
    <div>
      <form>
        <input {...register('foo')} />
        <input {...register('bar')} />
      </form>
      {/* re-render only when value of `foo` changes */}
      <Watch
        control={control}
        names={['foo']}
        render={([foo]) => <span>{foo}</span>}
      />
    </div>
  );
};

🐞 fix: respect parent-provided useFieldArray rules (#​13082) (#​13083
🐞 fix: getDirtyFields submit fields with null values when using useForm (#​13079)

thanks to @​tesseractjh, @​Han5991 & @​jonathanarnault

v7.64.0: Version 7.64.0

Compare Source

🚏 Support optional array fields in PathValueImpl type (#​13057)
🐞 fix: preserve Controller's defaultValue with shouldUnregister prop (#​13063)
✂ chore: remove unused field ids ref in useFieldArray (#​13066)

thanks to @​MPrieur-chaps, @​gynekolog & @​uk960214

v7.63.0: Version 7.63.0

Compare Source

🥢 feat: extract form values by form state (#​12936)

getValues(undefined, { dirtyFields: true }); // return only dirty fields 
getValues(undefined, { touchedFields: true });  // return only touched fields 

🦍 feat: improve get dirty fields logic (#​13049)
🐿️ chore: remove duplicated function isMessage (#​13050)
🐞 fix: use field name to update isValidating fields (#​13000)
🐞 fix: unregister previous field when switching conditional Controllers (#​13041)
🐞 fix: only excuse trigger function when deps has a valid array (#​13056)

thanks to @​candymask0712, @​GorkemKir, @​kimtaejin3, @​m2na7 & @​abnud11

v7.62.0: Version 7.62.0

Compare Source

👨‍🔧 prevent onBlur for readOnly fields (#​12971)
🐞 fix #​12988 sync two defaultValues after reset with new defaultValues (#​12990)
🐞 fix: do not override prototype of data in cloneObject (#​12985)
🐞 fix field name type conflict in nested FieldErrors (#​12972)

thanks to @​candymask0712, @​Adityapradh, @​Ty3uK & @​kichikawa57

v7.61.1: Version 7.61.1

Compare Source

Revert "⌨️ fix: watch return type based on defaultValue (#​12896)"

v7.61.0: Version 7.61.0

Compare Source

🧮 feat: compute prop for useWatch subscription (#​12503)

  • subscribe to the entire form but only return updated value with certain condition
type FormValue = {
  test: string;
}

const watchedValue = useWatch({
  control: methods.control,
  compute: (data: FormValue) => {
    if (data.test?.length) {
      return data.test;
    }

    return '';
  },
});
  • subscribe to a specific form value state
type FormValue = {
  test: string;
}

const watchedValue = useWatch({
  control: methods.control,
  name: 'test',
  compute: (data: string) => {
      return data.length > 3 ? data : '';
  },
});

👨‍🔧 trigger watch callbacks in response to value changes only (#​12945)
🙏 track name with setValue subscription callbacks (#​12946)
⌨️ fix: watch return type based on defaultValue (#​12896)
🐞 fix #​12959 subscribe with latest defaultValues #​12961
🐞 fix: handle explicit "multipart/form-data" encType in Form Component (#​12948)
🐞 fix(build): Remove React wildcard import to resolve ESM build issues (#​12942)
🦭 chore: improve exclude patterns (#​12935)
🐿️ chore: remove unused omit function (#​12958)

Big thanks to @​joshkel for helping with some of the subscription bugs! and also @​kamja44, @​mrazauskas, @​codepunkt, @​afontcu and @​rururux

v7.60.0: Version 7.60.0

Compare Source

🦘 feat: reset new keepFieldsRef options keep fields reference (#​12923)

// This option will skip input reference gets reset and avoid re-register input reference after reset
reset(data, { keepFieldsRef: true })

v7.59.0: Version 7.59.0

Compare Source

🪱 feat: support deep equality checking with circular references (#​12914)
🐞 fix #​12900 issue with formData reference clone (#​12906)
🐞 fix #​12873 issue with undefined value for submit data (#​12905)
🐞 fix case when useWatch accept object variable param (#​12897)
🐞 fix: typo in UseFormSubscribe and missing event type for callback data in subscribe (#​12904)
Revert "⌨️ rename to UseFormResetFieldOptions for type consistency" (#​12907)

thanks to @​aspirisen @​n8pjl @​SKOLZ @​pushys & @​candymask0712

v7.58.1: Version 7.58.1

Compare Source

🔧 check window.crypto undefined (#​12893)

v7.58.0: Version 7.58.0

Compare Source

⌨️ feat: add FieldArrayPathByValue type (#​12481)
📇 feat #​12813 use stringToPath to prevent error at field name with quotes (#​12858)
🧧 default to crypto.randomUUID in generateId (#​12890)
🐞 close #​12857 incorrect formControl return from useForm (#​12878)
🐞 fix Initial useFieldArray fields (#​12847)
🥷 chore: improve type import (#​12879)
📇 chore: Added displayName to useFormContext (#​11448)
✍️ chore: fix typo in assert-esm-exports.mjs (#​12860)

thanks to @​mastermatt, @​clonemycode, @​dusan233, @​candymask0712, @​tran-simon & @​adnanalbeda

v7.57.0: Version 7.57.0

Compare Source

🫚 feat: root errors count in schema error lookup (#​12839)
👁️ feat: focus form field for errors supplied by errors prop (#​12805)
⌨️ feat: add and export options config for resetField api (#​12819)
🐞 close #​12707 useController focus function runtime issue (#​12843)
🐞 fix: add proper types to form.subscribe (#​12850)
🐞 fix: add type info for callback args in subscribe (#​12859)
🔄 close #​12835 revert original fix on errors empty object check (#​12846)

thanks to @​candymask0712, @​CertainlyAria, @​jkbach, @​chrisgarber and @​evgeniyworkbel

v7.56.4: Version 7.56.4

Compare Source

🐞 fix: Changes setValue to skip values that are not in ownProperties to prevent infinite call stack (#​12731)
🐞 fix: checkbox duplication handling in useFieldArray (#​12793)
🐞 fix: make mode and reValidateMode reactive (#​12803)

v7.56.3: Version 7.56.3

Compare Source

Revert "📭 close #​12773 pass input ref instead partial (#​12775)"

v7.56.2: Version 7.56.2

Compare Source

🐞 fix #​12785 regression on default value gets overwritten by values props (#​12790)
🐞 fix: use layoutEffect in useWatch for subscription similar to useForm (#​12786)
🐞 fix #​12772 reset form useWatch to utilize ref for defaultValue and … (#​12780)
📭 close #​12773 pass input ref instead partial (#​12775)

v7.56.1: Version 7.56.1

Compare Source

🐞 fix #​12761 #​12762 issue with usage reset isReady formState (#​12765)
🐞 fix #​12763 import warning with named exports (#​12764)

v7.56.0: Version 7.56.0

Compare Source

⏰ feat: introduce isReady state for subscription (#​12568)

const { formState: { isReady }, setValue } = useForm()

useEffect(() => {
  // form subscription setup is ready
  if (isReady) setValue('test', 'value')
}, [isReady])

🌗 feat: support reactive mode and reValidateMode (#​12743)
🐞 fix #​12741 regression on move/swap on useFieldArray input update (#​12749)
🐞 fix: use useIsomorphicLayoutEffect to address warning in SSR (#​12738)

v7.55.0: Version 7.55.0

Compare Source

⚡️ createFormControl

  • Allow us to start subscribing outside of the React component
const { formControl, control } = createFormControl(props)

function App() {
  const { register } = useForm({
    formControl,
  })

  return <form />
}

function Test() {
  useFormState({
    control // no longer need context api
  })
}

⚡️ subscribe

  • subscribe form state update without re-render
  • subscribe outside of the react component
const { formControl } = createFormControl(props)

formControl.subscribe({
  formState: { isDirty: true },
  callback: (formState) => {
    if (formState.isDirty) {
      // do something here
    }
  }
})

function App() {
  const { register } = useForm({
    formControl,
  })

  return <form />
}

🪲 fix #​12680: Update Fieldarray Unmount Status (#​12690)
🫡 fix: improve type inference for useFormContext (#​12689)
👮‍♂️ feat: infer resolver output types (#​12638)
🐞 fix(useForm): make values and defaultValues work correctly with createFormControl and useMemo (#​12675)
🥹 close #​12665 issue with values not populate form
🐞 fix #​12665 regression on values over take default values
🫡 allow use of handleSubmit with native events (#​12645)
🐞 fix #​12631 revalidateMode issue with useFieldArray validation (#​12646)
🦥 close #​12634 allow components with useController hook be memoized (#​12635)
🐞 fix #​12580 setError in useEffect does not work when used inside the FormProvider context (#​12642)
🛟 fix: add the condition to prevent infinite render with errors prop (#​12622)
🐞 fix #​12580 valid state update with onBlur mode (#​12612)
🐞 fix #​12572 disabled field value not get undefined in resolver (#​12573)
🦾 feat: reference stable for useWatch defaultValue (#​12564)
⏰ chore: remove typetest folder from build (#​12555)
🐞 fix #​12532 useController should unregister issue with strict mode (#​12538)
👁️ feat: improve reference update with useWatch (#​12537)
🦥 close #​12531 disabled state issue with touched and dirty (#​12536)

thanks to @​jtomaszewski, @​joshkel, @​candymask0712, @​kotarella1110, @​jorisre, @​jtomaszewski, @​controversial and @​jedahu

v7.54.2: Version 7.54.2

Compare Source

⚛️ fix #​12478 issue should unregister input with controller (#​12480)
⏰ close #​12443 track disabled fields and only omit data on submit (#​12491)
⚛️ upgrade e2e automation app to react 19 (#​12482)
🧪 test(useWatch): destructure setValue from useForm

Thanks very much, @​marcalexiei for your contribution to the documentation!

v7.54.1: Version 7.54.1

Compare Source

Revert "🦥 fix: useForm should return a new object on formState changes (#​12424)" (#​12475)

v7.54.0

Compare Source

Changed
  • useForm return methods will be memorized based formState update

v7.53.2: Version 7.53.2

Compare Source

🐞 fix #​12398 staled disabled issue with resubmit form (#​12403)
🐞 fix: add type guard to fieldRef.select (#​12390)
Revert "🏺 watch reference update on formState update (#​12326)" (#​12391)

thanks to @​developer-bandi

v7.53.1: Version 7.53.1

Compare Source

🐞 fix: #​12294 ensure Invalid Date is evaluated correctly (#​12295)
🐞 fix #​12316 setValue should work for arrays of primitives to handle checkboxes (#​12316) (#​12317)
🐞 fix #​12097 Use dirty fields along with mount names for form reset with keepDirtyValues (#​12211)
🫀 fix #​12237 disabled state trigger formState dirty/dirtyFields to update (#​12239)
🐞 fix #​12291 field array remove cause undefined with FormData (#​12305)
📝 improve flatten function with object type check (#​12306)
🖐️ improve: resolve type of set function (#​12145)
🔧 chore: upgrade eslint to v9 (#​12150)
📖 fix: code example input field placeholder name (#​12296)
📖 docs: fix typo in code example (#​12271)

thanks to @​rasikhq @​abnud11 @​crypt0box @​developer-bandi @​matmannion @​hasancruk & @​vismay7

v7.53.0

Compare Source

Added
  • add support for onBlur with formState isValid
Changed
  • validateFields will only trigger re-render for async validation

v7.52.2: Version 7.52.2

Compare Source

👍 close #​12108 useController should subscribe to exact field name of form's state (#​12109)
👍 chore: upgrade app deps
🩻 fix: add useCallback for ref callback (#​12078)
🚀 fix: skip call executeBuiltInValidation if no sub-fields left (#​12054)

thanks to @​newsiberian, @​Wendystraite and @​abnud11

v7.52.1: Version 7.52.1

Compare Source

🐞 fix #​12024 dirty not update issue with values prop (#​12041)
🐞 fix: field array validate rules shift errors (#​12033)

thanks to @​JardelCheung

v7.52.0: Version 7.52.0

Compare Source

⚛️ close #​11932 enable react 19 peer dependency (#​11935)
👮‍♀️ close #​11954 getFieldState remove unnessaried inValidating and touched subscription (#​11995)
🐞 fix #​11985 logic createFormControl check field before usage (#​11986)
⌨️ fix: enforce type safety for deps property in RegisterOptions (#​11969)
🐞 fix #​11922 keep dirty on reset with dirty fields (#​11958)
🚔 close #​11937 add validation in the cleanup process in useController (#​11938)
Revert "⌨️ close: correct type of error field in getFieldState return object (#​11831)"
📖 fix: change info.values type in WatchObserver (#​11917)

thanks to @​nakaakist, @​IdoBouskila, @​pincy and @​peinguin

v7.51.5: Version 7.51.5

Compare Source

📖 fix broken link to examples in README.md (#​11805)
⌨️ close: correct type of error field in getFieldState return object (#​11831)
🐞 fix #​11842 radio buttons not disabled when multiple share a name (#​11873)
🐞 fix #​11821 set value with disabled false before mount (#​11880)
🐞 fix setError to preserve existing errors elsewhere in the object (#​11888)
⌨️ fix: add info.value type to WatchObserver (#​11872)
🫡 fix issue with internal set api (#​11915)

thanks to @​mjr2595 @​erashu212 @​SimonJTurner and @​peinguin

v7.51.4: Version 7.51.4

Compare Source

👹 close #​11778 improve unregister omit key with getValues method (#​11779)
🐞 fix #​11794 issue: Fields dirty state is not updated when passing values to useForm

v7.51.3: Version 7.51.3

Compare Source

🐞 fix #​11773 regression on dirty check with reset (#​11775)

v7.51.2: Version 7.51.2

Compare Source

🐞 fix #​11719 validation stuck on true state (#​11723)

v7.51.1: Version 7.51.1

Compare Source

🐛 bug(validatingFields, trigger): handle all fields validation trigger (#​11624)
💚 ci: cleanup actions versions (#​11629)
🐞 fix #​11590 issue with trigger on validatingFields (#​11613)

thanks to @​Moshyfawn

v7.51.0

Compare Source

Added
  • added 'validateFields' to formState
const {
  formState: { validateFields },
} = useForm();

Configuration

📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - "before 4am" (UTC).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • 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 force-pushed the renovate/react-monorepo branch from 7c332f8 to 908de98 Compare February 26, 2024 09:03
@renovate renovate bot changed the title chore(deps): update dependency @types/react to v18.2.57 chore(deps): update dependency @types/react to v18.2.58 Feb 26, 2024
@renovate renovate bot changed the title chore(deps): update dependency @types/react to v18.2.58 chore(deps): update dependency @types/react to v18.2.59 Feb 29, 2024
@renovate renovate bot force-pushed the renovate/react-monorepo branch from 908de98 to 8f1a08f Compare February 29, 2024 21:28
@renovate renovate bot changed the title chore(deps): update dependency @types/react to v18.2.59 chore(deps): update dependency @types/react to v18.2.60 Mar 1, 2024
@renovate renovate bot force-pushed the renovate/react-monorepo branch 2 times, most recently from c9e2c6e to 0e7c0f3 Compare March 3, 2024 13:53
@renovate renovate bot changed the title chore(deps): update dependency @types/react to v18.2.60 chore(deps): update dependency @types/react to v18.2.61 Mar 3, 2024
@renovate renovate bot changed the title chore(deps): update dependency @types/react to v18.2.61 chore(deps): update react monorepo Mar 4, 2024
@renovate renovate bot force-pushed the renovate/react-monorepo branch 6 times, most recently from 4831947 to 80e805f Compare March 10, 2024 02:13
@renovate renovate bot force-pushed the renovate/react-monorepo branch 4 times, most recently from c69f06d to f48f92b Compare March 17, 2024 15:58
@renovate renovate bot force-pushed the renovate/react-monorepo branch 6 times, most recently from d9384e2 to 1959580 Compare March 25, 2024 23:22
@renovate renovate bot force-pushed the renovate/react-monorepo branch 5 times, most recently from f071587 to 4ef6458 Compare March 30, 2024 19:07
@renovate renovate bot force-pushed the renovate/react-monorepo branch 3 times, most recently from f064d1b to aa2abfe Compare May 10, 2025 23:01
@renovate renovate bot force-pushed the renovate/react-monorepo branch 3 times, most recently from b9ab0cf to ab29df0 Compare May 24, 2025 11:06
@renovate renovate bot force-pushed the renovate/react-monorepo branch 2 times, most recently from 2eef13e to 9e7b5ea Compare May 30, 2025 10:56
@renovate renovate bot force-pushed the renovate/react-monorepo branch from 9e7b5ea to 31c32e7 Compare June 5, 2025 21:35
@renovate renovate bot force-pushed the renovate/react-monorepo branch 3 times, most recently from ad26405 to 0e3cf12 Compare June 22, 2025 14:11
@renovate renovate bot force-pushed the renovate/react-monorepo branch 3 times, most recently from cfee5be to a1377af Compare July 7, 2025 23:14
@renovate renovate bot force-pushed the renovate/react-monorepo branch from a1377af to f5dcfba Compare July 27, 2025 01:41
@renovate renovate bot force-pushed the renovate/react-monorepo branch from f5dcfba to f044198 Compare August 5, 2025 00:32
@renovate renovate bot force-pushed the renovate/react-monorepo branch from f044198 to 6a74acf Compare August 25, 2025 18:53
@renovate renovate bot force-pushed the renovate/react-monorepo branch from 6a74acf to b6c347b Compare September 23, 2025 01:40
@renovate renovate bot force-pushed the renovate/react-monorepo branch 3 times, most recently from f328c08 to f162d56 Compare October 9, 2025 23:06
@renovate renovate bot force-pushed the renovate/react-monorepo branch from f162d56 to 81a9435 Compare October 14, 2025 02:14
@renovate renovate bot force-pushed the renovate/react-monorepo branch from 81a9435 to 23763e8 Compare November 4, 2025 01:05
@renovate renovate bot force-pushed the renovate/react-monorepo branch 2 times, most recently from cd72d07 to 0c8d44f Compare November 21, 2025 02:34
@renovate renovate bot force-pushed the renovate/react-monorepo branch 2 times, most recently from 5f6eb8f to ea1cf77 Compare December 6, 2025 22:31
@renovate renovate bot force-pushed the renovate/react-monorepo branch from ea1cf77 to 55d265f Compare December 23, 2025 05:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant