Skip to content

Commit 3285e6b

Browse files
docs: may release notes (#8244)
* docs: May release notes * add s2 release notes * more edits * explain typscript error s2 * more edits * edits * edits to s2 release notes * add edits * add commits * fix spelling * fix dates * edits * edits * Add versions --------- Co-authored-by: Devon Govett <devongovett@gmail.com>
1 parent 3208d42 commit 3285e6b

File tree

2 files changed

+305
-0
lines changed

2 files changed

+305
-0
lines changed

.storybook-s2/docs/Release Notes.mdx

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,42 @@ export default MDXLayout;
44

55
# Release Notes
66

7+
## v0.9.0
8+
9+
### Updates
10+
11+
* [Combobox](?path=/docs/combobox--docs): Support for virtualization and async loading
12+
* [Dialog](?path=/docs/dialog--docs): Update sizes
13+
* [Picker](?path=/docs/picker--docs): Support for virtualization and async loading
14+
* [Popover](?path=/docs/popover--docs): Add `triggerRef` prop
15+
* [TableView](?path=/docs/tableview--docs): Support custom menus in columns
16+
* Apply `position: relative` to Radio and Checkbox to prevent layout jumps
17+
18+
### UNSAFE_className Typescript Error
19+
20+
Style macros passed to `UNSAFE_className` will now result in a TypeScript error. This is not allowed because `UNSAFE_className` is appended to the component’s own styles, not merged. For example, if you pass a style macro class that sets a property but the component also has a class setting the same property, both will be applied and result in undefined behavior depending on the order the CSS was loaded on the page.
21+
22+
We strongly discourage using `UNSAFE_className` because it results in inconsistent UIs and hard to maintain code. Instead, use [React Aria Components](https://react-spectrum.adobe.com/react-aria/index.html) with the [S2 style macro](https://react-spectrum.adobe.com/s2/index.html?path=/docs/style-macro--docs) to create custom components. [Safe style properties](https://react-spectrum.adobe.com/s2/index.html?path=/docs/intro--docs#styling) can be passed to the `styles` prop of an S2 component.
23+
24+
25+
### Style macro updates
26+
27+
We have made significant changes to the way our Style Macro generates class names in an effort to make them stable between version. While we work to stabilize the style macro class names, we have added a postfix based on the version number so that class names don't conflict with any prior or future version.
28+
29+
We also made some changes to the available style macro values.
30+
31+
* Reduced the default spacing scale so it only goes up to 96px. Other values can be used via the `space()` macro
32+
* Switched to rems for media queries. Since component sizes scale with rems, breakpoints need to match.
33+
* Switch to px instead of rems for padding and absolute positioning. This avoids adding extra whitespace that causes additional text wrapping.
34+
* Used rems and touch scaling for icon sizes, and added t-shirt size prop
35+
* Added support for percentages and [viewport relative units](https://www.w3.org/TR/css-values-4/#viewport-relative-lengths) (e.g. vw)
36+
* Added support for arbitrary [aspect ratio values](https://developer.mozilla.org/en-US/docs/Web/CSS/aspect-ratio)
37+
* Added support for `calc` and other [math functions](https://www.w3.org/TR/css-values-4/#math)
38+
* Added support for [css-wide keywords](https://www.w3.org/TR/css-values-4/#common-keywords) like `inherit`
39+
* Colors no longer include default hover/press/focus states (e.g. `backgroundColor: 'accent'`). Use the `baseColor` macro instead.
40+
* The `control` value has been removed from `fontSize`, `borderRadius`, `width`, `height`, and other sizing properties. Use explicit values for each t-shirt size instead.
41+
* Fixed spelling of `disc` in `listStyleType` (was `dist`)
42+
743
## v0.8.0
844

945
### New Components
Lines changed: 269 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,269 @@
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: This release includes a range of enhancements and fixes such as improved keyboard accessibility in TagGroup and increased stability for dynamic table updates. It also brings support for React 19’s ref cleanup behavior, performance improvements for collection updates in React transitions and pressable elements, and TypeScript updates including backwards compatibility with older TypeScript and `@types/react` versions.
15+
16+
date: 2025-05-19
17+
---
18+
19+
# May 19, 2025 Release
20+
21+
This release includes a range of enhancements and fixes such as improved keyboard accessibility in TagGroup and increased stability for dynamic table updates. It also brings support for React 19’s ref cleanup behavior, performance improvements for collection updates in React transitions and pressable elements, and TypeScript updates including backwards compatibility with older TypeScript and `@types/react` versions.
22+
23+
As always, thank you to our community for their support and contributions!
24+
25+
## Enhancements
26+
27+
* Collections
28+
* Add `moveBefore` and `moveAfter` methods to `useTreeData` - [@rob-clayburn](https://github.com/rob-clayburn) - [PR](https://github.com/adobe/react-spectrum/pull/7692)
29+
* Add shouldSelectOnPressUp prop to collection components - [@YumiChen](https://github.com/YumiChen) - [PR](https://github.com/adobe/react-spectrum/pull/7922)
30+
* Popover
31+
* Add `--trigger-width` to `Popover` within `DialogTrigger` - [@reidbarber](https://github.com/reidbarber) - [PR](https://github.com/adobe/react-spectrum/pull/7869)
32+
* TagGroup
33+
* Enable tabbing to tag remove buttons - [@kirilMatsiuk](https://github.com/kirilMatsiuk) - [PR](https://github.com/adobe/react-spectrum/pull/8002), [@snowystinger](https://github.com/snowystinger) - [PR](https://github.com/adobe/react-spectrum/pull/8194)
34+
* Misc
35+
* Support React 19 ref cleanup callback - [@chirokas](https://github.com/chirokas) - [PR](https://github.com/adobe/react-spectrum/pull/7758)
36+
* Export `useRenderProps` hook from `react-aria-components` - [@sebald](https://github.com/sebald) - [PR](https://github.com/adobe/react-spectrum/pull/8013)
37+
38+
## Fixes
39+
40+
* Collections
41+
* Fix updating dynamic `Table` columns - [@snowystinger](https://github.com/snowystinger) - [PR](https://github.com/adobe/react-spectrum/pull/8211)
42+
* Improve performance of collection updates in React transitions - [@devongovett](https://github.com/devongovett) - [PR](https://github.com/adobe/react-spectrum/pull/8204)
43+
* Prevent disabled items in collections from recieving focus when clicked - [@yihuiliao](https://github.com/yihuiliao) - [PR](https://github.com/adobe/react-spectrum/pull/8246)
44+
* Date and Time
45+
* Apply `aria-details` on `Calendar` - [@Persists](https://github.com/Persists) - [PR](https://github.com/adobe/react-spectrum/pull/8042)
46+
* Fix circular dependency in @internationalized/date - [@luixo](https://github.com/luixo) - [PR](https://github.com/adobe/react-spectrum/pull/8001)
47+
* TypeScript
48+
* Fix PortalProvider's `getContainer` typings - [@alexasselin008](https://github.com/alexasselin008) - [PR](https://github.com/adobe/react-spectrum/pull/8185)
49+
* Fix optimize-locales plugin types - [@stefanprobst](https://github.com/stefanprobst) - [PR](https://github.com/adobe/react-spectrum/pull/8087)
50+
* Fix backward compatibility with old versions of `@types/react` - [@snowystinger](https://github.com/snowystinger) - [PR](https://github.com/adobe/react-spectrum/pull/8099), [PR](https://github.com/adobe/react-spectrum/pull/8256)
51+
* usePress
52+
* Improve performance of applying `touch-action` style for pressable elements - [@reidbarber](https://github.com/reidbarber) - [PR](https://github.com/adobe/react-spectrum/pull/8200)
53+
* Misc
54+
* Fix `runAfterTransition` getting stuck when elements are removed - [@MercerK](https://github.com/MercerK) - [PR](https://github.com/adobe/react-spectrum/pull/8004)
55+
* Fix document is not defined error during SSR (#7926) - [@LisaRyrholm](https://github.com/LisaRyrholm) - [PR](https://github.com/adobe/react-spectrum/pull/7927)
56+
* Export PortalProvider from `react-aria` monopackage - [@snowystinger](https://github.com/snowystinger) - [PR](https://github.com/adobe/react-spectrum/pull/8135)
57+
* Properly pass `UNSAFE_className` in ColorSlider - [@chirokas](https://github.com/chirokas) - [PR](https://github.com/adobe/react-spectrum/pull/8190)
58+
59+
## Docs
60+
61+
* Fix default `Select` placeholder in docs - [@snowystinger](https://github.com/snowystinger) - [PR](https://github.com/adobe/react-spectrum/pull/7941)
62+
* Fix typo in `enterKeyHint` prop docs - [@artola](https://github.com/artola) - [PR](https://github.com/adobe/react-spectrum/pull/8121)
63+
* Fix TypeScript error in `FileTrigger` docs - [@ktabors](https://github.com/ktabors) - [PR](https://github.com/adobe/react-spectrum/pull/8172)
64+
65+
## Released packages
66+
67+
```
68+
- @adobe/react-spectrum@3.42.0
69+
- @internationalized/date@3.8.1
70+
- @internationalized/number@3.6.2
71+
- @react-aria/actiongroup@3.7.16
72+
- @react-aria/autocomplete@3.0.0-beta.3
73+
- @react-aria/breadcrumbs@3.5.24
74+
- @react-aria/button@3.13.1
75+
- @react-aria/calendar@3.8.1
76+
- @react-aria/checkbox@3.15.5
77+
- @react-aria/collections@3.0.0-rc.1
78+
- @react-aria/color@3.0.7
79+
- @react-aria/combobox@3.12.3
80+
- @react-aria/datepicker@3.14.3
81+
- @react-aria/dialog@3.5.25
82+
- @react-aria/disclosure@3.0.5
83+
- @react-aria/dnd@3.9.3
84+
- @react-aria/focus@3.20.3
85+
- @react-aria/form@3.0.16
86+
- @react-aria/grid@3.14.0
87+
- @react-aria/gridlist@3.13.0
88+
- @react-aria/i18n@3.12.9
89+
- @react-aria/interactions@3.25.1
90+
- @react-aria/label@3.7.18
91+
- @react-aria/landmark@3.0.3
92+
- @react-aria/link@3.8.1
93+
- @react-aria/listbox@3.14.4
94+
- @react-aria/menu@3.18.3
95+
- @react-aria/meter@3.4.23
96+
- @react-aria/numberfield@3.11.14
97+
- @react-aria/overlays@3.27.1
98+
- @react-aria/progress@3.4.23
99+
- @react-aria/radio@3.11.3
100+
- @react-aria/searchfield@3.8.4
101+
- @react-aria/select@3.15.5
102+
- @react-aria/selection@3.24.1
103+
- @react-aria/separator@3.4.9
104+
- @react-aria/slider@3.7.19
105+
- @react-aria/spinbutton@3.6.15
106+
- @react-aria/steplist@3.0.0-alpha.17
107+
- @react-aria/switch@3.7.3
108+
- @react-aria/table@3.17.3
109+
- @react-aria/tabs@3.10.3
110+
- @react-aria/tag@3.6.0
111+
- @react-aria/test-utils@1.0.0-alpha.7
112+
- @react-aria/textfield@3.17.3
113+
- @react-aria/toast@3.0.3
114+
- @react-aria/toggle@3.11.3
115+
- @react-aria/toolbar@3.0.0-beta.16
116+
- @react-aria/tooltip@3.8.3
117+
- @react-aria/tree@3.0.3
118+
- @react-aria/utils@3.29.0
119+
- @react-aria/virtualizer@4.1.5
120+
- @react-aria/visually-hidden@3.8.23
121+
- @react-spectrum/accordion@3.0.6
122+
- @react-spectrum/actionbar@3.6.7
123+
- @react-spectrum/actiongroup@3.10.15
124+
- @react-spectrum/autocomplete@3.0.0-alpha.43
125+
- @react-spectrum/avatar@3.0.22
126+
- @react-spectrum/badge@3.1.23
127+
- @react-spectrum/breadcrumbs@3.9.17
128+
- @react-spectrum/button@3.16.14
129+
- @react-spectrum/buttongroup@3.6.22
130+
- @react-spectrum/calendar@3.7.1
131+
- @react-spectrum/card@3.0.0-alpha.43
132+
- @react-spectrum/checkbox@3.9.16
133+
- @react-spectrum/color@3.0.7
134+
- @react-spectrum/combobox@3.15.3
135+
- @react-spectrum/contextualhelp@3.6.21
136+
- @react-spectrum/datepicker@3.14.1
137+
- @react-spectrum/dialog@3.8.21
138+
- @react-spectrum/divider@3.5.23
139+
- @react-spectrum/dnd@3.5.5
140+
- @react-spectrum/dropzone@3.0.11
141+
- @react-spectrum/filetrigger@3.0.11
142+
- @react-spectrum/form@3.7.15
143+
- @react-spectrum/icon@3.8.5
144+
- @react-spectrum/illustratedmessage@3.5.10
145+
- @react-spectrum/image@3.5.11
146+
- @react-spectrum/inlinealert@3.2.15
147+
- @react-spectrum/label@3.16.15
148+
- @react-spectrum/labeledvalue@3.2.3
149+
- @react-spectrum/layout@3.6.15
150+
- @react-spectrum/link@3.6.17
151+
- @react-spectrum/list@3.10.1
152+
- @react-spectrum/listbox@3.15.1
153+
- @react-spectrum/menu@3.22.1
154+
- @react-spectrum/meter@3.5.10
155+
- @react-spectrum/numberfield@3.9.13
156+
- @react-spectrum/overlays@5.7.5
157+
- @react-spectrum/picker@3.15.9
158+
- @react-spectrum/progress@3.7.16
159+
- @react-spectrum/provider@3.10.5
160+
- @react-spectrum/radio@3.7.16
161+
- @react-spectrum/s2@0.9.0
162+
- @react-spectrum/searchfield@3.8.16
163+
- @react-spectrum/slider@3.7.5
164+
- @react-spectrum/statuslight@3.5.22
165+
- @react-spectrum/steplist@3.0.0-alpha.15
166+
- @react-spectrum/switch@3.6.1
167+
- @react-spectrum/table@3.17.1
168+
- @react-spectrum/tabs@3.8.20
169+
- @react-spectrum/tag@3.3.0
170+
- @react-spectrum/test-utils@1.0.0-alpha.7
171+
- @react-spectrum/text@3.5.15
172+
- @react-spectrum/textfield@3.13.3
173+
- @react-spectrum/theme-dark@3.5.18
174+
- @react-spectrum/theme-default@3.5.18
175+
- @react-spectrum/theme-express@3.0.0-alpha.20
176+
- @react-spectrum/theme-light@3.4.18
177+
- @react-spectrum/toast@3.0.3
178+
- @react-spectrum/tooltip@3.7.5
179+
- @react-spectrum/tree@3.1.1
180+
- @react-spectrum/utils@3.12.5
181+
- @react-spectrum/view@3.6.19
182+
- @react-spectrum/well@3.4.23
183+
- @react-stately/calendar@3.8.1
184+
- @react-stately/checkbox@3.6.14
185+
- @react-stately/collections@3.12.4
186+
- @react-stately/color@3.8.5
187+
- @react-stately/combobox@3.10.5
188+
- @react-stately/data@3.13.0
189+
- @react-stately/datepicker@3.14.1
190+
- @react-stately/disclosure@3.0.4
191+
- @react-stately/dnd@3.5.4
192+
- @react-stately/form@3.1.4
193+
- @react-stately/grid@3.11.2
194+
- @react-stately/layout@4.3.0
195+
- @react-stately/list@3.12.2
196+
- @react-stately/menu@3.9.4
197+
- @react-stately/numberfield@3.9.12
198+
- @react-stately/overlays@3.6.16
199+
- @react-stately/radio@3.10.13
200+
- @react-stately/searchfield@3.5.12
201+
- @react-stately/select@3.6.13
202+
- @react-stately/selection@3.20.2
203+
- @react-stately/slider@3.6.4
204+
- @react-stately/steplist@3.0.0-alpha.14
205+
- @react-stately/table@3.14.2
206+
- @react-stately/tabs@3.8.2
207+
- @react-stately/toggle@3.8.4
208+
- @react-stately/tooltip@3.5.4
209+
- @react-stately/tree@3.8.10
210+
- @react-stately/virtualizer@4.4.0
211+
- @react-types/actionbar@3.1.15
212+
- @react-types/actiongroup@3.4.17
213+
- @react-types/autocomplete@3.0.0-alpha.31
214+
- @react-types/avatar@3.0.15
215+
- @react-types/badge@3.1.17
216+
- @react-types/breadcrumbs@3.7.13
217+
- @react-types/button@3.12.1
218+
- @react-types/buttongroup@3.3.17
219+
- @react-types/calendar@3.7.1
220+
- @react-types/card@3.0.0-alpha.36
221+
- @react-types/checkbox@3.9.4
222+
- @react-types/color@3.0.5
223+
- @react-types/combobox@3.13.5
224+
- @react-types/contextualhelp@3.2.18
225+
- @react-types/datepicker@3.12.1
226+
- @react-types/dialog@3.5.18
227+
- @react-types/divider@3.3.17
228+
- @react-types/form@3.7.12
229+
- @react-types/grid@3.3.2
230+
- @react-types/illustratedmessage@3.3.17
231+
- @react-types/image@3.4.9
232+
- @react-types/label@3.9.11
233+
- @react-types/layout@3.3.23
234+
- @react-types/link@3.6.1
235+
- @react-types/list@3.2.27
236+
- @react-types/listbox@3.7.0
237+
- @react-types/menu@3.10.1
238+
- @react-types/meter@3.4.9
239+
- @react-types/numberfield@3.8.11
240+
- @react-types/overlays@3.8.15
241+
- @react-types/progress@3.5.12
242+
- @react-types/provider@3.8.9
243+
- @react-types/radio@3.8.9
244+
- @react-types/searchfield@3.6.2
245+
- @react-types/select@3.9.12
246+
- @react-types/shared@3.29.1
247+
- @react-types/slider@3.7.11
248+
- @react-types/statuslight@3.3.17
249+
- @react-types/switch@3.5.11
250+
- @react-types/table@3.13.0
251+
- @react-types/tabs@3.3.15
252+
- @react-types/text@3.3.17
253+
- @react-types/textfield@3.12.2
254+
- @react-types/tooltip@3.4.17
255+
- @react-types/view@3.4.17
256+
- @react-types/well@3.3.17
257+
- @spectrum-icons/color@3.5.22
258+
- @spectrum-icons/express@3.0.0-alpha.26
259+
- @spectrum-icons/illustrations@3.6.22
260+
- @spectrum-icons/ui@3.6.16
261+
- @spectrum-icons/workflow@4.2.21
262+
- @react-spectrum/codemods@0.6.0
263+
- @react-aria/optimize-locales-plugin@1.1.5
264+
- @react-spectrum/parcel-transformer-s2-icon@0.3.0
265+
- @react-spectrum/s2-icon-builder@0.2.4
266+
- react-aria@3.40.0
267+
- react-aria-components@1.9.0
268+
- react-stately@3.38.0
269+
```

0 commit comments

Comments
 (0)