Dice UI
Changelog

February 2026 - Unified Radix UI and Multi-Base Architecture

Migrated to the unified radix-ui package, introduced multi-base component architecture, and optimized utility components.

We've shipped several major improvements to DiceUI's component infrastructure and documentation.

Unified Radix UI Package

All components have been migrated from individual @radix-ui/react-* packages to the unified radix-ui package. This follows Radix UI's official consolidation effort and simplifies dependency management.

- import * as SelectPrimitive from "@radix-ui/react-select"
+ import { Select } from "radix-ui"

Optimized Utility Components

The ClientOnly and Portal components have been rewritten using useSyncExternalStore for better performance and proper SSR/hydration handling.

Benefits:

  • No useState + useLayoutEffect pattern needed
  • Proper SSR/Hydration with explicit server vs client snapshots
  • No hydration mismatches

On this page