Welcome to the Remix Newsletter!
โ
It's been a minute since our last one. We hope you had a wonderful summer and stayed cool (or warm if you share a hemisphere with Remix core member Mark Dalgleish).
โ
Let's dive in ๐ฟ
Remix and React Router Updates
While most of our effort has been on finishing React Router v7, the team still managed to fix a number of bugs, stabilize multiple APIs, and improve existing unstable features like Single Fetch and Lazy Route Discovery (a.k.a Fog of War).
Remix v2.11.0, v2.11.1, v2.11.2
- Add a new
replace(url, init?)
alternative to redirect(url, init?)
that performs a history.replaceState instead of a history.pushState on client-side navigation redirects
- Renamed
unstable_fogOfWar
future flag to unstable_lazyRouteDiscovery
for clarity and simplify implementation based on changes to React Router's unstable_patchRoutesOnNavigation
- Single Fetch: Remove
responseStub
in favor of headers
- Single Fetch: Fix redirects when a
basename
is present
-
Single Fetch: Update
turbo-stream
to v2.3.0
- Stabilize object key order for serialized payloads
- Removed memory limitations on payload sizes
- Single Fetch: Add a new
unstable_data()
API as a replacement for json
/defer
when custom status/headers are needed
โ
โRead the full Remix changelog โโ
React Router v6.25.0, 6.25.1, v6.26.0, v6.26.1
- Add
replace(url, init?)
and unstable_data()
(see above)
- Fix a number of errors with
future.unstable_patchRoutesOnMiss
and rename it to unstable_patchRoutesOnNavigation
- Stabilize
future.unstable_skipActionErrorRevalidation
flag into future.v7_skipActionErrorRevalidation
- Stabilize
shouldRevalidate
's unstable_actionStatus
parameter to actionStatus
โ
โRead the full React Router changelog โโ
React Router v7 Progress Update
Ever since we announced our plans to merge Remix into React Router, we have received this question almost daily:
โ
It's a fair question, especially since we promised and teased new features coming in React Router v7, such as:
โ
- RSC
- server actions
- static pre-rendering
- enhanced Type Safety
Our team is very hesitant to give deadlines that only have the potential to disappoint, but we can say with great confidence that we will be shipping an alpha for React Router v7 very soon.
โ
According to our internal project board, we only have 5 remaining tasks before we can ship an alpha. We've closed 78, if that helps put our progress in context. Additionally, most of the remaining tasks have to do with stabilizing features and adding deprecation warnings.
โ
Rest assured, we will let you know as soon as we release the React Router v7 alpha. We've made a big promise to create a smooth upgrade path for both React Router and Remix users, and getting your feedback will be vital to us delivering on that promise.
If you're asking yourself what you should be using right now, our advice has been and remains the same:
โ
"We recommend using Remix today. You can deploy a single page app if you're not interested in server rendering, or take advantage of React and Remix's server features like streaming, server loaders, actions and more."
And if you really can't wait for the alpha, you can always just install react-router@nightly
and live life on the wild side. It's good enough for the the Remix Contacts tutorial.
โ
โCheckout the contacts tutorial with React Router 7 (nightly) โโ
Featured Resource: Remix PWA
โ
Remix PWA is a PWA framework that seamlessly integrates Progressive Web App (PWA) features into Remix including offline support, caching, installability on Native devices and more.
โ
Unlock the future of web artistry with Remix PWA ๐. Powered by Vite โก, craft Progressive Web Apps that redefine the boundaries of creativity and performance ๐. Your digital canvas awaits! ๐ฉโ๐จ
โ
โGet started with Remix PWA today โโ
Fresh Code
We're working on a new and better approach to configuring routes, better type safety for Single Fetch, and fixing those pesky 504 Outdated Dependency
errors in development by automatically detecting and optimizing dependencies.
โ
โ
Additionally, co-founder Michael Jackson has been on an open-source rampage, publishing a bunch of packages built on web standards. We'll be talking about these more in the future, but for now, feel free to check out the READMEs:
โ
- โfile-storage: Key/value storage for JavaScript
File
objects
- โform-data-parser: A
request.formData()
wrapper with streaming file upload handling
- โheaders: A toolkit for working with HTTP headers in JavaScript
- โlazy-file: Lazy, streaming
Blob
s and File
s for JavaScript
- โmultipart-parser: Fast, efficient parser for multipart streams
โ
We also just had a Remix Roadmap Planning livestream, where Michael and Ryan talked about the current state of Remix/React Router and what's coming next. Be sure to check it out and subscribe to get notified for our next one.
โ
โWatch the most recent Roadmap Planning livestream โโ
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!
โ
โFind a meetup near you โโ
โ
โ
โ
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 successfully start a Remix Meetup.
โ
โStarting a New Remix Meetup โโ
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