React Router 7 and Remix Merge

For nearly four years, the Remix team has been working on a full-stack framework built on web standards to enhance website and application development. React Router, a key dependency for Remix, has always been closely aligned with its development. As a result, Remix and React Router have become almost indistinguishable.

The Merge

Remix has integrated React Router’s efficient loading patterns and evolved to depend more directly on it. Millions of projects use React Router, many initially set up using Create React App (CRA), which is no longer recommended. The goal is to provide a seamless upgrade path for React Router projects to migrate to Remix. The introduction of the Vite plugin and SPA mode has further blurred the lines between Remix and React Router. As a result, Remix’s features will now be part of React Router v7, merging the two projects.

Features Coming to React Router v7

The Impact

React Router has been a cornerstone of the React ecosystem for a decade, widely adopted in significant projects like Shopify. The merge with Remix aims to modernize and enhance capabilities for these projects without a complete rewrite.

Future Plans

Upgrading to React Router v7 will involve:

  1. Upgrading to the latest minor version of Remix or React Router.
  2. Enabling all feature flags.
  3. Changing @remix-run/* dependencies to react-router in package.json.
  4. Replacing @remix-run/* imports with react-router.

The team will provide codemods and guides to make this transition smooth and non-breaking.

What's Next for Remix

Remix will continue to exist as a brand and project within the React Router ecosystem. The team will focus on shipping React Router v7 and leveraging learnings and the potential of React Server Components.

For more details, check out the original post.