Pre-release Changes
-
BREAKING CHANGE: Most existing
remix/uiusage now moves toremix/component. The component runtime, JSX runtimes, server rendering, testing helpers, styles, and general-purpose mixins are available from the renamed entrypoints:-import { createRoot, css, on } from 'remix/ui' +import { createRoot, css, on } from 'remix/component'
Apply the same rename to runtime subpaths such as
remix/ui/server,remix/ui/test, andremix/ui/dev/refresh.Applications that use the Remix JSX runtime must also update
jsxImportSource:{ "compilerOptions": { "jsx": "react-jsx", - "jsxImportSource": "remix/ui" + "jsxImportSource": "remix/component" } }Component HMR entrypoints similarly move from
remix/ui-hmrtoremix/component-hmr. Rename the asset loader tocomponentHmr():-import { uiHmr } from 'remix/ui-hmr/assets' +import { componentHmr } from 'remix/component-hmr/assets' let assetServer = createAssetServer({ scripts: { - loaders: [uiHmr()], + loaders: [componentHmr()], }, })
If the development server uses the component HMR Node hook, rename that entrypoint too:
-node --import remix/ui-hmr/node server.ts +node --import remix/component-hmr/node server.ts
The
remixpackage no longer exports UI components, primitives, or animation utilities. Headless, accessible UI primitives and animation utilities remain in@remix-run/ui. This package is currently unstable, versioned independently in the v0.x range, and not part of the Remix 3.0 release candidate. Applications using these APIs must install the package separately:npm i @remix-run/ui
Move animation imports to the standalone package:
-import { animateEntrance, spring } from 'remix/ui/animation' +import { animateEntrance, spring } from '@remix-run/ui/animation'
Move headless UI primitive imports to its flat subpaths:
-import * as accordion from 'remix/ui/accordion/primitives' +import * as accordion from '@remix-run/ui/accordion'
This applies to all remaining primitives:
accordion,anchor,combobox,listbox,menu,popover,select,tabs, andtoggle. The visually styled components and style mixins have been removed, including the previousbreadcrumbs,button,checkbox,input, andradiomodules.If the asset server restricts imports with
allowPackages, add@remix-run/uifor both the primitive and animation imports:{ "assets": { - "allowPackages": ["remix"] + "allowPackages": ["@remix-run/ui", "remix"] } } -
SQL migrations loaded through
remix/data-table/migrations/nodeorremix dbaccept prefixes of 1 to 64 digits, such as0001or20260228090000(YYYYMMDDHHmmss). All prefixes in a migration directory must contain the same number of digits to preserve numeric ordering. -
Bumped
@remix-run/*dependencies: