yarn react-hook-form 7.92.0
Version 7.92.0

one hour ago

๐Ÿž Fixes

  • Fix useFormState and Controller unnecessarily cloning form state during mount and unmount (#13945)
  • Fix setValues not updating dirty state for unregistered fields (#13946)
  • Fix form state values becoming inconsistent (#13948)
  • Fix setValue not selecting checkbox options with empty string values (#13950)
  • Fix stale asynchronous form-level validation results (#13951, #13954)
  • Fix useFieldArray applying reValidateMode: 'onSubmit' before submission (#13952)
  • Fix default values not being applied correctly to selects with disabled optgroups (#13953)
  • Fix useController reading stale shouldUnregister options (#13956, #13996)
  • Fix focusing disabled radio and checkbox inputs (#13960, #13968, #13977)
  • Fix TypeScript type regression (#13963)
  • Fix field array notifications using stale values (#13965)
  • Fix rejected submission callbacks with falsy rejection reasons (#13967)
  • Fix useWatch missing reset() updates on mount in React Native (#13974)
  • Fix trigger losing nested field array root errors (#13975)
  • Fix unregister retaining descendant registrations when removing a parent (#13976)
  • Fix trigger not marking nested fields as touched when shouldTouch targets a parent (#13978)
  • Fix useWatch compute cache not synchronizing when compute is removed (#13987)
  • Fix setValues ignoring options when values remain unchanged (#13989)
  • Fix handleSubmit incorrectly updating form state after reset() during asynchronous callbacks (#13991)
  • Fix useFieldArray retaining validation rules after the rules prop is removed (#13992)
  • Fix reset not updating isValid after cancelling pending validation (#13994)
  • Fix TypeScript nested array paths not preserving undefined (#13995)
  • Fix <Form /> not respecting encType when constructing request bodies (#13997)
  • Fix handleSubmit not supporting nullish and primitive transformed values with disabled fields (#13999, #14011)
  • Fix useController dirty tracking with controller-level defaultValue (#14001)
  • Fix multi-select changes including disabled options (#14002)
  • Fix register overwriting untouched range and color input defaults (#14007)
  • Fix stale schema resolver errors after field array operations (#14008)
  • Fix unset failing on primitive values (#14014)
  • Fix form-level validation errors appearing before submission during isValid checks (#14015)
  • Fix stale field errors when form-level validation returns a message (#14016)
  • Fix repeated reset() calls and error focusing with keepFieldsRef and memoized inputs (#14023)

โšก Performance Improvements

  • Avoid unnecessary form state cloning in useFormState and Controller (#13945)

๐Ÿงน Refactors

  • Skip non-dirty array holes when collecting dirty field names (#13979)
  • Avoid mutating field metadata when building resolver options (#13984)

๐Ÿงช Tests

  • Expand regression coverage for reset, useController, useFieldArray, validation, dirty state and form submissions
  • Add regression coverage for disabled radio and checkbox inputs, React Native reset handling, and primitive transformed values

๐Ÿ“ฆ Dependencies

  • Bump fast-uri from 3.1.8 to 3.1.9 (#13949)
  • Bump follow-redirects from 1.16.1 to 1.16.2 (#13985)
  • Bump vite from 6.4.4 to 6.4.5 (#13983)
  • Bump joi from 18.2.9 to 18.3.1 (#13986)

โค๏ธ Thank You

Thanks to @charan-rathore, @clean99, @KooYS, @dfedoryshchev, @maxymlyskov, @aumilkyeong, @hamarshehmhmd, @zigzagdev, @wozhenbang2004, @Aminark, @zendesk-robryan, @MomenSherif, @Shellghostt, @SatyamGangani, @yxshee, @timsnadden and @bluebill1049 for their contributions! ๐ŸŽ‰

Special thanks to the Pennylane team for their incredible support! โค๏ธ

Don't miss a new react-hook-form release

NewReleases is sending notifications on new releases.