Skip to contents

v1.5.0

May 19, 2026

View as Markdown

General changes

  • Improve mount performance with interaction splitting, including closed popup mount performance by up to 50% and unmounting performance by up to 85% (#4661) by @atomiks
  • Use local document for virtual arrow (#4662)
  • Fix macOS Safari and Firefox minimizing fullscreen when closing popups with Esc (#4695)
  • Drop unnecessary memoization (#4693)
  • Do not use Math.random() in useStableCallback() (#4732)
  • Fix return focus when reference disconnects (#4655)
  • Don’t steal initial focus if focus already moved inside a popup (#4775)

Alert Dialog

  • Fix handle defaults (#4834)

Autocomplete

  • Fix native FormData for popup inputs (#4725)

Checkbox

  • Submit the associated form when pressing Enter (#4713)

Combobox

  • Expose clear visibility state (#4664)
  • Fix popup input form submit (#4687)
  • Preserve closeQuery when closing multiple input-inside-popup combobox (#4715)
  • Fix RTL component behavior (#4840)
  • Ignore hidden-input changes while readonly or disabled (#4810)

Dialog

  • Consider the controlled open prop for open state detection (#4712)

Drawer

  • Forward style prop in <Drawer.Viewport> (#4841)

Field

  • Avoid flushSync during validation (#4685)

Form

  • Avoid flushSync during validation (#4685)
  • Fix submenu pointer-events scope for keepMounted portals (#4723)
  • Support <Menu.GroupLabel> in <Menu.RadioGroup> (#4826)
  • Consider the controlled open prop for open state detection (#4712)
  • Fix RTL component behavior (#4840)
  • Fix keepMounted content sizing (#4817)

Number Field

  • Allow Persian digits in keyboard input (#4719)
  • Sync pasted input during step interactions (#4824)

OTP Field

  • Breaking change: Rename sanitizeValue() to normalizeValue() and allow composing with validation (#4717)
  • Avoid flushSync during validation (#4685)
  • Support Ctrl and Cmd shortcuts (#4606)
  • Fire onValueComplete() for full paste (#4690)
  • Fix vertical arrow slot navigation (#4844)
  • Ignore hidden input changes while readonly or disabled (#4806)
  • Prevent locked hidden autofill validation (#4827)
  • Fix RTL arrow navigation (#4847)

Popover

  • Fix RTL component behavior (#4840)
  • Preserve active trigger on close press (#4741)
  • Consider the controlled open prop for open state detection (#4712)

Preview Card

  • Consider the controlled open prop for open state detection (#4712)
  • Integrate inline positioning (#2074)

Scroll Area

  • Fix RTL component behavior (#4840)

Select

  • Clear stale item text ref (#4683)
  • Add data-popup-side to trigger (#4671)
  • Allow mouse selection without highlight (#4699)
  • Ignore hidden-input changes while readonly or disabled (#4810)
  • Fix nested Select requiring extra outside clicks to dismiss parent (#4820)

Tabs

  • Fire onValueChange() for automatic tab selection (#4704)

Toast

  • Re-use getElementTransform() and remove local implementation (#4749)
  • Fix stuck drag state on release (#4742)
  • Remove memoized selector (#4751)

Tooltip

  • Consider the controlled open prop for open state detection (#4712)
  • Fix flickering when nesting tooltip inside another tooltip’s trigger (#4501)