June 5, 2025 Release
Drop everything! Drag and drop support in React Aria Tree has been released! 🫳🎤 This supports moving items within a tree or between collection components, with full keyboard and screen reader accessibility. It's interoperable with our existing drag and drop support in components like Table and GridList, and with third party apps via native HTML APIs. Check out our previous blog post on drag and drop to learn about the interactions, and our new Tree drag and drop documentation.
This release also includes some highly requested bug fixes, including scrollbar layout shifts when opening popovers and modals, date picker interaction improvements, and enhancements to our form components.
As always, thank you to our community for their support and contributions!
Enhancements#
- ListBox
- Expose
shouldFocusOnHover
prop for ListBox - @lucasweng - PR
- Expose
- Select
- Test Utils
- Miscellaneous
Fixes#
- ComboBox
- Prevent ComboBox from closing when navigating through items with keyboard - @yihuiliao - PR
- Date/Time
- Fix setting a placeholder time when closing a DateRangePicker with time granularity - @devongovett - PR
- Fix moving backward through DateField segments when pressing Enter - @devongovett - PR
- Fix crashing on unknown segment types in DateField - @devongovett - PR
- Fix invalid date parsing - @snowystinger - PR
- Focus
- Suppress focusable warning for disabled Pressable - @joshuajaco - PR
- Fix
autofocus
to React Aria Select - @chirokas - PR
- Form
- RadioGroup should not validate on form reset - @chirokas - PR
- Clear selection when using form reset in RAC CheckboxGroup - @yihuiliao - PR
- Internationalized
- Update number parsing in internationalized to handle 0 decimals parsing with
exceptZero
- @shahbazianep - PR
- Update number parsing in internationalized to handle 0 decimals parsing with
- Overlays
- Fix additional scrollbar padding in
usePreventScroll
when an overlay is open - @devongovett - PR - Fix tapping outside overlay triggers elements behind underlay on Android issue - @devongovett - PR
- Clear contexts inside popovers - @devongovett - PR
- Fix additional scrollbar padding in
- Tree
- Prevent focus trap in TreeView - @snowystinger - PR
- Typescript
- Fix TypeScript types colliding with globals - @devongovett - PR
- Virtualizer
- Height adjustment for Virtualized layout - @snowystinger - PR
- Virtualizer with
useIsSSR
- @snowystinger - PR
Docs#
- Document
position: relative
requirement forVisuallyHidden
- @snowystinger - PR - Fix broken links in Menu/Combobox - @reidbarber - PR
- Add Menu as part of the integrated components in Virtualizer - @meesvandongen - PR
- Update
ToOptions
in TanStack Router docs - @jvliwanag - PR
Under Construction#
- Tree
- Tree drag and drop - @reidbarber - PR
- Improve tree drag and drop keyboard navigation - @devongovett - PR
- Tree DnD Docs - @reidbarber - PR, PR
Released packages#
- @adobe/react-spectrum@3.42.1
- @internationalized/date@3.8.2
- @internationalized/message@3.1.8
- @internationalized/number@3.6.3
- @internationalized/string@3.2.7
- @react-aria/actiongroup@3.7.17
- @react-aria/aria-modal-polyfill@3.7.14
- @react-aria/autocomplete@3.0.0-beta.4
- @react-aria/breadcrumbs@3.5.25
- @react-aria/button@3.13.2
- @react-aria/calendar@3.8.2
- @react-aria/checkbox@3.15.6
- @react-aria/collections@3.0.0-rc.2
- @react-aria/color@3.0.8
- @react-aria/combobox@3.12.4
- @react-aria/datepicker@3.14.4
- @react-aria/dialog@3.5.26
- @react-aria/disclosure@3.0.6
- @react-aria/dnd@3.10.0
- @react-aria/focus@3.20.4
- @react-aria/form@3.0.17
- @react-aria/grid@3.14.1
- @react-aria/gridlist@3.13.1
- @react-aria/i18n@3.12.10
- @react-aria/interactions@3.25.2
- @react-aria/label@3.7.19
- @react-aria/landmark@3.0.4
- @react-aria/link@3.8.2
- @react-aria/listbox@3.14.5
- @react-aria/live-announcer@3.4.3
- @react-aria/menu@3.18.4
- @react-aria/meter@3.4.24
- @react-aria/numberfield@3.11.15
- @react-aria/overlays@3.27.2
- @react-aria/progress@3.4.24
- @react-aria/radio@3.11.4
- @react-aria/searchfield@3.8.5
- @react-aria/select@3.15.6
- @react-aria/selection@3.24.2
- @react-aria/separator@3.4.10
- @react-aria/slider@3.7.20
- @react-aria/spinbutton@3.6.16
- @react-aria/ssr@3.9.9
- @react-aria/steplist@3.0.0-alpha.18
- @react-aria/switch@3.7.4
- @react-aria/table@3.17.4
- @react-aria/tabs@3.10.4
- @react-aria/tag@3.6.1
- @react-aria/test-utils@1.0.0-alpha.8
- @react-aria/textfield@3.17.4
- @react-aria/toast@3.0.4
- @react-aria/toggle@3.11.4
- @react-aria/toolbar@3.0.0-beta.17
- @react-aria/tooltip@3.8.4
- @react-aria/tree@3.1.0
- @react-aria/utils@3.29.1
- @react-aria/virtualizer@4.1.6
- @react-aria/visually-hidden@3.8.24
- @react-spectrum/accordion@3.0.7
- @react-spectrum/actionbar@3.6.8
- @react-spectrum/actiongroup@3.10.16
- @react-spectrum/autocomplete@3.0.0-alpha.44
- @react-spectrum/avatar@3.0.23
- @react-spectrum/badge@3.1.24
- @react-spectrum/breadcrumbs@3.9.18
- @react-spectrum/button@3.16.15
- @react-spectrum/buttongroup@3.6.23
- @react-spectrum/calendar@3.7.2
- @react-spectrum/card@3.0.0-alpha.44
- @react-spectrum/checkbox@3.9.17
- @react-spectrum/color@3.0.8
- @react-spectrum/combobox@3.15.4
- @react-spectrum/contextualhelp@3.6.22
- @react-spectrum/datepicker@3.14.2
- @react-spectrum/dialog@3.8.22
- @react-spectrum/divider@3.5.24
- @react-spectrum/dnd@3.5.6
- @react-spectrum/dropzone@3.0.12
- @react-spectrum/filetrigger@3.0.12
- @react-spectrum/form@3.7.16
- @react-spectrum/icon@3.8.6
- @react-spectrum/illustratedmessage@3.5.11
- @react-spectrum/image@3.5.12
- @react-spectrum/inlinealert@3.2.16
- @react-spectrum/label@3.16.16
- @react-spectrum/labeledvalue@3.2.4
- @react-spectrum/layout@3.6.16
- @react-spectrum/link@3.6.18
- @react-spectrum/list@3.10.2
- @react-spectrum/listbox@3.15.2
- @react-spectrum/menu@3.22.2
- @react-spectrum/meter@3.5.11
- @react-spectrum/numberfield@3.9.14
- @react-spectrum/overlays@5.7.6
- @react-spectrum/picker@3.15.10
- @react-spectrum/progress@3.7.17
- @react-spectrum/provider@3.10.6
- @react-spectrum/radio@3.7.17
- @react-spectrum/s2@0.9.1
- @react-spectrum/searchfield@3.8.17
- @react-spectrum/slider@3.7.6
- @react-spectrum/statuslight@3.5.23
- @react-spectrum/steplist@3.0.0-alpha.16
- @react-spectrum/switch@3.6.2
- @react-spectrum/table@3.17.2
- @react-spectrum/tabs@3.8.21
- @react-spectrum/tag@3.3.1
- @react-spectrum/test-utils@1.0.0-alpha.8
- @react-spectrum/text@3.5.16
- @react-spectrum/textfield@3.13.4
- @react-spectrum/theme-dark@3.5.19
- @react-spectrum/theme-default@3.5.19
- @react-spectrum/theme-express@3.0.0-alpha.21
- @react-spectrum/theme-light@3.4.19
- @react-spectrum/toast@3.0.4
- @react-spectrum/tooltip@3.7.6
- @react-spectrum/tree@3.1.2
- @react-spectrum/utils@3.12.6
- @react-spectrum/view@3.6.20
- @react-spectrum/well@3.4.24
- @react-stately/autocomplete@3.0.0-beta.2
- @react-stately/calendar@3.8.2
- @react-stately/checkbox@3.6.15
- @react-stately/collections@3.12.5
- @react-stately/color@3.8.6
- @react-stately/combobox@3.10.6
- @react-stately/data@3.13.1
- @react-stately/datepicker@3.14.2
- @react-stately/disclosure@3.0.5
- @react-stately/dnd@3.6.0
- @react-stately/flags@3.1.2
- @react-stately/form@3.1.5
- @react-stately/grid@3.11.3
- @react-stately/layout@4.3.1
- @react-stately/list@3.12.3
- @react-stately/menu@3.9.5
- @react-stately/numberfield@3.9.13
- @react-stately/overlays@3.6.17
- @react-stately/radio@3.10.14
- @react-stately/searchfield@3.5.13
- @react-stately/select@3.6.14
- @react-stately/selection@3.20.3
- @react-stately/slider@3.6.5
- @react-stately/steplist@3.0.0-alpha.15
- @react-stately/table@3.14.3
- @react-stately/tabs@3.8.3
- @react-stately/toast@3.1.1
- @react-stately/toggle@3.8.5
- @react-stately/tooltip@3.5.5
- @react-stately/tree@3.9.0
- @react-stately/utils@3.10.7
- @react-stately/virtualizer@4.4.1
- @react-types/actionbar@3.1.16
- @react-types/actiongroup@3.4.18
- @react-types/autocomplete@3.0.0-alpha.32
- @react-types/avatar@3.0.16
- @react-types/badge@3.1.18
- @react-types/breadcrumbs@3.7.14
- @react-types/button@3.12.2
- @react-types/buttongroup@3.3.18
- @react-types/calendar@3.7.2
- @react-types/card@3.0.0-alpha.37
- @react-types/checkbox@3.9.5
- @react-types/color@3.0.6
- @react-types/combobox@3.13.6
- @react-types/contextualhelp@3.2.19
- @react-types/datepicker@3.12.2
- @react-types/dialog@3.5.19
- @react-types/divider@3.3.18
- @react-types/form@3.7.13
- @react-types/grid@3.3.3
- @react-types/illustratedmessage@3.3.18
- @react-types/image@3.4.10
- @react-types/label@3.9.12
- @react-types/layout@3.3.24
- @react-types/link@3.6.2
- @react-types/list@3.2.28
- @react-types/listbox@3.7.1
- @react-types/menu@3.10.2
- @react-types/meter@3.4.10
- @react-types/numberfield@3.8.12
- @react-types/overlays@3.8.16
- @react-types/progress@3.5.13
- @react-types/provider@3.8.10
- @react-types/radio@3.8.10
- @react-types/searchfield@3.6.3
- @react-types/select@3.9.13
- @react-types/shared@3.30.0
- @react-types/slider@3.7.12
- @react-types/statuslight@3.3.18
- @react-types/switch@3.5.12
- @react-types/table@3.13.1
- @react-types/tabs@3.3.16
- @react-types/text@3.3.18
- @react-types/textfield@3.12.3
- @react-types/tooltip@3.4.18
- @react-types/view@3.4.18
- @react-types/well@3.3.18
- @spectrum-icons/color@3.5.23
- @spectrum-icons/express@3.0.0-alpha.27
- @spectrum-icons/illustrations@3.6.23
- @spectrum-icons/ui@3.6.17
- @spectrum-icons/workflow@4.2.22
- @react-spectrum/codemods@0.6.1
- @react-spectrum/parcel-namer-s2@0.3.0
- @react-spectrum/s2-icon-builder@0.3.0
- react-aria@3.41.0
- react-aria-components@1.10.0
- react-stately@3.39.0