|
| 1 | +{/* Copyright 2025 Adobe. All rights reserved. |
| 2 | +This file is licensed to you under the Apache License, Version 2.0 (the "License"); |
| 3 | +you may not use this file except in compliance with the License. You may obtain a copy |
| 4 | +of the License at http://www.apache.org/licenses/LICENSE-2.0 |
| 5 | +Unless required by applicable law or agreed to in writing, software distributed under |
| 6 | +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS |
| 7 | +OF ANY KIND, either express or implied. See the License for the specific language |
| 8 | +governing permissions and limitations under the License. */} |
| 9 | + |
| 10 | +import {BlogPostLayout, Hero, Image} from '@react-spectrum/docs'; |
| 11 | +export default BlogPostLayout; |
| 12 | + |
| 13 | +--- |
| 14 | +description: 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 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. |
| 15 | +date: 2025-10-02 |
| 16 | +--- |
| 17 | + |
| 18 | +# October 2, 2025 Release |
| 19 | + |
| 20 | +Happy fall! This release brings some long-awaited features, including multi-selection in [React Aria Select](../react-aria/Select.html#multiple-selection) and enhanced animation support across our components. For example, [Disclosure](../react-aria/Disclosure.html) 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](../react-aria/Tabs.html) and [ToggleButtonGroup](../react-aria/ToggleButtonGroup.html#animation) 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`](../react-aria/ComboBox.html#item-actions), enabling you to add a “create” option. |
| 21 | + |
| 22 | +As always, thank you to our community for their support and contributions! |
| 23 | + |
| 24 | +### Multi-Selection in React Aria Select: |
| 25 | +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](../react-aria/Select.html#multiple-selection) for more on how to implement multi-selection. |
| 26 | + |
| 27 | +## Enhancements |
| 28 | + |
| 29 | +* Calendar |
| 30 | + * Add `selectionAlignment` prop to Calendar components - [@yihuiliao](https://github.com/yihuiliao) - [PR](https://github.com/adobe/react-spectrum/pull/8752) |
| 31 | +* Combobox |
| 32 | + * Support `onAction` on ComboBox items - [@devongovett](https://github.com/devongovett) - [PR](https://github.com/adobe/react-spectrum/pull/8910), [PR](https://github.com/adobe/react-spectrum/pull/8947) |
| 33 | +* Disclosure |
| 34 | + * Add support for disclosure animation for React Aria Disclosure - [@devongovett](https://github.com/devongovett) - [PR](https://github.com/adobe/react-spectrum/pull/8867) |
| 35 | +* Select |
| 36 | + * Add support for multiple selection to React Aria Select - [@devongovett](https://github.com/devongovett) - [PR](https://github.com/adobe/react-spectrum/pull/8734), [@lixiaoyan](https://github.com/lixiaoyan) - [PR](https://github.com/adobe/react-spectrum/pull/8880) |
| 37 | +* Miscellaneous |
| 38 | + * Add support for animated selection indicators - [@devongovett](https://github.com/devongovett) - [PR](https://github.com/adobe/react-spectrum/pull/8876) |
| 39 | +* Modals |
| 40 | + * Improve behavior of modals on iOS 26 - [@devongovett](https://github.com/devongovett) - [PR](https://github.com/adobe/react-spectrum/pull/8888), [@LFDanLu](https://github.com/LFDanLu) - [PR](https://github.com/adobe/react-spectrum/pull/8948) |
| 41 | + * Allow pinch zooming and text selection in React Aria Modals on iOS - [@devongovett](https://github.com/devongovett) - [PR](https://github.com/adobe/react-spectrum/pull/8922) |
| 42 | + |
| 43 | +## Fixes |
| 44 | + |
| 45 | +* Collection |
| 46 | + * Prevent crash in React Aria collections when used with Suspense and `useTransition` - [@LFDanLu](https://github.com/LFDanLu) - [PR](https://github.com/adobe/react-spectrum/pull/8835) |
| 47 | + * Fix collection dirty node tracking with Suspense - [@devongovett](https://github.com/devongovett) - [PR](https://github.com/adobe/react-spectrum/pull/8892) |
| 48 | +* Date and Time |
| 49 | + * Fix the day the week starts with when specifiying `ISO 8601` in the locale - [@snowystinger](https://github.com/snowystinger) - [PR](https://github.com/adobe/react-spectrum/pull/8815), [PR](https://github.com/adobe/react-spectrum/pull/8877) |
| 50 | + * Fix date parsing when there are seconds in the offset - [@LFDanLu](https://github.com/LFDanLu) - [PR](https://github.com/adobe/react-spectrum/pull/8900) |
| 51 | + * Ensure `isReadonly` applies to all non-literal date segments - [@Persists](https://github.com/Persists) - [PR](https://github.com/adobe/react-spectrum/pull/7969) |
| 52 | + * Add `isReadOnly` to the render props in React Aria DateField/DatePicker - [@Mr-Heidari](https://github.com/Mr-Heidari) - [PR](https://github.com/adobe/react-spectrum/pull/8818) |
| 53 | +* Disclosure |
| 54 | + * Don't display `DisclosurePanel` content when it is not expanded and disabled - [@LFDanLu](https://github.com/LFDanLu) - [PR](https://github.com/adobe/react-spectrum/pull/8893) |
| 55 | +* Focus Management |
| 56 | + * Fix keyboard navigation to skip over hidden inputs to next available input - [@snowystinger](https://github.com/snowystinger) - [PR](https://github.com/adobe/react-spectrum/pull/8794) |
| 57 | + * Fix unexpected `onBlur` events in React Aria Checkbox and Radio - [@snowystinger](https://github.com/snowystinger) - [PR](https://github.com/adobe/react-spectrum/pull/8567) |
| 58 | +* GridList |
| 59 | + * Fix accessibiilty violations in GridList sections - [@yihuiliao](https://github.com/yihuiliao) - [PR](https://github.com/adobe/react-spectrum/pull/8932) |
| 60 | +* Layout and Positioning |
| 61 | + * Make `scrollIntoView` respect `scroll-margin` - [@nwidynski](https://github.com/nwidynski) - [PR](https://github.com/adobe/react-spectrum/pull/8715) |
| 62 | + * Fix `DOMLayoutDelegate` miscalculation of item & visible rects - [@nwidynski](https://github.com/nwidynski) - [PR](https://github.com/adobe/react-spectrum/pull/8696) |
| 63 | + * Fix overlay positioning when animation starts on first render - [@devongovett](https://github.com/devongovett) - [PR](https://github.com/adobe/react-spectrum/pull/8789) |
| 64 | +* Menu |
| 65 | + * Show checkboxes for selected items when `ContextualHelpTrigger` `isUnavailable` is set to false - [@reidbarber](https://github.com/reidbarber) - [PR](https://github.com/adobe/react-spectrum/pull/8921) |
| 66 | +* NumberField |
| 67 | + * Pass `disabled` prop to hidden input in React Aria NumberField - [@tklepzig](https://github.com/tklepzig) - [PR](https://github.com/adobe/react-spectrum/pull/8706) |
| 68 | +* Tree |
| 69 | + * Speed up flattening when expandening keys in Tree Collection - [@snowystinger](https://github.com/snowystinger) = [PR](https://github.com/adobe/react-spectrum/pull/8774) |
| 70 | +* Miscellaneous |
| 71 | + * Avoid triggering `onClick` on disabled links - [@lixiaoyan](https://github.com/lixiaoyan) - [PR](https://github.com/adobe/react-spectrum/pull/8828) |
| 72 | + |
| 73 | +## Docs |
| 74 | + |
| 75 | +* Clarify React Aria Toast close button placement - [@reidbarber](https://github.com/reidbarber) - [PR](https://github.com/adobe/react-spectrum/pull/8923) |
| 76 | + |
| 77 | +## Under Construction |
| 78 | + |
| 79 | +* Autocomplete |
| 80 | + * Automatically detect if wrapped collection supports virtual focus - [@LFDanLu](https://github.com/LFDanLu) - [PR](https://github.com/adobe/react-spectrum/pull/8862) |
| 81 | + * Properly allow user to keyboard edit the Autocomplete input field when collection becomes empty - [@LFDanLu](https://github.com/LFDanLu) - [PR](https://github.com/adobe/react-spectrum/pull/8861) |
| 82 | + |
| 83 | +## Released packages |
| 84 | + |
| 85 | +``` |
| 86 | + |
| 87 | + - @internationalized/[email protected] |
| 88 | + |
| 89 | + |
| 90 | + |
| 91 | + |
| 92 | + |
| 93 | + |
| 94 | + |
| 95 | + |
| 96 | + |
| 97 | + |
| 98 | + |
| 99 | + |
| 100 | + |
| 101 | + |
| 102 | + |
| 103 | + |
| 104 | + |
| 105 | + |
| 106 | + |
| 107 | + |
| 108 | + |
| 109 | + |
| 110 | + |
| 111 | + |
| 112 | + |
| 113 | + |
| 114 | + |
| 115 | + |
| 116 | + |
| 117 | + |
| 118 | + |
| 119 | + |
| 120 | + |
| 121 | + |
| 122 | + |
| 123 | + |
| 124 | + |
| 125 | + |
| 126 | + |
| 127 | + |
| 128 | + |
| 129 | + |
| 130 | + |
| 131 | + |
| 132 | + |
| 133 | + |
| 134 | + |
| 135 | + |
| 136 | + |
| 137 | + |
| 138 | + - @react-spectrum/[email protected] |
| 139 | + - @react-spectrum/[email protected] |
| 140 | + - @react-spectrum/[email protected] |
| 141 | + - @react-spectrum/[email protected] |
| 142 | + - @react-spectrum/[email protected] |
| 143 | + - @react-spectrum/[email protected] |
| 144 | + - @react-spectrum/[email protected] |
| 145 | + - @react-spectrum/[email protected] |
| 146 | + - @react-spectrum/[email protected] |
| 147 | + - @react-spectrum/[email protected] |
| 148 | + - @react-spectrum/[email protected] |
| 149 | + - @react-spectrum/[email protected] |
| 150 | + - @react-spectrum/[email protected] |
| 151 | + - @react-spectrum/[email protected] |
| 152 | + - @react-spectrum/[email protected] |
| 153 | + - @react-spectrum/[email protected] |
| 154 | + - @react-spectrum/[email protected] |
| 155 | + - @react-spectrum/[email protected] |
| 156 | + - @react-spectrum/[email protected] |
| 157 | + - @react-spectrum/[email protected] |
| 158 | + - @react-spectrum/[email protected] |
| 159 | + - @react-spectrum/[email protected] |
| 160 | + - @react-spectrum/[email protected] |
| 161 | + - @react-spectrum/[email protected] |
| 162 | + - @react-spectrum/[email protected] |
| 163 | + - @react-spectrum/[email protected] |
| 164 | + - @react-spectrum/[email protected] |
| 165 | + - @react-spectrum/[email protected] |
| 166 | + - @react-spectrum/[email protected] |
| 167 | + - @react-spectrum/[email protected] |
| 168 | + - @react-spectrum/[email protected] |
| 169 | + - @react-spectrum/[email protected] |
| 170 | + - @react-spectrum/[email protected] |
| 171 | + - @react-spectrum/[email protected] |
| 172 | + - @react-spectrum/[email protected] |
| 173 | + - @react-spectrum/[email protected] |
| 174 | + - @react-spectrum/[email protected] |
| 175 | + - @react-spectrum/[email protected] |
| 176 | + - @react-spectrum/[email protected] |
| 177 | + - @react-spectrum/[email protected] |
| 178 | + - @react-spectrum/[email protected] |
| 179 | + - @react-spectrum/[email protected] |
| 180 | + - @react-spectrum/[email protected] |
| 181 | + - @react-spectrum/[email protected] |
| 182 | + - @react-spectrum/[email protected] |
| 183 | + - @react-spectrum/[email protected] |
| 184 | + - @react-spectrum/[email protected] |
| 185 | + - @react-spectrum/[email protected] |
| 186 | + - @react-spectrum/[email protected] |
| 187 | + - @react-spectrum/[email protected] |
| 188 | + - @react-spectrum/[email protected] |
| 189 | + - @react-spectrum/[email protected] |
| 190 | + - @react-spectrum/[email protected] |
| 191 | + - @react-spectrum/[email protected] |
| 192 | + - @react-spectrum/[email protected] |
| 193 | + - @react-spectrum/[email protected] |
| 194 | + - @react-spectrum/[email protected] |
| 195 | + - @react-spectrum/[email protected] |
| 196 | + - @react-spectrum/[email protected] |
| 197 | + - @react-spectrum/[email protected] |
| 198 | + - @react-spectrum/[email protected] |
| 199 | + - @react-spectrum/[email protected] |
| 200 | + - @react-spectrum/[email protected] |
| 201 | + - @react-stately/[email protected] |
| 202 | + - @react-stately/[email protected] |
| 203 | + - @react-stately/[email protected] |
| 204 | + - @react-stately/[email protected] |
| 205 | + - @react-stately/[email protected] |
| 206 | + - @react-stately/[email protected] |
| 207 | + - @react-stately/[email protected] |
| 208 | + - @react-stately/[email protected] |
| 209 | + - @react-stately/[email protected] |
| 210 | + - @react-stately/[email protected] |
| 211 | + - @react-stately/[email protected] |
| 212 | + - @react-stately/[email protected] |
| 213 | + - @react-stately/[email protected] |
| 214 | + - @react-stately/[email protected] |
| 215 | + - @react-stately/[email protected] |
| 216 | + - @react-stately/[email protected] |
| 217 | + - @react-stately/[email protected] |
| 218 | + - @react-stately/[email protected] |
| 219 | + - @react-stately/[email protected] |
| 220 | + - @react-stately/[email protected] |
| 221 | + - @react-stately/[email protected] |
| 222 | + - @react-stately/[email protected] |
| 223 | + - @react-stately/[email protected] |
| 224 | + - @react-stately/[email protected] |
| 225 | + - @react-stately/[email protected] |
| 226 | + - @react-stately/[email protected] |
| 227 | + - @react-stately/[email protected] |
| 228 | + - @react-stately/[email protected] |
| 229 | + |
| 230 | + |
| 231 | + |
| 232 | + |
| 233 | + |
| 234 | + |
| 235 | + |
| 236 | + |
| 237 | + |
| 238 | + |
| 239 | + |
| 240 | + |
| 241 | + |
| 242 | + |
| 243 | + |
| 244 | + |
| 245 | + |
| 246 | + |
| 247 | + |
| 248 | + |
| 249 | + |
| 250 | + |
| 251 | + |
| 252 | + |
| 253 | + |
| 254 | + |
| 255 | + |
| 256 | + |
| 257 | + |
| 258 | + |
| 259 | + |
| 260 | + |
| 261 | + |
| 262 | + |
| 263 | + |
| 264 | + |
| 265 | + |
| 266 | + |
| 267 | + |
| 268 | + |
| 269 | + |
| 270 | + |
| 271 | + |
| 272 | + |
| 273 | + |
| 274 | + |
| 275 | + - @spectrum-icons/[email protected] |
| 276 | + - @spectrum-icons/[email protected] |
| 277 | + - @spectrum-icons/[email protected] |
| 278 | + - @spectrum-icons/[email protected] |
| 279 | + - @spectrum-icons/[email protected] |
| 280 | + - @react-spectrum/[email protected] |
| 281 | + - @react-spectrum/[email protected] |
| 282 | + - @react-spectrum/[email protected] |
| 283 | + - @react-spectrum/[email protected] |
| 284 | + - @react-spectrum/[email protected] |
| 285 | + |
| 286 | + |
| 287 | + |
| 288 | +``` |
0 commit comments