Remix Newsletter #30
Welcome to Remix Newsletter #30!
This month we'll be sharing about our new route.lazy API, important security and performance improvements, and enhanced Cloudflare support. We also give a quick recap of our recent bug bash and remind you about our upcoming Remix Jam event in Toronto.
Let's dive in 💿
React Router v7.5.0–v7.5.3
React Router v7.5 brings a series of important updates, including a new API for lazy loading, security fixes, and several performance and bug improvements.
New Features
Route.lazy Object API: v7.5.0 introduces a new object-based route.lazy API, allowing you to lazy load individual route properties (like loader, action, Component, and more) for improved performance and flexibility.
More on this feature, the problems it solves, and how to use it below.
Note: This replaces the previous route.unstable_lazyMiddleware API, which has been removed. Use route.lazy.unstable_middleware instead.
Security Updates
Cache-Poisoning Fixes: v7.5.2 addresses two security vulnerabilities that could result in cache-poisoning attacks by sending specific headers intended for build-time usage in SPA Mode and Pre-rendering. (GHSA-f46r-rw29-r322, GHSA-cpj6-fhp6-mr6j)
Performance Improvements & Bug Fixes
- Update optional wrangler peer dependency range to support wrangler v4
- Reinstate dependency optimization in the child compiler to fix
depsOptimizer is required in dev modeerrors when usingvite-plugin-cloudflareand importing Node.js builtins - Skips loading
HydrateFallbackandhydrateFallbackElementproperties after hydration when using the object-basedroute.lazyAPI, reducing unnecessary downloads - Fix single fetch bug where no revalidation request would be made when navigating upwards to a reused parent route
- Properly revalidates pre-rendered paths when param values change
- Fixes pre-rendering when a loader returns a redirect
- Updates single fetch to handle 204 redirects in
.datarequests, supporting advanced use cases and enabling redirects outside of React Router (e.g., via anexpressorhonomiddleware) - Fixes bug where bubbled action errors would clear
loaderDataat the handlingErrorBoundaryroute - Handles redirects from
clientLoader.hydrateon initial load
Unstable Features
- New
future.unstable_subResourceIntegrityflag for script integrity - Improved Vite environment API support for critical CSS in development
- Enhanced middleware support and type safety, including new APIs for custom data strategies and middleware execution
Check out the full React Router changelog ↗
Remix v2.16.5
Remix v2 is receiving fewer and fewer updates these days. The upgrade path from Remix v2 to React Router v7 has been successfully completed by many developers and teams, and at this point we are primarily focused on addressing security concerns and any remaining sharp edges that make upgrading difficult.
In Remix v2.16.5 we bumped undici to version 6.21.2 to address a security advisory.
Check out the full Remix changelog ↗
Remix Team Bug Bash
Since releasing React Router v7 back in November, our issue count has skyrocketed.
The good news is that people are using React Router and want it to be better. The bad news is that they've found some bugs and sharp edges we haven't addressed as quickly as we'd like.
To help the team focus on addressing issues from the community and pay down some of our technical debt, we decided last week to take a break from new feature development and focus entirely on bug fixes and documentation.
In just 5 days, we were able to:
- Merge 33 pull requests in
react-router - Close 77 issues in
react-router - Update templates in
react-router-templates(33 issues closed) - Archived old repositories we're not actively maintaining
There's definitely some cleanup left to do, as well as a number of issues we're still addressing that we didn't wrap up last week. With a fresher slate and some newfound momentum, you can expect to continue seeing improvements in the coming weeks and months, in addition to stabilizing and releasing more unstable APIs (RSC wen?).
Want to get an overview of what the team accomplished? Just look at our pending changesets! Next month's newsletter is gonna be a doozy 😅
Faster Lazy Loading in React Router v7.5+
React Router v7.5 introduces a new, more granular object-based route.lazy API that improves lazy loading performance and is designed to support the upcoming middleware API. Previously, the route.lazy() function required all route properties to be loaded together, which could delay navigation and middleware execution. The new API allows you to lazy load only the properties you need, such as loader, action, Component.
For example, you can now split your route code like this:
This approach means React Router only waits for the minimum necessary code at each navigation step, resulting in faster page loads and better performance. To learn more about how the new API works, read the full article below.
Read "Faster Lazy Loading in React Router v7.5+" ↗
Remix Jam tickets coming soon
If you haven't already, mark your calendars for October 10th, 2025 for Remix Jam!
Remix Jam is a 1-day event where we will share about the past, present, and future of Remix. Remix Jam will be hosted by the Remix team & Shopify in the heart of Toronto.
We are going to be announcing ticket sales pretty soon, so keep your eyes out for an email with the details. This event will be fairly intimate, and we anticipate that tickets will go fast.
Improved Cloudflare Support
Cloudflare has announced the 1.0 release of their Vite plugin, bringing first-class support for React Router v7. This integration allows you to run your server code directly in the Cloudflare Workers runtime during development, ensuring your local environment matches production as closely as possible. With the new Environment API in Vite 6, you can develop, preview, and deploy full-stack React Router apps on Cloudflare Workers with confidence.
Our Cloudflare templates are already setup to use the new plugin.
Connect at a Remix Meetup
Remix Meetups are run voluntarily by members of the community all around the globe with in-person and online options. These meetups feature local speakers, hackathons, workshops, and more!
No meetups near you? Reply to this email if you are interested in starting your own meetup. We've even created some guides to help you get started.
If you enjoy getting this email, please let us know! We'd love to hear from you, what you like about Remix and these updates, and any suggestions you have to improve them.
- The Remix Team