NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm
A set of completely unstyled, fully accessible UI components for Vue 3, designed to integrate beautifully with Tailwind CSS.
Last release 6 months ago
13 Apr 2026
Release timing varies
gaps range from 8 days to 4 months
Nearly every release is documented
notes for 47 of 49 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
761 releases · first in 2020
One column per quarter.
Nothing published for this version
Don’t cancel touchmove on input elements inside a dialog
Expose disabled state on Tab component
disabled state on Tab component (#2918)DialogPanel (#2919)disabled prop for components inside MenuItem (#2929)hidden attribute to internal Hidden component when the Features.Hidden feature is used (#2955)tabIndex on the Switch component (#2966)disabled state to hidden inputs in form-like components (#3004)selectedIndex for controlled Tab components (#3037)Fix Combobox activeOption render prop
activeOption render prop (#2973)Allow users customize ID generation
Don't call Dialog's onClose twice on mobile devices
Dialog's onClose twice on mobile devices (#2690)TabPanel components are hidden from the accessibility tree (#2708)role="alertdialog" to Dialog component (#2709)ComboboxInput component closes the Combobox (#2712)button to be in nested components in PopoverButton (#2715)data-headlessui-state attribute when as="template" (#2787)Listbox component in Chrome (#2824)Fix form elements for uncontrolled and
<Listbox multiple> and <Combobox multiple> (#2626)<Listbox multiple> and <Combobox multiple> (#2626)MainTreeNode in PopoverGroup component only (#2634)Dialog components on iOS (#2635)Tab components are available when setting the next index (#2642)Disclosure component (#2645)ComboboxInput component on page load (#2654)nullable prop on the Combobox component (#2660)Ensure the caret is in a consistent position when syncing the Combobox.Input value
Combobox.Input value (#2568)Combobox component (#2574)aria-expanded purely based on the open/closed state (#2610)Enter even if no submit-like button was found (#2613)Fix memory leak in Popover component
Popover component (#2430)FocusTrap is only active when the given enabled value is true (#2456)activeIndex is up to date for the Combobox component (#2463)Menu and Listbox options while searching (#2471)Portal component, does not close the Popover component (#2492)types condition to the front (#2469)Fix focus styles showing up when using the mouse
ComboboxInput when its Combobox is disabled (#2375)FocusTrap event listeners once document has loaded (#2389)Dialog when wrapping transition isn't showing (#2422)ref is properly handled in the RadioGroup component (#2424)Combobox.Input (#2426)form prop to form-like components such as RadioGroup, Switch, Listbox, and Combobox (#2356)Enable native label behavior for Switch where possible
Switch where possible (#2265)Dialog component in the FocusTrap component (#2322)Dialog component closes (#2326)FocusTrap component only apply when mounted (#2331)Ensure the main tree and parent Dialog components are marked as inert
Don’t fire afterLeave event more than once for a given transition
afterLeave event more than once for a given transition (#2267)aria-multiselectable to [role=listbox] in the Combobox component (#2271)Combobox.Input when a Combobox.Option is selected (#2272)activeOptionIndex if the active option is unmounted (#2274)Dialog component when going into the Closing state (#2264)Don't break overflow when multiple dialogs are open at the same time
Ensure disabled="false" is not incorrectly passed to the underlying DOM Node
disabled="false" is not incorrectly passed to the underlying DOM Node (#2138)Tab (after DOM order changes) (#2145)Tab key with non focusable elements in Popover.Panel (#2147)Combobox accessibility (#2153)headlessuiFocusGuard of relatedTarget in the FocusTrap component (#2203)FocusTrap in Dialog when there is only 1 focusable element (#2172)Tabs wrapping around when controlling the component and overflowing the selectedIndex (#2213)shadow-root bug closing Dialog containers (#2217)tabIndex on the Tab.Panel (#2214)Improve scroll restoration after Dialog closes
Dialog closes (b20e48dd)Fix regression where displayValue crashes
Reset form-like components when the parent form resets
form resets (#2004)focus is going to window (#2019)shift+home and shift+end works as expected in the ComboboxInput component (#2024)ComboboxInput value (#2042)multiple mode without value prop (uncontrolled) for Listbox and Combobox components (#2058)id prop (#2060)null as a valid type for Listbox and Combobox in Vue (#2064, #2067)Expose close function for Menu and MenuItem components
Call displayValue with a v-model of ref(undefined) on ComboboxInput
Prevent option selection in ComboboxInput while composing
Ensure Tab order stays consistent, and the currently active Tab stays active
Add by prop for Listbox, Combobox and RadioGroup (#1482, #1717, #1814, #1815)
by prop for Listbox, Combobox and RadioGroup (#1482, #1717, #1814, #1815)@headlessui/tailwindcss plugin (#1487)Menu component when using tab key (#1673)Tabs don't change automagically (#1680)Dialog (#1716)element.focus() on PopoverPanel (#1719)Combobox re-opening keyboard issue on mobile (#1732)tab in the Combobox component (#1750)MenuButton if necessary when activating a MenuOption (#1782)ListboxOption and ComboboxOption components (#1812)value from the Combobox and Listbox components slot (#1822)scroll lock on iOS (#1824)Prevent cancelling transitions due to focus trap
Ensure CMD+Backspace works in nullable mode for Combobox component
Support slot children when using as="template"
slot children when using as="template" (#1548)Dialog component (#1546)iframe elements (#1552)Dialog on the client (#1566)Tab component when using arrow keys (#1584)aria-expanded for ComboboxInput component (#1605)Ensure Escape propagates correctly in Combobox component
Allow to override the type on the ComboboxInput
Ensure DialogPanel exposes its ref
DialogPanel exposes its ref (#1404)Escape when event got prevented in Dialog component (#1424)FocusTrap behaviour (#1432)Popover Tab logic by using sentinel nodes instead of keydown event interception (#1440)PopoverPanel is clickable without closing the Popover (#1443)Dialog component (#1457)Manually passthrough attrs for Combobox, Listbox and TabsGroup component
Make sure that the input syncs when the combobox closes
Combobox initially (#1148)Dialog usage in Tab component (#1149)PopoverPanel components (#1153)hover scroll issue in Listbox, Combobox and Menu components (#1161)Listbox, Combobox and Menu actions (#1168)ComboboxInput when the value gets reset (#1181)item/option index on Listbox, Combobox and Menu components (#1184)Dialog cycling (#553)Tab on mouseup (#1192)focus() from Listbox.Option (#1218)ownerDocument instead of document (#1158)el from each component (#1230)Tab and Dialog components (#1231)ComboboxInput value (#1248)PopoverButton (#1263)Dialog component (#1268)Tab (#1272)initialFocusRef correctly (#1276)Combobox (#1279, #1281)RadioGroup, Switch and Combobox components (#1285)nullable prop for Vue (2b109548b1a94a30858cf58c8f525554a1c12cbb)open prop over OpenClosed state (#1360)Ensure correct order when conditionally rendering MenuItem, ListboxOption and RadioGroupOption
MenuItem, ListboxOption and RadioGroupOption (#1045)esbuild and TypeScript 4! (#1055)Fix missing key binding in examples (#1036, #1006)
Stop the event from propagating in the Popover component
Only add type=button to real buttons
Add new Tabs component (#674, #698)
Ensure that you can use TransitionChild when using implicit Transitions
Introduce Open/Closed state, to simplify component communication
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Improve search, make searching case insensitive
Fix incorrect DOM node from ref
SwitchDescription component, which adds the aria-describedby to the actual Switch (#220)Disclosure, DisclosureButton, DisclosurePanel components (#282)Dialog, DialogOverlay, DialogTitle and DialogDescription components (#282)Portal and PortalGroup components (#282)FocusTrap component (#282)Popover, PopoverButton, PopoverOverlay, PopoverPanel and PopoverGroup components (#282)RadioGroup, RadioGroupOption, RadioGroupLabel and RadioGroupDescription components (#282)TransitionRoot and TransitionChild components (#326)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix broken behaviour since Vue 3.0.5
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →