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
  • Select
  • Test Utils
    • Support selectionMode="replace" in grid collection test utils - @LFDanLu - PR
  • Miscellaneous
    • Expose state types in React Aria Components - @lukpsaxo - PR

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
  • 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
  • Tree
  • Typescript
  • Virtualizer

Docs#


Under Construction#


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