π fix: pass options parameter through setValues to enable validation (13457) π fix(setValues): emit whole-form change without stale name/type (13450) π perf(setValues): thread skipClone through s
πͺ close 13141 improve isDirty sync with dirtyFields state (13370) π fix isValidating reactivity when validatingFields is not subscribed (13440) πΊ test: fix duplicate-word typos in test descriptio
𦧠feat: improve get dirty fields prune empty fields (13363) diff + dirtyFields: { test: { data: false } } - dirtyFields: {} // removed the empty node with false value πΉ typescript 6.0 (133
πͺ feat: setValues (13201) tsx setValues((data) => { return { ...data, name: 'test' } }) setValues(formValues); π fix: preserve previous field value when useController na
β‘perf: memoize submit (13378) π perf: improve deepEqual performance (13362) π perf: skip re-render in setValue when value is unchanged (13352) βοΈ remove unneeded flag check for shouldDirty π¨ fi
π test: add isDirty check for numeric string keys in defaultValues (issue 13346) (13347) π fix: prevent setValue with shouldDirty from polluting unrelated dirty fields (13326) π fix: memoize cont
βοΈ feat: built-in form level validate (13195) tsx const { register, formState: { errors } } = useForm({ validate: async (formValue) => { if (formValue.test1.length > formValue.test.length)
π΅οΈββοΈ fix: use DeepPartialSkipArrayKey for WatchObserver value parameter (13278) π§Ή fix(clearErrors): emit name signal for targeted field updates (13280) thanks to @veeceey, @kaigritun, @pgoslata