๐ Fixes
- Fix
useFormmarking fields named afterObject.prototypemembers as touched on blur andsetValue(#13833) - Fix
cloneObjectpreserving the length of sparse arrays (#13834) - Fix dirty values extraction for fields named
hasOwnProperty(#13832) - Fix
useFormretaining options removed from props on re-render (#13831) - Fix
useFieldArrayhandling duplicate indexes inremove()without mutating the provided indexes (#13830) - Fix
useFieldArrayunregistering fields while a parent array reindexes (#13828) - Fix input values edited before the form is ready being lost (#13827)
- Fix
useWatchnot updating watched objects after an Activity subtree reconnects (#13819) - Fix
reset()incorrectly settingisDirtywhen usingkeepDefaultValueswithout values (#13820) - Fix
Controllerblur validation not working afterreset()(#13817) - Fix
watchusing staleshouldUnregisteroptions when registering fields (#13814) - Fix form value comparison for fields named
ref(#13812) - Fix native validation using stale
shouldUseNativeValidationoptions (#13806) - Fix
cloneObjectnot cloning objects with a null prototype (#13808) - Fix
useWatcharray names not prioritizing formdefaultValues(#13805) - Fix error updates not producing a new
errorsreference (#13800) - Fix
setErrorandclearErrorsnot producing a newerrorsreference (#13791)
โก Performance Improvements
- Improve dirty fields checking (#13788)
- Improve subscription value handling (#13787)
- Improve
watchAPI performance (#13792) - Improve named scoped subscriptions (#13793)
- Preserve form-state tracking across unsubscribe (#13794)
- Improve subject subscription handling (#13795)
- Skip redundant form-state merges during subscriber notifications (#13796)
- Avoid allocations when matching subscription names (#13823)
๐งน Refactors
๐งช Tests
- Add coverage for
useFieldArrayindex boundary and no-op behavior (#13815, #13822, #13824, #13829) - Add coverage for JSON stringify and parse edge cases (#13821)
๐ฆ Dependencies
โค๏ธ Thank You
Thanks to @charan-rathore, @zigzagdev, @AdzerKI, @huytdps13400, @dfedoryshchev, @kory-kaai, @Mohamed-Elshesheny, @breken-ai, @sarmah-rup, @00200200, @giaBaoJS and @bluebill1049 for their contributions! ๐