Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Nov 26, 2025

This PR contains the following updates:

Package Change Age Confidence
react-hook-form (source) 7.55.0 -> 7.66.1 age confidence

Release Notes

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

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)


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), 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 requested review from a team and lisalupi as code owners November 26, 2025 09:14
@changeset-bot
Copy link

changeset-bot bot commented Nov 26, 2025

🦋 Changeset detected

Latest commit: d182f31

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@ultraviolet/form Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@renovate
Copy link
Contributor Author

renovate bot commented Nov 26, 2025

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

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.

2 participants