๐ Fixes
- Fix
useFieldArraynot updating rows when usingsetValueorsetValues(#13842, #13939) - Fix
useFieldArraynot unregistering values correctly on unmount (#13843) - Fix field registration without a value incorrectly adding array rows (#13846, #13849)
- Fix
useFieldArrayreindexing fields incorrectly when array rules are registered (#13873) - Fix
useFieldArraylosing validation rules afterreset()(#13940) - Fix stale field array validation results after array changes (#13888)
- Fix
useFieldArrayvalidation after submission inonBlurmode (#13867) - Fix dirty state updates when
setValueschanges field arrays (#13870) - Fix stale asynchronous validation results after
reset()andunregister()(#13908, #13912, #13934) - Fix
Controllervalidation using stale DOM values (#13880) - Fix
isValidnot updating correctly afterreset()and subsequent changes (#13847, #13930) - Fix
handleSubmitleavingisSubmittingactive when validation throws (#13905) - Fix empty validation message arrays being treated as errors (#13937)
- Fix delayed validation errors not being flushed on blur (#13861)
- Fix form state subscriptions and validity updates (#13866, #13877, #13906)
- Fix dirty state tracking and
resetField()with falsy values (#13868, #13900) - Fix
unregisterretaining validation rules when usingkeepValue(#13891) - Fix
<Form />handling of JSON, URL-encoded, multipart and plain-text submissions (#13848, #13854, #13874, #13893, #13907, #13915, #13926) - Fix
useWatchnot updating default values when the watched name changes (#13859) - Fix select options being lost before the form is ready (#13872)
- Fix
useFormretaining removed options and disabled state (#13882, #13883, #13889, #13898) - Fix progressive required attributes (#13924)
- Fix numeric zero
maxLengthvalidation (#13851) - Fix object comparison for null-prototype objects and sparse arrays (#13853, #13855, #13857)
- Fix
cloneObjecthandling objects with aconstructorkey (#13875) - Fix
setValuehandling null-prototype objects (#13916) - Fix form-level validation error types (#13860)
- Fix
useFormmutating the externally providederrorsobject (#13896) - Fix stale
NaNand invalid date validation results (#13910)
โก Performance Improvements
- Avoid unnecessary copies when calling
getValues()(#13894) - Reduce unnecessary
<Form />re-renders (#13899)
๐งน Refactors
- Simplify multipart Content-Type handling (#13926)
- Improve internal types and remove unnecessary type assertions (#13871, #13886)
- Clean up memoized component display names (#13897)
- Fix JSDoc examples (#13895)
๐งช Tests
- Add coverage for disabled field array operations (#13841)
- Expand regression coverage for
useFieldArray,reset, validation and form state
๐ฆ Dependencies
- Bump
joifrom 18.2.6 to 18.2.9 (#13836) - Update
browserslistandbaseline-browser-mapping(#13837, #13838, #13839) - Bump
follow-redirectsfrom 1.16.0 to 1.16.1 (#13913) - Bump
vitefrom 6.4.3 to 6.4.4 (#13914)
โค๏ธ Thank You
Thanks to @vicuts, @maxymlyskov, @ahamsel, @dasjideepak, @feritcemkahraman, @DahanItamar, @arba-octo, @dfedoryshchev, @jeremiah-white, @TiagoGranelli, @zigzagdev, @nandyx, @hardikkaurani, @Marve10s, @candymask0712, @saaahilhussain, @itisrmk, @Enesuygurs and @bluebill1049 for their contributions! ๐
Special thanks to the Pennylane team for their incredible support! โค๏ธ