October 2, 2025 Release
Happy fall! This release brings some long-awaited features, including multi-selection in React Aria Select and enhanced animation support across our components. For example, Disclosure now provides CSS variables to easily animate expanding and collapsing. We’ve also added a new <SelectionIndicator>
component that can be used within components that support single selection such as Tabs and ToggleButtonGroup to animate selection changes. In addition, we have significantly improved the behavior of scrolling modals on iOS 26. Lastly, onAction
can now be used on a ComboBoxItem
, enabling you to add a “create” option.
As always, thank you to our community for their support and contributions!
Multi-Selection in React Aria Select:#
To support multi-selection in React Aria Select, we are updating the API from selectedKey
to value
, matching the React select
API. The deprecated API is supported for backward compatibility, but only supports single selection. Please see our docs for more on how to implement multi-selection.
Enhancements#
- Calendar
- Add
selectionAlignment
prop to Calendar components - @yihuiliao - PR
- Add
- Combobox
- Support
onAction
on ComboBox items - @devongovett - PR, PR
- Support
- Disclosure
- Add support for disclosure animation for React Aria Disclosure - @devongovett - PR
- Select
- Add support for multiple selection to React Aria Select - @devongovett - PR, @lixiaoyan - PR
- Miscellaneous
- Add support for animated selection indicators - @devongovett - PR
- Modals
- Improve behavior of modals on iOS 26 - @devongovett - PR, @LFDanLu - PR
- Allow pinch zooming and text selection in React Aria Modals on iOS - @devongovett - PR
Fixes#
- Collection
- Prevent crash in React Aria collections when used with Suspense and
useTransition
- @LFDanLu - PR - Fix collection dirty node tracking with Suspense - @devongovett - PR
- Prevent crash in React Aria collections when used with Suspense and
- Date and Time
- Fix the day the week starts with when specifiying
ISO 8601
in the locale - @snowystinger - PR, PR - Fix date parsing when there are seconds in the offset - @LFDanLu - PR
- Ensure
isReadonly
applies to all non-literal date segments - @Persists - PR - Add
isReadOnly
to the render props in React Aria DateField/DatePicker - @Mr-Heidari - PR
- Fix the day the week starts with when specifiying
- Disclosure
- Focus Management
- Fix keyboard navigation to skip over hidden inputs to next available input - @snowystinger - PR
- Fix unexpected
onBlur
events in React Aria Checkbox and Radio - @snowystinger - PR
- GridList
- Fix accessibiilty violations in GridList sections - @yihuiliao - PR
- Layout and Positioning
- Make
scrollIntoView
respectscroll-margin
- @nwidynski - PR - Fix
DOMLayoutDelegate
miscalculation of item & visible rects - @nwidynski - PR - Fix overlay positioning when animation starts on first render - @devongovett - PR
- Make
- Menu
- Show checkboxes for selected items when
ContextualHelpTrigger
isUnavailable
is set to false - @reidbarber - PR
- Show checkboxes for selected items when
- NumberField
- Tree
- Speed up flattening when expandening keys in Tree Collection - @snowystinger = PR
- Miscellaneous
- Avoid triggering
onClick
on disabled links - @lixiaoyan - PR
- Avoid triggering
Docs#
- Clarify React Aria Toast close button placement - @reidbarber - PR
Under Construction#
- Autocomplete
Released packages#
- @adobe/react-spectrum@3.45.0
- @internationalized/date@3.10.0
- @react-aria/actiongroup@3.7.21
- @react-aria/autocomplete@3.0.0-rc.3
- @react-aria/breadcrumbs@3.5.29
- @react-aria/button@3.14.2
- @react-aria/calendar@3.9.2
- @react-aria/checkbox@3.16.2
- @react-aria/collections@3.0.0
- @react-aria/color@3.1.2
- @react-aria/combobox@3.14.0
- @react-aria/datepicker@3.15.2
- @react-aria/dialog@3.5.31
- @react-aria/disclosure@3.1.0
- @react-aria/dnd@3.11.3
- @react-aria/focus@3.21.2
- @react-aria/form@3.1.2
- @react-aria/grid@3.14.5
- @react-aria/gridlist@3.14.1
- @react-aria/i18n@3.12.13
- @react-aria/interactions@3.25.6
- @react-aria/label@3.7.22
- @react-aria/landmark@3.0.7
- @react-aria/link@3.8.6
- @react-aria/listbox@3.15.0
- @react-aria/menu@3.19.3
- @react-aria/meter@3.4.27
- @react-aria/numberfield@3.12.2
- @react-aria/overlays@3.30.0
- @react-aria/progress@3.4.27
- @react-aria/radio@3.12.2
- @react-aria/searchfield@3.8.9
- @react-aria/select@3.17.0
- @react-aria/selection@3.26.0
- @react-aria/separator@3.4.13
- @react-aria/slider@3.8.2
- @react-aria/spinbutton@3.6.19
- @react-aria/steplist@3.0.0-alpha.22
- @react-aria/switch@3.7.8
- @react-aria/table@3.17.8
- @react-aria/tabs@3.10.8
- @react-aria/tag@3.7.2
- @react-aria/test-utils@1.0.0-beta.1
- @react-aria/textfield@3.18.2
- @react-aria/toast@3.0.8
- @react-aria/toggle@3.12.2
- @react-aria/toolbar@3.0.0-beta.21
- @react-aria/tooltip@3.8.8
- @react-aria/tree@3.1.4
- @react-aria/utils@3.31.0
- @react-aria/virtualizer@4.1.10
- @react-aria/visually-hidden@3.8.28
- @react-spectrum/accordion@3.0.13
- @react-spectrum/actionbar@3.6.14
- @react-spectrum/actiongroup@3.11.4
- @react-spectrum/autocomplete@3.0.0-alpha.50
- @react-spectrum/avatar@3.0.26
- @react-spectrum/badge@3.1.30
- @react-spectrum/breadcrumbs@3.9.24
- @react-spectrum/button@3.17.4
- @react-spectrum/buttongroup@3.6.26
- @react-spectrum/calendar@3.7.8
- @react-spectrum/card@3.0.0-alpha.50
- @react-spectrum/checkbox@3.10.4
- @react-spectrum/color@3.1.4
- @react-spectrum/combobox@3.16.4
- @react-spectrum/contextualhelp@3.6.28
- @react-spectrum/datepicker@3.14.8
- @react-spectrum/dialog@3.9.4
- @react-spectrum/divider@3.5.27
- @react-spectrum/dnd@3.6.2
- @react-spectrum/dropzone@3.0.18
- @react-spectrum/filetrigger@3.0.18
- @react-spectrum/form@3.7.19
- @react-spectrum/icon@3.8.9
- @react-spectrum/illustratedmessage@3.5.14
- @react-spectrum/image@3.6.2
- @react-spectrum/inlinealert@3.2.20
- @react-spectrum/label@3.16.19
- @react-spectrum/labeledvalue@3.2.7
- @react-spectrum/layout@3.6.19
- @react-spectrum/link@3.6.22
- @react-spectrum/list@3.10.8
- @react-spectrum/listbox@3.15.8
- @react-spectrum/menu@3.22.8
- @react-spectrum/meter@3.5.14
- @react-spectrum/numberfield@3.10.2
- @react-spectrum/overlays@5.9.0
- @react-spectrum/picker@3.16.4
- @react-spectrum/progress@3.7.20
- @react-spectrum/provider@3.10.11
- @react-spectrum/radio@3.7.21
- @react-spectrum/s2@0.12.0
- @react-spectrum/searchfield@3.8.23
- @react-spectrum/slider@3.8.2
- @react-spectrum/statuslight@3.5.26
- @react-spectrum/steplist@3.0.0-alpha.20
- @react-spectrum/style-macro-s1@3.0.0-alpha.5
- @react-spectrum/switch@3.6.6
- @react-spectrum/table@3.17.8
- @react-spectrum/tabs@3.8.27
- @react-spectrum/tag@3.3.7
- @react-spectrum/test-utils@1.0.0-beta.2
- @react-spectrum/text@3.5.22
- @react-spectrum/textfield@3.14.2
- @react-spectrum/theme-dark@3.5.22
- @react-spectrum/theme-default@3.5.22
- @react-spectrum/theme-express@3.0.0-alpha.24
- @react-spectrum/theme-light@3.4.22
- @react-spectrum/toast@3.1.4
- @react-spectrum/tooltip@3.7.11
- @react-spectrum/tree@3.1.8
- @react-spectrum/utils@3.12.9
- @react-spectrum/view@3.6.23
- @react-spectrum/well@3.4.27
- @react-stately/calendar@3.9.0
- @react-stately/checkbox@3.7.2
- @react-stately/collections@3.12.8
- @react-stately/color@3.9.2
- @react-stately/combobox@3.12.0
- @react-stately/data@3.14.1
- @react-stately/datepicker@3.15.2
- @react-stately/disclosure@3.0.8
- @react-stately/dnd@3.7.1
- @react-stately/form@3.2.2
- @react-stately/grid@3.11.6
- @react-stately/layout@4.5.1
- @react-stately/list@3.13.1
- @react-stately/menu@3.9.8
- @react-stately/numberfield@3.10.2
- @react-stately/overlays@3.6.20
- @react-stately/radio@3.11.2
- @react-stately/searchfield@3.5.16
- @react-stately/select@3.8.0
- @react-stately/selection@3.20.6
- @react-stately/slider@3.7.2
- @react-stately/steplist@3.0.0-alpha.18
- @react-stately/table@3.15.1
- @react-stately/tabs@3.8.6
- @react-stately/toggle@3.9.2
- @react-stately/tooltip@3.5.8
- @react-stately/tree@3.9.3
- @react-stately/virtualizer@4.4.4
- @react-types/actionbar@3.1.19
- @react-types/actiongroup@3.4.21
- @react-types/autocomplete@3.0.0-alpha.35
- @react-types/avatar@3.0.19
- @react-types/badge@3.1.21
- @react-types/breadcrumbs@3.7.17
- @react-types/button@3.14.1
- @react-types/buttongroup@3.3.21
- @react-types/calendar@3.8.0
- @react-types/card@3.0.0-alpha.40
- @react-types/checkbox@3.10.2
- @react-types/color@3.1.2
- @react-types/combobox@3.13.9
- @react-types/contextualhelp@3.2.22
- @react-types/datepicker@3.13.2
- @react-types/dialog@3.5.22
- @react-types/divider@3.3.21
- @react-types/form@3.7.16
- @react-types/grid@3.3.6
- @react-types/illustratedmessage@3.3.21
- @react-types/image@3.5.2
- @react-types/label@3.9.15
- @react-types/layout@3.3.27
- @react-types/link@3.6.5
- @react-types/list@3.2.34
- @react-types/listbox@3.7.4
- @react-types/menu@3.10.5
- @react-types/meter@3.4.13
- @react-types/numberfield@3.8.15
- @react-types/overlays@3.9.2
- @react-types/progress@3.5.16
- @react-types/provider@3.8.13
- @react-types/radio@3.9.2
- @react-types/searchfield@3.6.6
- @react-types/select@3.11.0
- @react-types/shared@3.32.1
- @react-types/slider@3.8.2
- @react-types/statuslight@3.3.21
- @react-types/switch@3.5.15
- @react-types/table@3.13.4
- @react-types/tabs@3.3.19
- @react-types/text@3.3.21
- @react-types/textfield@3.12.6
- @react-types/tooltip@3.4.21
- @react-types/view@3.4.21
- @react-types/well@3.3.21
- @spectrum-icons/color@3.5.26
- @spectrum-icons/express@3.0.0-alpha.30
- @spectrum-icons/illustrations@3.6.26
- @spectrum-icons/ui@3.6.20
- @spectrum-icons/workflow@4.2.25
- @react-spectrum/codemods@0.8.0
- @react-spectrum/mcp@0.1.0
- @react-spectrum/parcel-namer-s2@0.3.2
- @react-spectrum/parcel-transformer-s2-icon@0.3.2
- @react-spectrum/s2-icon-builder@0.3.2
- react-aria@3.44.0
- react-aria-components@1.13.0
- react-stately@3.42.0