@remix-run/ui
0.13.0 · 23 Oct 2026MIT19.4k / weekRepositoryHomepagenpmAtom feed
Upgrading @remix-run/ui from 0.9.0 to 0.13.0
5 releases in betweenevery note read
- 6
- changes to make
- 0
- advisories fixed
- 3
- new
- 12
- fixes
Before you upgrade
Tick each one off as you go- breaking0.13.0
- breaking0.13.0
- breaking0.12.0
- breaking0.10.0
- breaking0.10.0
- breaking0.10.0
Release by release
- new
Check the user's current motion preference with
prefersReducedMotion()from@remix-run/ui/animation. It returnsfalseduring server rendering or whenmatchMediais unavailable, so it can be called safely from component render functions as well as browser event handlers. - fixed
Server rendering skips setup and render for animation mixins, keyboard and outside-click helpers, typeahead behavior, and popover anchor and focus helpers. Mixins that provide initial attributes, styles, or ARIA props still run on the server.
- fixed
Bumped
@remix-run/*dependencies:
- new
0.12.0 – 0.12.12 releases, nothing new or fixed in the notes
- new
Preserve client-owned attributes during frame reloads with
data-rmx-preserve-attrs="class data-theme"on any matched element, including<html>and<body>(see #11809). The named attributes keep their live values or absence while other attributes and children reconcile normally. The incoming HTML controls the list; clearing it or removing a name returns those attributes to normal reconciliation. - new
Allow client entry props to use ordinary interfaces, including nested objects whose properties are all optional (see #11918).
- fixed
Send
X-Remix-Frame: truefrom the default browser resolver for all frame loads, including top-frame navigation and reloads. Named frames also sendX-Remix-Target, allowing handlers to identify and target frame requests consistently across browser and server rendering (see #11941). - fixed
Treat marker-less HTML that starts with a doctype or
<html>as a document reload, so pages rendered withrenderToStringcan be navigated by the client runtime (see #11808).
- new
- fixed
Ignore invalid host prop names and reserved DOM mutation properties during server rendering and client reconciliation. Block
javascript:URLs in executable URL attributes while preserving other URL schemes and non-executable attributes. Use theon()mixin for events; the explicitinnerHTMLAPI and standard DOM,data-*,aria-*, SVG, and custom-element properties continue to work as before. - fixed
Fix duplicated text during hydration when a browser splits long server-rendered text into multiple DOM nodes, including chunks that span adjacent text children (see #11591).
- fixed
Avoid attaching duplicate event handlers when a client entry imports and renders another client entry, including through fragments and wrapper components. Preserve deferred removal and exit animations when removing nested client entries (see #11844).
- fixed
Restore the previous named frame from
handle.frames.get(name)when a more recently mounted frame with the same name unmounts.
- fixed