Skip to content

Releases: remix-run/remix

v0.0.0-experimental-ab9dac4f

01 Dec 20:53
Compare
Choose a tag to compare
Pre-release

What's Changed

  • Fixes a bug when an empty string is returned in a response. This should return null instead.

New Contributors

Full Changelog: v1.0.6...v0.0.0-experimental-ab9dac4f

v1.0.6

26 Nov 17:33
8dabfa1
Compare
Choose a tag to compare

This release further improves our integration with Vercel (#631)

Full Changelog: v1.0.5...v1.0.6

v1.0.5

24 Nov 18:33
eb12aea
Compare
Choose a tag to compare

Enhancements ✨

  • Several error message improvements (#441)
  • Removed references to deprecated tokens in create-remix (#519, #566)
  • Simplified the @remix-run/vercel starter template. Now you can deploy with zero Vercel config! (#588)

New Contributors!

Full Changelog: v1.0.4...v1.0.5

v1.0.4

23 Nov 03:35
Compare
Choose a tag to compare

This release removes the crypto dependency from the create-remix template, which fixes issues for starters deploying to Cloudflare Workers (#462).

Full Changelog: v1.0.3...v1.0.4

v1.0.3

22 Nov 20:47
Compare
Choose a tag to compare

Remix v1.0 is here! 🥳

v1.0.0-rc.4

22 Nov 18:55
Compare
Choose a tag to compare
v1.0.0-rc.4 Pre-release
Pre-release

Nothing to see here. Stay tuned!

Full Changelog: v1.0.0-rc.3...v1.0.0-rc.4

v1.0.0-rc.3

22 Nov 18:28
Compare
Choose a tag to compare
v1.0.0-rc.3 Pre-release
Pre-release

Bug fixes 🐛

  • Fixed a bug in <Form> where requests were sent to the wrong action (#411).
  • Fixed a bug with await handlers in server runtime (#413).
  • Fixed a few bugs with local development (#417, #431)

Breaking changes 💔

  • react-router-dom is no longer a peer dependency, so you can remove it from your package.json (#424). This isn't technically a breaking change today, but it could break your app in the future without making this switch! All React Router modules should be imported directly from remix:
// before
import { Outlet } from "react-router-dom";
// after
import { Outlet } from "remix";

Full Changelog: v1.0.0-rc.2...v1.0.0-rc.3

v1.0.0-rc.2

20 Nov 00:07
Compare
Choose a tag to compare
v1.0.0-rc.2 Pre-release
Pre-release

The best way to find a bug in software is to ship it. On a related note, we shipped rc.1 and found a bug 😅

This is a quick patch release, so if you're upgrading from a v0 release, check out the relevant notes here: https://github.com/remix-run/remix/releases/tag/v1.0.0-rc.1

Full Changelog: v1.0.0-rc.1...v1.0.0-rc.2

v1.0.0-rc.1

19 Nov 21:54
Compare
Choose a tag to compare
v1.0.0-rc.1 Pre-release
Pre-release

Alright friends, we're almost there! Welcome to the first release candidate for Remix v1.0. Buckle up and get ready, let's dive in to what's new!

Features ✨

  • Added <ScrollRestoration /> component that emulates the browser's scroll restoration behavior on client-side navigations (#399). This component is included in the starter template by default, but existing apps can render it in your root.(js|tsx) directly before <Scripts />.

Bug fixes 🐛

  • <Form> will now include values held by named submit buttons (or <input type="submit" />) (#398)

Breaking changes 💔

  • Removed all deprecated hooks (#395)
  • Rename MetaDescriptor type to HtmlMetaDescriptor (#378)

Other odds and ends 🤷‍♂️

  • Created fancy new starter templates for create-remix 💅
  • Updated esbuild to the latest and greatest (#402)
  • Made the CLI shutdown process a bit more graceful (#400)

Full Changelog: v0.21.0...v1.0.0-rc.1

v0.21.0

16 Nov 23:46
Compare
Choose a tag to compare

💅 Features

  • We're on React Router v6! Go change your package.json dependency to "react-router-dom": "^v6.0.0". If you've got "history" in there, you can delete it (it's now just a direct dependency of React Router, your app doesn't need to know about it).
  • You can now get form data directly from the request object! (note that this doesn't yet support multipart/form-data requests, but that is in development right now).
    export function action({ request }) {
      // old
      let body = new URLSearchParams(await request.text());
    
      // new
      let body = await request.formData();
    }
  • Add support for Resource Routes! You can now omit the default export from any route file and the response will be any resource returned from its loader. You can use this to build:
    • RSS feeds
    • dynamically generated images
    • mobile app API routes (so you can reuse the backend logic for both UIs)
    • and lots more!

✨ Improvements

  • You can now add attributes to the <script> tags rendered by <Scripts /> by passing them as props. This allows you to add a Content Security Policy and drop a nonce on the inline scripts that Remix renders so the browser doesn't block them (we'll have a guide soon, but you can read more about CSP on MDN.)
  • Added sourcemaps for server builds.

🐛 Bugfixes

  • Fixed a bug where ?index was included in action requests for index routes.

🗒️ Docs

Full Changelog: v0.20.1...v0.21.0