github remix-run/remix remix@3.0.0
remix v3.0.0

latest releases: ui@0.12.1, test@1.0.0, terminal@1.0.0...
2 hours ago

Major Changes

  • BREAKING CHANGE: Most existing remix/ui usage now moves to remix/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, and remix/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-hmr to remix/component-hmr. Rename the asset loader to componentHmr():

    -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 remix package 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, and toggle. The visually styled components and style mixins have been removed, including the previous breadcrumbs, button, checkbox, input, and radio modules.

    If the asset server restricts imports with allowPackages, add @remix-run/ui for both the primitive and animation imports:

     {
       "assets": {
    -    "allowPackages": ["remix"]
    +    "allowPackages": ["@remix-run/ui", "remix"]
       }
     }
  • First stable release of Remix 3.

Patch Changes

Don't miss a new remix release

NewReleases is sending notifications on new releases.