remix
3.1.0 · 23 Oct 2026MIT58.2k / weekRepositoryHomepagenpmAtom feed
Upgrading remix from 0.18.0 to 3.1.0
126 releases in betweennotes for 2
- 2+
- changes to make
- 0
- advisories fixed
- 8+
- new
- 4+
- fixes
Counted from 2 of 126 release notes. Advisories are counted from the advisory database, in full.
Before you upgrade
Tick each one off as you go- breaking3.0.0
- breaking3.0.0
Security
Release by release
- new
Mixins created through
remix/componentcan usecreateMixin(setup, { ssr: false })to skip setup and render on the server while keeping browser behavior and hydration. Server rendering remains enabled by default. The option is intended for behavior that does not contribute to the server HTML. - new
Server rendering with
remix/componentis about twice as fast as in 3.0 and uses less memory, with no code changes. Rendering a 48-product listing page withrenderToString()takes 244 µs instead of 513 µs (Node.js 24.18 on an Apple M5 Pro, median of 5 fresh-process runs, identical HTML output). Under sustained HTTP load on a 24-product store page, assembling each response with a single join lowers the server's resident memory after load from 793 MiB to 527 MiB (see #12006, #12016, #12018, and #12020). - new
Use
frame.reload({ src, method, encType, body })fromremix/componentto reload another source or submit data and render the response without changing browser history.FormDatafollows GET query and POST encoding defaults, with multipart and plain-text encodings available. - new
Prefetch frame HTML and assets with
data-rmx-prefetch="intent",data-rmx-prefetch="viewport", or the imperativeprefetch()API fromremix/component. Both link modes support named frames and source overrides, respect Save-Data, and skipslow-2g/2gconnections. See the prefetching guide for usage, customization, and caching behavior.
- new
- fixed
Installation and new-app examples now use the stable Remix release.
- fixed
0.18.1 – 2.17.5124 releases, no release note