Remix Newsletter #22


​

Remix Newsletter #22

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:

​

"React Router 7 when?"

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 Blobs and Files 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

​Docs Β· Blog​
​Preferences Β· Unsubscribe​

548 Market St PMB 35453, San Francisco, CA 94104-5401

Remix

Build better websites with Remix and React Router. Remix brings the state of the art in web development without leaving behind the fundamentals. Subscribe to stay up to date on all things Remix.

Read more from Remix

Remix Newsletter #20 Last month, we announced our plans for React Router v7, an update that will pave the way for millions of React Router and Remix projects to adopt React Server Components, Server Actions, and a ton of other cool features. We also shipped some type improvements for Single fetch and other bug fixes since our last newsletter. Finally, we have a fresh Remix community resource to highlight, as well as some PRs and meetups worth checking out. Let's dive in πŸ’Ώ Bringing the Best of...

Remix Newsletter #19 Hello Remix fans, and welcome to newsletter #19! We have a new feature hot off the release cycle, as well as a guest blog post, a case study, a new video about SPA mode, and this month's featured Remix Resource. Let's get started! Remix v2.9 Single Fetch (Unstable): This fetching strategy simplifies document and data requests by making them consistent in Remix. You can enabled it by setting future.unstable_singleFetch to true in your config. Keep reading to learn what...

Remix Newsletter #18 The Remix team has been hard at work stabilizing almost everything we’ve teased since Newsletter #14. If you’ve got an old Create React App or React Router site you’ve been eager to migrate to Remix, the team has paved a smooth path for you. Let’s dive in! Remix v2.7 & v2.8 We released 2 minor versions of Remix since the last newsletter. Here are some of the highlights: Stabilized the Vite Plugin: Remix Vite is now stable! The move to Vite from our old, esbuild-based...