Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Oct 8, 2025

This PR contains the following updates:

Package Change Age Confidence
@headlessui/react (source) 1.7.12 -> 2.2.9 age confidence

Release Notes

tailwindlabs/headlessui (@​headlessui/react)

v2.2.9

Compare Source

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

v2.2.8

Compare Source

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

v2.2.7

Compare Source

Fixed
  • Fix incorrect double invocation of menu items, listbox options and combobox options (#​3766)
  • Fix memory leak in SSR environment (#​3767)
  • Ensure programmatic .click() on MenuButton ref works (#​3768)
  • Don't activate hovered items while using the keyboard (#​3769)

v2.2.6

Compare Source

Fixed
  • Fix immediately closing Listbox by requiring some cursor movement (#​3762)

v2.2.5

Compare Source

Fixed
  • Fix listbox closing immediately after opening on touch devices (#​3755)

v2.2.4

Compare Source

Fixed
  • Fix Combobox error (unexpected undefined) when using virtual mode (#​3734)

v2.2.3

Compare Source

Added
  • Add a quick trigger action to the Menu, Listbox and Combobox components (#​3700)
Fixed
  • Fix clicking Label component should open <Input type="file"> (#​3707)
  • Ensure clicking on interactive elements inside Label component works (#​3709)
  • Fix focus not returned to SVG Element (#​3704)
  • Fix Listbox not focusing first or last option on ArrowUp / ArrowDown (#​3721)
  • Performance improvement: only re-render top-level component when nesting components e.g.: Menu inside a Dialog (#​3722)
  • Fix closing Menu when other Menu is opened (#​3726)

v2.2.2

Compare Source

Fixed
  • Improve Menu component performance (#​3685)
  • Improve Listbox component performance (#​3688)
  • Open Menu and Listbox on mousedown (#​3689)
  • Fix Transition component from incorrectly exposing the Closing state (#​3696)
  • Improve Combobox component performance (#​3697)

v2.2.1

Compare Source

Added
  • Accept tabIndex on the Checkbox component (#​3645)
  • Accept tabIndex on the RadioGroup component (#​3646)
Fixed
  • Use correct ownerDocument when using internal Portal component (#​3594)
  • Bump @tanstack/react-virtual to fix warnings in React 19 projects (#​3588)
  • Fix aria-invalid attributes to have a valid 'true' value (#​3639)
  • Add missing invalid prop to Combobox component (#​3677)
  • Fix Unexpected undefined crash in Combobox component with virtual mode (#​3678)

v2.2.0

Compare Source

Added

v2.1.10

Compare Source

Fixed
  • Use React.JSX instead of deprecated global JSX (#​3511)
  • Fix crash in ListboxOptions when using as={Fragment} (#​3513)

v2.1.9

Compare Source

Fixed
  • Ensure Element is available before polyfilling to prevent crashes in non-browser environments (#​3493)
  • Fix crash when using instanceof HTMLElement in some environments (#​3494)
  • Cleanup process in Combobox component when using virtualization (#​3495)

v2.1.8

Compare Source

Fixed
  • Fix crash when using as={Fragment} on MenuButton, ListboxButton, DisclosureButton or Button components (#​3478)

v2.1.7

Compare Source

Fixed
  • Prevent crash in environments where Element.prototype.getAnimations is not available (#​3473)

v2.1.6

Compare Source

Fixed
  • Fix ListboxOptions being incorrectly marked as inert (#​3466)
  • Fix crash when using DisclosureButton inside of a DisclosurePanel when the Disclosure is open by default (#​3465)

v2.1.5

Compare Source

Fixed
  • Fix transition bug on Firefox, triggered by clicking the PopoverButton in rapid succession (#​3452)

v2.1.4

Compare Source

Fixed
  • Fix components not closing properly when using the transition prop (#​3448)

v2.1.3

Compare Source

Fixed
  • Ensure Transition component state doesn't change when it becomes hidden (#​3372)
  • Fix closing components using the transition prop, and after scrolling the page (#​3407)
  • Ensure all client components are marked correctly to avoid a crash with React 19 and Turbopack (#​3429)

v2.1.2

Compare Source

Fixed
  • Fix prematurely added anchoring styles on ListboxOptions (#​3337)
  • Ensure unmount on Dialog works in combination with the transition prop on DialogBackdrop and DialogPanel components (#​3352)
  • Fix crash in Combobox component when in virtual mode when options are empty (#​3356)
  • Fix hanging tests when using anchor prop (#​3357)
  • Fix transition and focus prop combination for PopoverPanel component (#​3361)
  • Fix outside click in nested portalled Popover components (#​3362)
  • Fix restoring focus to correct element when closing Dialog component (#​3365)
  • Fix flushSync warning for Combobox component with immediate prop enabled (#​3366)

v2.1.1

Compare Source

Fixed
  • Use React.JSX instead of deprecated global JSX (#​3511)
  • Fix crash in ListboxOptions when using as={Fragment} (#​3513)

v2.1.0

Compare Source

Added
Fixed
  • Keep Combobox open when clicking scrollbar in ComboboxOptions (#​3249)
  • Ensure ComboboxInput does not sync with current value while typing (#​3259)
  • Fix visual jitter in Combobox component when using native scrollbar (#​3190)
  • Improve UX by freezing ComboboxOptions while closing (#​3304)
  • Merge incoming style prop on ComboboxOptions, ListboxOptions, MenuItems, and PopoverPanel components (#​3250)
  • Prevent focus on Checkbox when it is disabled (#​3251)
  • Use useId instead of React internals (for React 19 compatibility) (#​3254)
  • Cancel outside click behavior on touch devices when scrolling (#​3266)
  • Correctly apply conditional classes when using Transition and TransitionChild components (#​3303)
Changed
  • Allow using the Tab and Shift+Tab keys when the Listbox component is open (#​3284)

v2.0.4

Compare Source

Fixed
  • [internal] Don’t set a focus fallback for Dialog’s in demo mode (#​3194)
  • Ensure page doesn't scroll down when pressing Escape to close the Dialog component (#​3218)
  • Fix crash when toggling between virtual and non-virtual mode in Combobox component (#​3236)
  • Ensure tabbing to a portalled PopoverPanel component moves focus inside (without using PortalGroup) (#​3239)
  • Only handle form reset when defaultValue is used (#​3240)
Deprecated
  • Mark SwitchGroup as deprecated, prefer Field instead (#​3232)
Changed
  • Use native fieldset instead of div by default for Fieldset component (#​3237)

v2.0.3

Compare Source

Fixed
  • Make sure disabling demo mode on Combobox works (#​3182)

v2.0.2

Compare Source

Fixed
  • Improve performance of internal useInertOthers hook (#​3181)

v2.0.1

Compare Source

Fixed
  • Remove accidental deprecation comments on DialogPanel and DialogTitle (#​3176)

v2.0.0

Compare Source

Added
Fixed
  • Fix scroll-locking on iOS (#​2891)
  • Fix cancellation of events when using disabled or aria-disabled attributes (#​2890)
  • Fix unnecessary execution of the displayValue callback in ComboboxInput component (#​3048)
  • Fix types for multiple prop in Combobox component (#​3099)
  • Fix focus handling in ComboboxInput component (#​3065, #​3073)
  • Fix enter transitions in Transition component (#​3074)
  • Fix focus handling in ListboxOptions and MenuItems components (#​3112)
  • Fix horizontal scrolling inside the Dialog component (#​2889)
  • Don’t cancel touchmove on input elements inside a dialog (#​3166)
Changed
  • Require React 18 (#​2887, #​3092, #​3131)
  • Always render hidden form input fields for Checkbox, Switch, and RadioGroup components (#​3095)
  • Deprecate the RadioGroup.Option component in favor of new Radio component (#​2887)
  • Deprecate the active prop in favor of new focus prop (#​2887)
  • Dialog is now focused by default instead of the first focusable element (#​2887)
  • Change default tags for ListboxOptions, ListboxOption, ComboboxOptions, ComboboxOption, and TabGroup components (#​3109)
  • Change default tag from div to Fragment on Transition components (#​3110, #​3147)
  • Allow Combobox component to have a null value (#​3064, #​3100)
  • Attempt form submission when pressing enter on the ListboxButton component (#​2972)
  • Deprecate the entered prop on the Transition component (#​3089)
  • Deprecate dot notation for components (#​2887, #​3170)
  • Add frozen value to ComboboxOptions component (#​3126)
  • Remove deprecated DialogBackdrop and DialogOverlay components (#​3171)

v1.7.19

Compare Source

Fixed
  • Make sure panels re-register when IDs are calculated in React < 18 (#​2883)
  • Expose disabled state on Tab component (#​2918)
  • Prevent default behavior when clicking outside of a Dialog.Panel (#​2919)
  • Add hidden attribute to internal Hidden component when the Features.Hidden feature is used (#​2955)
  • Allow setting custom tabIndex on the Switch component (#​2966)
  • Forward disabled state to hidden inputs in form-like components (#​3004)
  • Respect selectedIndex for controlled Tab components (#​3037)

v1.7.18

Compare Source

Fixed
  • Don't call Dialog's onClose twice on mobile devices (#​2690)
  • Lazily resolve default containers in Dialog (#​2697)
  • Ensure hidden Tab.Panel components are hidden from the accessibility tree (#​2708)
  • Add support for role="alertdialog" to Dialog component (#​2709)
  • Ensure blurring the Combobox.Input component closes the Combobox (#​2712)
  • Allow changes to the className prop when the Transition component is currently not transitioning (#​2722)
  • Export (internal-only) component interfaces for TypeScript compiler (#​2313)
  • Fix infinite render-loop for Disclosure.Panel and Popover.Panel when as={Fragment} (#​2760)
  • Fix VoiceOver bug for Listbox component in Chrome (#​2824)
  • Fix outside click detection when component is mounted in the Shadow DOM (#​2866)
  • Fix CJS types (#​2880)
  • Fix error when transition classes contain new lines (#​2871)
  • Improve iOS locking (7721aca)

v1.7.17

Compare Source

Fixed
  • Use correct value when resetting <Listbox multiple> and <Combobox multiple> (#​2626)
  • Render MainTreeNode in Popover.Group component only (#​2634)
  • Disable smooth scrolling when opening/closing Dialog components on iOS (#​2635)
  • Don't assume Tab components are available when setting the next index (#​2642)
  • Fix incorrectly focused Combobox.Input component on page load (#​2654)
  • Ensure appear works using the Transition component (even when used with SSR) (#​2646)
  • Improve resetting values when using the nullable prop on the Combobox component (#​2660)
  • Fix hydration of components inside Suspense (#​2663)
  • Prevent scrolling when focusing a tab (#​2674)

v1.7.16

Compare Source

Fixed
  • Ensure the caret is in a consistent position when syncing the Combobox.Input value (#​2568)
  • Improve "outside click" behavior in combination with 3rd party libraries (#​2572)
  • Ensure IME works on Android devices (#​2580)
  • Calculate aria-expanded purely based on the open/closed state (#​2610)
  • Submit form on Enter even if no submit-like button was found (#​2613)

v1.7.15

Compare Source

Added
  • [internal] add demo mode to Menu and Popover components (#​2448)
Fixed
  • Ensure FocusTrap is only active when the given enabled value is true (#​2456)
  • Stop <Transition appear> from overwriting classes on re-render (#​2457)
  • Improve control over Menu and Listbox options while searching (#​2471)
  • Consider clicks inside iframes to be "outside" (#​2485)
  • Ensure moving focus within a Portal component, does not close the Popover component (#​2492)
Changed
  • Move types condition to the front (#​2469)

v1.7.14

Compare Source

Fixed
  • Fix focus styles showing up when using the mouse (#​2347)
  • Fix "Can't perform a React state update on an unmounted component." when using the Transition component (#​2374)
  • Add FocusTrap event listeners once document has loaded (#​2389)
  • Fix className hydration for <Transition appear> (#​2390)
  • Improve Combobox types to improve false positives (#​2411)
  • Merge className correctly when it’s a function (#​2412)
  • Correctly handle IME composition in Combobox.Input (#​2426)
Added
  • Add form prop to form-like components such as RadioGroup, Switch, Listbox, and Combobox (#​2356)

v1.7.13

Compare Source

Fixed
  • Ensure Transition component completes if nothing is transitioning (#​2318)
  • Enable native label behavior for Switch where possible (#​2265)
  • Allow root containers from the Dialog component in the FocusTrap component (#​2322)
  • Fix XYZPropsWeControl and cleanup internal TypeScript types (#​2329)
  • Fix invalid warning when using multiple Popover.Button components inside a Popover.Panel (#​2333)
  • Fix restore focus to buttons in Safari, when Dialog component closes (#​2326)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested a review from a team as a code owner October 8, 2025 11:38
@renovate renovate bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Oct 8, 2025
@github-actions github-actions bot added the merge conflict Cannot merge due to merge conflicts label Oct 19, 2025
@github-actions
Copy link

This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged.

@renovate renovate bot force-pushed the renovate/headlessui-react-2.x branch from b5df141 to 2f3e955 Compare October 19, 2025 20:52
@github-actions github-actions bot removed the merge conflict Cannot merge due to merge conflicts label Oct 19, 2025
@renovate renovate bot force-pushed the renovate/headlessui-react-2.x branch from 2f3e955 to aaf60f4 Compare October 21, 2025 17:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant