# What changed in radix-ui

> 39 changes in radix-ui 1 from its official release notes, upgrade guides and advisories: 4 breaking, 11 new APIs and options. Each one cited. Sources checked 2026-10-20. HTML: https://unstale.sh/npm/radix-ui/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## radix-ui 1

### Breaking changes

- Renamed to unstable_CollectionDict; unstable collection APIs are undocumented and may change without a major version bump. (1.8.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#180)
- Renamed to unstable_CollectionSlotProps; unstable collection APIs are undocumented and may change without a major version bump. (1.8.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#180)
- The viewport now renders active content inside the consumer's element alongside its existing children instead of discarding them. (1.7.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#170)
- The trigger now moves focus before the tab state changes, so a focused element inside `Tabs.Content` fires a blur event before the tab switches. (1.7.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#170)

### New APIs and options

- The align prop can now be overridden on ContextMenu.Content. (1.8.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#180)
- The side prop can now be overridden on ContextMenu.Content. (1.8.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#180)
- The sideOffset prop can now be overridden on ContextMenu.Content. (1.8.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#180)
- Added to the functions returned from unstable_createCollection. (1.8.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#180)
- Choose automatic activation on hover or focus, or manual activation on click. (1.7.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#170)
- Controls whether clicking an already-open submenu trigger keeps it open or toggles it closed; the default preserves existing behavior. (1.7.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#170)
- Provides an accessible description for popover content. (1.7.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#170)
- Provides an accessible name for popover content. (1.7.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#170)
- Lets consumers own the wrapper element previously rendered implicitly by `ScrollArea.Viewport`. (1.7.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#170)
- Disable the viewport's implicit content element so consumers can render `ScrollArea.Content` themselves. (1.7.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#170)
- Prevents thumbs from crossing by constraining each thumb to its neighbors' values instead of swapping positions when dragged past them. (1.7.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#170)

### Behavior and default changes

- The content element gets a data-state attribute when using NavigationMenu.Viewport, for consistency. (1.8.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#180)
- Choose automatic or manual activation; when omitted, the submenu inherits the root setting and can opt back into automatic activation. (1.7.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#170)

### Fixes and other changes

- Fixed a type regression so callback props declared as methods accept handlers whose parameter is narrower than the prop's. (1.8.1) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#181)
- All optional types now allow explicit undefined for compatibility with TypeScript's exactOptionalPropertyTypes flag. (1.8.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#180)
- FocusScope no longer throws a TypeError in test environments after teardown. (1.8.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#180)
- User-driven changes in form-nested controls are no longer incorrectly treated as programmatic, which could prevent bubbled event handlers from being called. (1.8.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#180)
- aria-controls is no longer set on Popover.Trigger while the popover is closed. (1.8.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#180)
- Content alignment is corrected when all Select items are disabled. (1.8.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#180)
- Programmatic value updates inside a form no longer dispatch a click event from the hidden bubble select that propagates to ancestor onClick handlers. (1.8.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#180)
- Programmatic value updates inside a form no longer dispatch an input event that propagates to ancestor onInput handlers. (1.8.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#180)
- Slot no longer throws when an asChild child is a lazy reference whose resolved value is itself a lazy reference. (1.8.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#180)
- A bug caused by incorrect tree-shaking in SWC-minified code is fixed. (1.8.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#180)
- Toast.Viewport no longer forces a still-hydrating Suspense boundary to client-render. (1.8.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#180)
- Tबbing away from a focusable tooltip trigger in a modal popover moves focus to the next element in the popover instead of its root. (1.8.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#180)
- The collection context providers it returns now have corrected display names. (1.8.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#180)
- Collections no longer keep a stale item order when React moves items in the DOM without remounting them. (1.8.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#180)
- Timing bugs in useCallbackRef are fixed. (1.8.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#180)
- Id strings from a component and its child are merged, normalized, and deduplicated instead of one replacing the other. (1.7.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#170)
- Nested, portalled layers inside a modal Dialog no longer have interactions broken by the modal layer's focus trap and scroll restrictions. (1.7.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#170)
- A submenu's default value is no longer reset when an external element receives focus before the menu opens. (1.7.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#170)
- Compatibility issues with React Server Components were fixed. (1.7.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#170)
- The `asChild` prop now merges props onto the consumer's element rather than the implicit content element. (1.7.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#170)
- Internal event handlers are no longer called on disabled items. (1.7.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#170)
- A paused toast now auto-closes after its duration changes while the timer is paused. (1.7.0) — [release notes](https://github.com/radix-ui/primitives/blob/06d51305466a87e0917599c4e1be9ec30f96d049/packages/react/radix-ui/CHANGELOG.md#170)
