---
name: Headless UI
slug: headless-ui
type: github
source_url: https://github.com/tailwindlabs/headlessui
changelog_url: https://github.com/tailwindlabs/headlessui/blob/HEAD/CHANGELOG.md
organization: Tailwind CSS
organization_slug: tailwind-css
total_releases: 130
latest_version: @headlessui/react@v2.2.10
latest_date: 2026-04-07
last_updated: 2026-04-18
tracking_since: 2020-09-24
canonical: https://releases.sh/tailwind-css/headless-ui
organization_url: https://releases.sh/tailwind-css
---

<Release version="@headlessui/react@v2.2.10" date="April 7, 2026" published="2026-04-07T17:11:30.000Z" url="https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.10">
### Fixed

- Don’t render `<Portal>` while hydrating ([#3825](https://github.com/tailwindlabs/headlessui/pull/3825))
- Fix passing props on `Fragment` error due to `Symbol(react.lazy)` ([#3873](https://github.com/tailwindlabs/headlessui/pull/3873))

</Release>

<Release version="@headlessui/react@v2.2.9" date="September 25, 2025" published="2025-09-25T13:51:49.000Z" url="https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.9">
### Fixed

- Improve focus management in shadow DOM roots ([#3794](https://github.com/tailwindlabs/headlessui/pull/3794))
- Don't accidentally open the `Combobox` when touching the `ComboboxButton` while dragging on mobile ([#3795](https://github.com/tailwindlabs/headlessui/pull/3795))
- Ensure sibling `Dialog` components are scrollable on mobile ([#3796](https://github.com/tailwindlabs/headlessui/pull/3796))
- Infer `Combobox` type based on `onChange` handler ([#3798](https://github.com/tailwindlabs/headlessui/pull/3798))
- Allow home/end key default behavior inside `ComboboxInput` when `Combobox` is closed ([#3798](https://github.com/tailwindlabs/headlessui/pull/3798))
- Ensure interacting with a `Dialog` on iOS works after interacting with a disallowed area ([#3801](https://github.com/tailwindlabs/headlessui/pull/3801))
- Freeze Listbox values as soon as a value is selected ([#3802](https://github.com/tailwindlabs/headlessui/pull/3802))
- Ensure refs are forwarded when freezing data ([#3390](https://github.com/tailwindlabs/headlessui/pull/3390))
- Do not serialize React components into form fields ([49e9e8e](https://github.com/tailwindlabs/headlessui/commit/49e9e8e54d71b50971af7bc064a62827190e8b36))

</Release>

<Release version="@headlessui/react@v2.2.8" date="September 12, 2025" published="2025-09-12T15:34:21.000Z" url="https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.8">
### Fixed

- Ensure we are not freezing data when the `static` prop is used ([#3779](https://github.com/tailwindlabs/headlessui/pull/3779))
- Ensure `onChange` types are contravariant instead of bivariant ([#3781](https://github.com/tailwindlabs/headlessui/pull/3781))
- Support `<summary>` as a focusable element inside `<details>` ([#3389](https://github.com/tailwindlabs/headlessui/pull/3389))
- Fix `Maximum update depth exceeded` crash when using `transition` prop ([#3782](https://github.com/tailwindlabs/headlessui/pull/3782))
- Ensure pressing `Tab` in the `ComboboxInput`, correctly syncs the input value ([#3785](https://github.com/tailwindlabs/headlessui/pull/3785))
- Ensure `--button-width` and `--input-width` have the latest value ([#3786](https://github.com/tailwindlabs/headlessui/pull/3786))
- Fix 'Invalid prop `data-headlessui-state` supplied to `React.Fragment`' warning ([#3788](https://github.com/tailwindlabs/headlessui/pull/3788))
- Ensure `element` in `ref` callback is always connected when rendering in a `Portal` ([#3789](https://github.com/tailwindlabs/headlessui/pull/3789))
- Ensure form state is up to date when using uncontrolled components ([#3790](https://github.com/tailwindlabs/headlessui/pull/3790))
- Ensure `data-open` on `ComboboxInput` is up to date ([#3791](https://github.com/tailwindlabs/headlessui/pull/3791))
- Ensure changing the `immediate` prop value on the `Combobox` component works as expected ([#3792](https://github.com/tailwindlabs/headlessui/pull/3792))

</Release>

<Release version="@headlessui/react@v2.2.7" date="July 30, 2025" published="2025-07-30T14:04:23.000Z" url="https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.7">
### Fixed

- Fix incorrect double invocation of menu items, listbox options and combobox options ([#3766](https://github.com/tailwindlabs/headlessui/pull/3766))
- Fix memory leak in SSR environment ([#3767](https://github.com/tailwindlabs/headlessui/pull/3767))
- Ensure programmatic `.click()` on `MenuButton` ref works ([#3768](https://github.com/tailwindlabs/headlessui/pull/3768))
- Don't activate hovered items while using the keyboard ([#3769](https://github.com/tailwindlabs/headlessui/pull/3769))

</Release>

<Release version="@headlessui/react@v2.2.6" date="July 24, 2025" published="2025-07-24T14:50:04.000Z" url="https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.6">
### Fixed

- Fix immediately closing Listbox by requiring some cursor movement ([#3762](https://github.com/tailwindlabs/headlessui/pull/3762))

</Release>

<Release version="@headlessui/react@v2.2.5" date="July 23, 2025" published="2025-07-23T11:23:56.000Z" url="https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.5">
### Fixed

- Fix listbox closing immediately after opening on touch devices ([#3755](https://github.com/tailwindlabs/headlessui/pull/3755))

</Release>

<Release version="@headlessui/react@v2.2.4" date="May 20, 2025" published="2025-05-20T14:17:25.000Z" url="https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.4">
### Fixed

- Fix `Combobox` error (unexpected undefined) when using virtual mode ([#3734](https://github.com/tailwindlabs/headlessui/pull/3734))

</Release>

<Release version="@headlessui/react@v2.2.3" date="May 12, 2025" published="2025-05-12T21:49:39.000Z" url="https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.3">
### Added

- Add a quick trigger action to the `Menu`, `Listbox` and `Combobox` components ([#3700](https://github.com/tailwindlabs/headlessui/pull/3700))

### Fixed

- Fix clicking `Label` component should open `<Input type="file">` ([#3707](https://github.com/tailwindlabs/headlessui/pull/3707))
- Ensure clicking on interactive elements inside `Label` component works ([#3709](https://github.com/tailwindlabs/headlessui/pull/3709))
- Fix focus not returned to SVG Element ([#3704](https://github.com/tailwindlabs/headlessui/pull/3704))
- Fix `Listbox` not focusing first or last option on ArrowUp / ArrowDown ([#3721](https://github.com/tailwindlabs/headlessui/pull/3721))
- Performance improvement: only re-render top-level component when nesting components e.g.: `Menu` inside a `Dialog` ([#3722](https://github.com/tailwindlabs/headlessui/pull/3722))
- Fix closing `Menu` when other `Menu` is opened ([#3726](https://github.com/tailwindlabs/headlessui/pull/3726))

</Release>

<Release version="@headlessui/react@v2.2.2" date="April 17, 2025" published="2025-04-17T13:18:58.000Z" url="https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.2">
### Fixed

- Improve `Menu` component performance ([#3685](https://github.com/tailwindlabs/headlessui/pull/3685))
- Improve `Listbox` component performance ([#3688](https://github.com/tailwindlabs/headlessui/pull/3688))
- Improve `Combobox` component performance ([#3697](https://github.com/tailwindlabs/headlessui/pull/3697))
- Open `Menu` and `Listbox` on `mousedown` ([#3689](https://github.com/tailwindlabs/headlessui/pull/3689))
- Fix `Transition` component from incorrectly exposing the `Closing` state ([#3696](https://github.com/tailwindlabs/headlessui/pull/3696))

</Release>

<Release version="@headlessui/react@v2.2.1" date="April 4, 2025" published="2025-04-04T14:48:26.000Z" url="https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.1">
### Added

- Accept `tabIndex` on the `Checkbox` component ([#3645](https://github.com/tailwindlabs/headlessui/pull/3645))
- Accept `tabIndex` on the `RadioGroup` component ([#3646](https://github.com/tailwindlabs/headlessui/pull/3646))

### Fixed

- Use correct `ownerDocument` when using internal `Portal` component ([#3594](https://github.com/tailwindlabs/headlessui/pull/3594))
- Bump `@tanstack/react-virtual` to fix warnings in React 19 projects ([#3588](https://github.com/tailwindlabs/headlessui/pull/3588))
- Fix `aria-invalid` attributes to have a valid `'true'` value ([#3639](https://github.com/tailwindlabs/headlessui/pull/3639))
- Add missing `invalid` prop to `Combobox` component ([#3677](https://github.com/tailwindlabs/headlessui/pull/3677))
- Fix `Unexpected undefined` crash in `Combobox` component with `virtual` mode ([#3678](https://github.com/tailwindlabs/headlessui/pull/3678))

</Release>

<Release version="@headlessui/tailwindcss@v0.2.2" date="February 6, 2025" published="2025-02-06T13:22:42.000Z" url="https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/tailwindcss%40v0.2.2">
- Support installing with Tailwind CSS v4 ([#3634](https://github.com/tailwindlabs/headlessui/pull/3634))

</Release>

<Release version="@headlessui/react@v2.2.0" date="October 25, 2024" published="2024-10-25T13:52:27.000Z" url="https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.2.0">
### Added

- Add React 19 support ([#3543](https://github.com/tailwindlabs/headlessui/pull/3543))

</Release>

<Release version="@headlessui/react@v2.1.10" date="October 10, 2024" published="2024-10-10T18:58:56.000Z" url="https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.1.10">
### Fixed

- Use `React.JSX` instead of deprecated global `JSX` ([#3511](https://github.com/tailwindlabs/headlessui/pull/3511))
- Fix crash in `ListboxOptions` when using `as={Fragment}` ([#3513](https://github.com/tailwindlabs/headlessui/pull/3513))

</Release>

<Release version="@headlessui/react@v2.1.9" date="October 3, 2024" published="2024-10-03T09:58:43.000Z" url="https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.1.9">
### Fixed

- Ensure `Element` is available before polyfilling to prevent crashes in non-browser environments ([#3493](https://github.com/tailwindlabs/headlessui/pull/3493))
- Fix crash when using `instanceof HTMLElement` in some environments ([#3494](https://github.com/tailwindlabs/headlessui/pull/3494))
- Cleanup `process` in Combobox component when using virtualization ([#3495](https://github.com/tailwindlabs/headlessui/pull/3495))

</Release>

<Release version="@headlessui/react@v2.1.8" date="September 12, 2024" published="2024-09-12T10:36:03.000Z" url="https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.1.8">
### Fixed

- Fix crash when using `as={Fragment}` on `MenuButton`, `ListboxButton`, `DisclosureButton` or `Button` components ([#3478](https://github.com/tailwindlabs/headlessui/pull/3478))

</Release>

<Release version="@headlessui/react@v2.1.7" date="September 11, 2024" published="2024-09-11T15:33:57.000Z" url="https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.1.7">
### Fixed

- Prevent crash in environments where `Element.prototype.getAnimations` is not available ([#3473](https://github.com/tailwindlabs/headlessui/pull/3473))

</Release>

<Release version="@headlessui/react@v2.1.6" date="September 9, 2024" published="2024-09-09T19:15:42.000Z" url="https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.1.6">
### Fixed

- Fix `ListboxOptions` being incorrectly marked as `inert` ([#3466](https://github.com/tailwindlabs/headlessui/pull/3466))
- Fix crash when using `DisclosureButton` inside of a `DisclosurePanel` when the `Disclosure` is open by default ([#3465](https://github.com/tailwindlabs/headlessui/pull/3465))

</Release>

<Release version="@headlessui/vue@v1.7.23" date="September 9, 2024" published="2024-09-09T09:07:12.000Z" url="https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/vue%40v1.7.23">
### Fixed

- use native `useId` from Vue.js 3.5 when available ([#3458](https://github.com/tailwindlabs/headlessui/pull/3458))

</Release>

<Release version="@headlessui/react@v2.1.5" date="September 4, 2024" published="2024-09-04T14:37:47.000Z" url="https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.1.5">
### Fixed

- Fix transition bug on Firefox, triggered by clicking the `PopoverButton` in rapid succession ([#3452](https://github.com/tailwindlabs/headlessui/pull/3452))

</Release>

<Release version="@headlessui/react@v2.1.4" date="September 3, 2024" published="2024-09-03T15:26:48.000Z" url="https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui/react%40v2.1.4">
### Fixed

- Fix components not closing properly when using the `transition` prop ([#3448](https://github.com/tailwindlabs/headlessui/pull/3448))

</Release>

<Pagination page="1" total-pages="7" total-items="130" next="https://releases.sh/tailwind-css/headless-ui.md?page=2" />
