Skip to content

Commit a819c34

Browse files
michaldudakatomiks
andauthored
[release] v1.3.0 (#4300)
Co-authored-by: atomiks <cc.glows@gmail.com>
1 parent 6cebc00 commit a819c34

File tree

6 files changed

+310
-4
lines changed

6 files changed

+310
-4
lines changed

CHANGELOG.md

Lines changed: 148 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,152 @@
11
# Versions
22

3+
## v1.3.0
4+
5+
_Mar 12, 2026_
6+
7+
### General Changes
8+
9+
- Warn when a component function is rendered directly (#4077) by @atomiks
10+
- Reset `openMethod` after close transition (#4128) by @atomiks
11+
- Fire <kbd>Space</kbd> activation on `keydown` in composite widgets (#4053) by @atomiks
12+
- Skip CSS-hidden items during keyboard navigation in composite widgets (#4195) by @atomiks
13+
- Optimize hot paths in `useHover` hooks and `safePolygon` (#4199) by @atomiks
14+
- Snap `--anchor-width` and `--anchor-height` to device pixel grid (#4082) by @flaviendelangle
15+
- Fix outside press dismissal when a component is portaled into a shadow DOM (#4230) by @dmitri-gb
16+
- Fix nested hoverable popups (#4206) by @dmitri-gb
17+
- Apply `data-base-ui-inert` to highest-level node (#3955) by @atomiks
18+
- Fix portable types (#4058) by @cgatian
19+
20+
### Accordion
21+
22+
- Add generic `Value` typing (#4138) by @atomiks
23+
24+
### Autocomplete
25+
26+
- Respect a `null` `filter` prop (#4117) by @atomiks
27+
- Add `InputGroup` part (#3745) by @atomiks
28+
29+
### Avatar
30+
31+
- Remove fallback transition logic and prevent premature image display (#4110) by @atomiks
32+
33+
### Button
34+
35+
- Avoid checking `disabled` twice in `onKeyDown` and `onKeyUp` (#4132) by @flaviendelangle
36+
37+
### Checkbox
38+
39+
- Add automatic `aria-labelledby` support (#4142) by @atomiks
40+
41+
### Combobox
42+
43+
- Avoid applying field attributes to input when it is inside popup (#4154) by @atomiks
44+
- Preserve inline input on `Enter` when nothing is highlighted (#4235) by @atomiks
45+
- Fix ARIA attributes during SSR (#4179) by @atomiks
46+
- Fix wrapping in virtualized grid arrow-key navigation (#4164) by @atomiks
47+
- Add `InputGroup` part (#3745) by @atomiks
48+
- Add support for a visually hidden close button and improve modal focus trapping (#4084) by @atomiks
49+
- Add `Label` part (#4167) by @atomiks
50+
51+
### Context Menu
52+
53+
- Ignore `mouseup` on non-Mac platforms (#3944) by @atomiks
54+
55+
### Drawer
56+
57+
- **Breaking change:** `Drawer` is no longer marked as preview<br />
58+
`Drawer` is now stable and should be imported as `{ Drawer } from '@base-ui/react/drawer'` (#4293) by @atomiks
59+
- Fix React 17 support (#4178) by @atomiks
60+
- Include border in frontmost height variable (#4202) by @atomiks
61+
- Improve touch selection (#4104) by @atomiks
62+
- Preserve cross-axis scrolling during touch gestures (#4187) by @atomiks
63+
- Prevent swipe dismissal when component is controlled (#4133) by @flaviendelangle
64+
- Add `SwipeArea` part (#4102) by @atomiks
65+
- Make `data-base-ui-swipe-ignore` explicit for touch interactions (#4295) by @atomiks
66+
- Disable inheritance for swipe CSS variables (#4099) by @atomiks
67+
68+
### Field
69+
70+
- Fix field validation when `Form` errors or `invalid` prop are present at same time (#4112) by @mj12albert
71+
72+
### Menu
73+
74+
- Prevent `pointerleave` from stealing focus from dialogs (#4125) by @atomiks
75+
- Optimize `pointer-events` for submenu hover interactions (#4231) by @atomiks
76+
- Fix `closeDelay` not being applied to `Menu.SubmenuTrigger` (#4134) by @flaviendelangle
77+
- Implement content transitions with `Viewport` (#4060) by @michaldudak
78+
79+
### Meter
80+
81+
- Fix label announcements in NVDA (#4200) by @mj12albert
82+
83+
### Navigation Menu
84+
85+
- Fix support for nested inline menus (#4198) by @atomiks
86+
- Fix close propagation in nested hover menus (#4285) by @atomiks
87+
- Close parent menus when nested link with `closeOnClick` is clicked (#4276) by @CiscoFran10
88+
- Fix duplicate `aria-orientation` (#4309) by @atomiks
89+
- Fix delayed trigger switches in Safari (#4310) by @atomiks
90+
91+
### Number Field
92+
93+
- Fix increment/decrement press `reason` values in `onValueCommitted` (#4259) by @jijiseong
94+
95+
### Popover
96+
97+
- Trap focus when `<Popover.Close>` is rendered inside and `modal` is `true`, and add support for a visually hidden close button (#4084) by @atomiks
98+
- Fix nested hoverable popups (#3798) by @flaviendelangle
99+
100+
### Preview Card
101+
102+
- Fix nested hoverable popups (#3798) by @flaviendelangle
103+
104+
### Progress
105+
106+
- Fix label announcements in NVDA (#4200) by @mj12albert
107+
108+
### Radio Group
109+
110+
- Add automatic `aria-labelledby` support (#4142) by @atomiks
111+
112+
### Scroll Area
113+
114+
- Fix focus trapping with a non-scrollable viewport (#4220) by @atomiks
115+
- Fix thumb size after remounting (#4107) by @atomiks
116+
117+
### Select
118+
119+
- Fix hidden input `id` fallback (#4135) by @atomiks
120+
- Fix `Value` placeholder not rendering with `Record` items (#4137) by @vcode-sh
121+
- Fire `onClick` during drag-to-select (#3969) by @obeattie
122+
- Fix `items` type definition for groups (#3884) by @aarongarciah
123+
- Fix `alignItemWithTrigger` fallback with browser zoom (#4292) by @atomiks
124+
- Add `Label` part (#4167) by @atomiks
125+
126+
### Slider
127+
128+
- Add `Label` part (#4167) by @atomiks
129+
- Stop committing validation on `touchend` (#4091) by @jijiseong
130+
131+
### Switch
132+
133+
- Add automatic `aria-labelledby` support (#4142) by @atomiks
134+
135+
### Tabs
136+
137+
- Re-render indicator position on tab resize (#4165) by @atomiks
138+
139+
### Toast
140+
141+
- Enable closing all toasts (#3979) by @chuganzy
142+
- Prevent duplicate `onClose` calls for ending toasts (#4280) by @chuganzy
143+
144+
### Tooltip
145+
146+
- Add `closeOnClick` prop (#4140) by @atomiks
147+
148+
All contributors of this release in alphabetical order : @aarongarciah, @atomiks, @cgatian, @chuganzy, @CiscoFran10, @dmitri-gb, @flaviendelangle, @jijiseong, @michaldudak, @mj12albert, @obeattie, @vcode-sh
149+
3150
## v1.2.0
4151

5152
_Feb 12, 2026_
@@ -937,7 +1084,7 @@ _Sep 3, 2025_
9371084
```diff
9381085
-onOpenChange: (open, event, reason) => {
9391086
+onOpenChange: (open, eventDetails) => {
940-
- if (reason === 'escape-key') {
1087+
- if (reason === 'escape-key') {
9411088
+ if (eventDetails.reason === 'escape-key') {
9421089
// ...
9431090
}
Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
# v1.3.0
2+
3+
<Subtitle>Mar 12, 2026</Subtitle>
4+
<Meta name="description" content="v1.3.0 release notes. Mar 12, 2026." />
5+
6+
## General Changes
7+
8+
- Warn when a component function is rendered directly ([#4077](https://github.com/mui/base-ui/pull/4077))
9+
- Reset `openMethod` after close transition ([#4128](https://github.com/mui/base-ui/pull/4128))
10+
- Fire <kbd>Space</kbd> activation on `keydown` in composite widgets ([#4053](https://github.com/mui/base-ui/pull/4053))
11+
- Skip CSS-hidden items during keyboard navigation in composite widgets ([#4195](https://github.com/mui/base-ui/pull/4195))
12+
- Optimize hot paths in `useHover` hooks and `safePolygon` ([#4199](https://github.com/mui/base-ui/pull/4199))
13+
- Snap `--anchor-width` and `--anchor-height` to device pixel grid ([#4082](https://github.com/mui/base-ui/pull/4082))
14+
- Fix outside press dismissal when a component is portaled into a shadow DOM ([#4230](https://github.com/mui/base-ui/pull/4230))
15+
- Fix nested hoverable popups ([#4206](https://github.com/mui/base-ui/pull/4206))
16+
- Apply `data-base-ui-inert` to highest-level node ([#3955](https://github.com/mui/base-ui/pull/3955))
17+
- Fix portable types ([#4058](https://github.com/mui/base-ui/pull/4058))
18+
19+
## Accordion
20+
21+
- Add generic `Value` typing ([#4138](https://github.com/mui/base-ui/pull/4138))
22+
23+
## Autocomplete
24+
25+
- Respect a `null` `filter` prop ([#4117](https://github.com/mui/base-ui/pull/4117))
26+
- Add `InputGroup` part ([#3745](https://github.com/mui/base-ui/pull/3745))
27+
28+
## Avatar
29+
30+
- Remove fallback transition logic and prevent premature image display ([#4110](https://github.com/mui/base-ui/pull/4110))
31+
32+
## Button
33+
34+
- Avoid checking `disabled` twice in `onKeyDown` and `onKeyUp` ([#4132](https://github.com/mui/base-ui/pull/4132))
35+
36+
## Checkbox
37+
38+
- Add automatic `aria-labelledby` support ([#4142](https://github.com/mui/base-ui/pull/4142))
39+
40+
## Combobox
41+
42+
- Avoid applying field attributes to input when it is inside popup ([#4154](https://github.com/mui/base-ui/pull/4154))
43+
- Preserve inline input on `Enter` when nothing is highlighted ([#4235](https://github.com/mui/base-ui/pull/4235))
44+
- Fix ARIA attributes during SSR ([#4179](https://github.com/mui/base-ui/pull/4179))
45+
- Fix wrapping in virtualized grid arrow-key navigation ([#4164](https://github.com/mui/base-ui/pull/4164))
46+
- Add `InputGroup` part ([#3745](https://github.com/mui/base-ui/pull/3745))
47+
- Add support for a visually hidden close button and improve modal focus trapping ([#4084](https://github.com/mui/base-ui/pull/4084))
48+
- Add `Label` part ([#4167](https://github.com/mui/base-ui/pull/4167))
49+
50+
## Context Menu
51+
52+
- Ignore `mouseup` on non-Mac platforms ([#3944](https://github.com/mui/base-ui/pull/3944))
53+
54+
## Drawer
55+
56+
- **Breaking change:** `Drawer` is no longer marked as preview<br />
57+
`Drawer` is now stable and should be imported as `{ Drawer } from '@base-ui/react/drawer'` ([#4293](https://github.com/mui/base-ui/pull/4293))
58+
- Fix React 17 support ([#4178](https://github.com/mui/base-ui/pull/4178))
59+
- Include border in frontmost height variable ([#4202](https://github.com/mui/base-ui/pull/4202))
60+
- Improve touch selection ([#4104](https://github.com/mui/base-ui/pull/4104))
61+
- Preserve cross-axis scrolling during touch gestures ([#4187](https://github.com/mui/base-ui/pull/4187))
62+
- Prevent swipe dismissal when component is controlled ([#4133](https://github.com/mui/base-ui/pull/4133))
63+
- Add `SwipeArea` part ([#4102](https://github.com/mui/base-ui/pull/4102))
64+
- Make `data-base-ui-swipe-ignore` explicit for touch interactions ([#4295](https://github.com/mui/base-ui/pull/4295))
65+
- Disable inheritance for swipe CSS variables ([#4099](https://github.com/mui/base-ui/pull/4099))
66+
67+
## Field
68+
69+
- Fix field validation when `Form` errors or `invalid` prop are present at same time ([#4112](https://github.com/mui/base-ui/pull/4112))
70+
71+
## Menu
72+
73+
- Prevent `pointerleave` from stealing focus from dialogs ([#4125](https://github.com/mui/base-ui/pull/4125))
74+
- Optimize `pointer-events` for submenu hover interactions ([#4231](https://github.com/mui/base-ui/pull/4231))
75+
- Fix `closeDelay` not being applied to `Menu.SubmenuTrigger` ([#4134](https://github.com/mui/base-ui/pull/4134))
76+
- Implement content transitions with `Viewport` ([#4060](https://github.com/mui/base-ui/pull/4060))
77+
78+
## Meter
79+
80+
- Fix label announcements in NVDA ([#4200](https://github.com/mui/base-ui/pull/4200))
81+
82+
## Navigation Menu
83+
84+
- Fix support for nested inline menus ([#4198](https://github.com/mui/base-ui/pull/4198))
85+
- Fix close propagation in nested hover menus ([#4285](https://github.com/mui/base-ui/pull/4285))
86+
- Close parent menus when nested link with `closeOnClick` is clicked ([#4276](https://github.com/mui/base-ui/pull/4276))
87+
- Fix duplicate `aria-orientation` ([#4309](https://github.com/mui/base-ui/pull/4309))
88+
- Fix delayed trigger switches in Safari ([#4310](https://github.com/mui/base-ui/pull/4310))
89+
90+
## Number Field
91+
92+
- Fix increment/decrement press `reason` values in `onValueCommitted` ([#4259](https://github.com/mui/base-ui/pull/4259))
93+
94+
## Popover
95+
96+
- Trap focus when `<Popover.Close>` is rendered inside and `modal` is `true`, and add support for a visually hidden close button ([#4084](https://github.com/mui/base-ui/pull/4084))
97+
- Fix nested hoverable popups ([#3798](https://github.com/mui/base-ui/pull/3798))
98+
99+
## Preview Card
100+
101+
- Fix nested hoverable popups ([#3798](https://github.com/mui/base-ui/pull/3798))
102+
103+
## Progress
104+
105+
- Fix label announcements in NVDA ([#4200](https://github.com/mui/base-ui/pull/4200))
106+
107+
## Radio Group
108+
109+
- Add automatic `aria-labelledby` support ([#4142](https://github.com/mui/base-ui/pull/4142))
110+
111+
## Scroll Area
112+
113+
- Fix focus trapping with a non-scrollable viewport ([#4220](https://github.com/mui/base-ui/pull/4220))
114+
- Fix thumb size after remounting ([#4107](https://github.com/mui/base-ui/pull/4107))
115+
116+
## Select
117+
118+
- Fix hidden input `id` fallback ([#4135](https://github.com/mui/base-ui/pull/4135))
119+
- Fix `Value` placeholder not rendering with `Record` items ([#4137](https://github.com/mui/base-ui/pull/4137))
120+
- Fire `onClick` during drag-to-select ([#3969](https://github.com/mui/base-ui/pull/3969))
121+
- Fix `items` type definition for groups ([#3884](https://github.com/mui/base-ui/pull/3884))
122+
- Fix `alignItemWithTrigger` fallback with browser zoom ([#4292](https://github.com/mui/base-ui/pull/4292))
123+
- Add `Label` part ([#4167](https://github.com/mui/base-ui/pull/4167))
124+
125+
## Slider
126+
127+
- Add `Label` part ([#4167](https://github.com/mui/base-ui/pull/4167))
128+
- Stop committing validation on `touchend` ([#4091](https://github.com/mui/base-ui/pull/4091))
129+
130+
## Switch
131+
132+
- Add automatic `aria-labelledby` support ([#4142](https://github.com/mui/base-ui/pull/4142))
133+
134+
## Tabs
135+
136+
- Re-render indicator position on tab resize ([#4165](https://github.com/mui/base-ui/pull/4165))
137+
138+
## Toast
139+
140+
- Enable closing all toasts ([#3979](https://github.com/mui/base-ui/pull/3979))
141+
- Prevent duplicate `onClose` calls for ending toasts ([#4280](https://github.com/mui/base-ui/pull/4280))
142+
143+
## Tooltip
144+
145+
- Add `closeOnClick` prop ([#4140](https://github.com/mui/base-ui/pull/4140))

docs/src/data/releases.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,20 @@ export interface Release {
99
export const releases: Release[] = [
1010
{
1111
latest: true,
12+
version: 'v1.3.0',
13+
versionSlug: 'v1-3-0',
14+
date: '2026-03-12',
15+
highlights: [
16+
'`Drawer` is now stable.',
17+
'`Menu` now supports content transitions with `Viewport`.',
18+
'New `Label` parts for `Select`, `Combobox`, and `Slider`.',
19+
'New `SwipeArea` part for `Drawer`.',
20+
'New `InputGroup` parts for `Combobox` and `Autocomplete`.',
21+
'New `closeOnClick` prop for `Tooltip`.',
22+
'Many accessibility, performance, and bug fixes.',
23+
],
24+
},
25+
{
1226
version: 'v1.2.0',
1327
versionSlug: 'v1-2-0',
1428
date: '2026-02-12',

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@base-ui/monorepo",
3-
"version": "1.2.0",
3+
"version": "1.3.0",
44
"private": true,
55
"scripts": {
66
"preinstall": "npx only-allow pnpm",

packages/react/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@base-ui/react",
3-
"version": "1.2.0",
3+
"version": "1.3.0",
44
"author": "MUI Team",
55
"description": "Base UI is a library of headless ('unstyled') React components and low-level hooks. You gain complete control over your app's CSS and accessibility features.",
66
"keywords": [

packages/utils/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@base-ui/utils",
3-
"version": "0.2.5",
3+
"version": "0.2.6",
44
"description": "A collection of React utility functions for Base UI.",
55
"repository": {
66
"type": "git",

0 commit comments

Comments
 (0)