packages/dev/docs/pages/releases/2025-07-22.mdx
{/* Copyright 2025 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */}
import {BlogPostLayout, Hero, Image} from '@react-spectrum/docs'; export default BlogPostLayout;
description: Happy summer! This release adds support for async loading and infinite scrolling, improves form integration and drag and drop interactions, and adds support for additional DOM events and attributes.
Happy summer! This release adds support for async loading and infinite scrolling, improves form integration and drag and drop interactions, and adds support for additional DOM events and attributes.
The new LoadMoreItem components supported in ListBox, GridList, Table, and Tree enables infinite scrolling. These trigger the loading of additional pages of items and display a loading spinner. Multiple LoadMoreItems can be rendered within a collection too, enabling loading multiple levels of a tree or sections of data from different APIs.
We've also opened up the React Aria Components API to pass through more DOM events and attributes. This improves integration with other libraries, for example making it possible to use another library's menu with a React Aria button.
As always, thanks so much to everyone who contributed to this release!
hiddenSelectProps to useSelect - @snowystinger - PRescapeKeyBehavior prop to React Aria TagGroup - @snowystinger - PRGroupContext in React Aria TextField - @devongovett - PRinert instead of aria-hidden in ariaHideOutside - @devongovett - PR, PR - @LFDanLu - PRcrossOrigin prop in Spectrum Image - @mofojed - PRacceptedFileTypes accepts a readonly array in FileTrigger - @lixiaoyan - PRRadioGroup keyboard navigation in FocusScope - @snowystinger - PRselectedKey={null} to clear value in HiddenSelect - @chirokas - PRHiddenSelect causing page scrolling - @devongovett - PRSelect typeahead when options include spaces - @snowystinger - PRSelect has more than 300 options - @lucasweng - PRTabList - @snowystinger - PRTab and TabPanel - @kidonng - PRpage.css.map in published npm package - @snowystinger - PRRect intersection check so that users don't need to provide Virtualizer mocks for tests - @LFDanLu - PRcreateLeafComponent ref typing - @snowystinger - PRuseHover - @qmhc - PRloadMore if hook is still in loading state - @jluyau = PRColorWheelRenderProps comment - @GuiEpi - PRCalendar example - @chirokas - PRlucide-react for React Aria example's icons - @reidbarber - PR - @adobe/[email protected]
- @internationalized/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
- @spectrum-icons/[email protected]
- @spectrum-icons/[email protected]
- @spectrum-icons/[email protected]
- @spectrum-icons/[email protected]
- @spectrum-icons/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- @react-aria/[email protected]
- @react-spectrum/[email protected]
- @react-spectrum/[email protected]
- [email protected]
- [email protected]
- [email protected]