npm @redwoodjs/core 1.0.0-rc.4
v1.0.0-rc.4

latest releases: 9.0.0-canary.239, 9.0.0-canary.237, 9.0.0-canary.236...
2 years ago

⚠️ This release has breaking changes. Please see the "Breaking" section for more info.

This release is equivalent to v0.39.3

🗓 RedwoodJS Meetup: December 9th
Join us for a very special RedwoodJS Meetup next Thursday! With v1.0.0-rc as the focus, there will be presentations, demos, and discussions from community members and startup founders. You won’t want to miss it!

Changelog

Unique contributors: 25
PRs merged: 78

Added

Changed

Fixed

Chore

Breaking ⚠️

1. Babel configuration changes

This release improves the internal babel configuration, resulting in a few important change for Redwood projects:

  • .babelrc files are now ignored; if present, will throw an error during dev or build
  • the root babel.config.js file has been removed in favor of side-specific babel.config.js files (i.e. api/babel.config.js and web/babel.config.js)

For reference, see #3719

See "Code Modifications" section below for upgrade instructions.

2. Rename Router paramType properties

When specifying custom router param types there are two things you can (optionally) specify

  1. The regexp to use when "finding" the part of the route to use your custom type for. This is now called match.
  2. A function that interprets the string in the route and then makes it into the type you want. This is now called parse.

For reference, view #3732 and the "Code Modifications" section below for upgrade instructions.

3. Minimum Node.js Version is v14.17

A dependency of Jest, jest-watch-typeahead, requires Node.js ^12.22.0 || ^14.17.0 || >=16.0.0. New Redwood projects now require Node.js >=14.17. See #3761

We recommend updating your project's package.json Node.js engine to be "node": ">=14.17 <=16.x".

4. Cell mocks only support functions

In this version, Cell mocks no longer support exporting an object. #3778

See "Code Modifications" section below for upgrade instructions.

5. Dependency Upgrades: typescript, eslint, and graphql

The following packages have been upgraded to versions with breaking changes, which may affect Redwood projects with custom implementations. See the respective PRs, which include links to package release notes:

6. Deprecated Router Globals

This release fully deprecates:

  • __REDWOOD__API_URL
  • __REDWOOD__API_GRAPHQL_SERVER_PATH
  • __REDWOOD__API_PROXY_PATH

See "Code Modifications" section below for upgrade instructions.

7. Supabase Auth changes

This release removes the option to use data instead of the session in the Supabase auth provider. This may be a breaking change for some projects if they use the client directly. See #3771

8. Tailwindcss v3 and New Setup Command

We've made two changes to the Tailwindcss setup in this release:

  • deprecated the command redwood setup tailwind and replaced it with redwood setup ui tailwindcss
  • now setup tailwindcss at v3

See #3758

To upgrade and use Tailwindcss v3, see the section "Code Modifications" below.

9. Azure Auth: upgrade from msal to @azure/msal-*

This PR will break current Azure Active Directory authentication implementations and will require code modifications. See #3490

Microsoft's msal package used for Azure Active Directory authentication is deprecated in favor of @azure/msal-browser. This new library uses the OAuth 2.0 Authorization Code Grant with PKCE instead of Implicit Flow. Previously msal's popup method was used to initialize the login process. On modern browsers, combined with corporate policies, this becomes challenging. For that reason, Redwood Azure Auth now uses redirects.

See the "Code Modifications" section below for upgrade instructions.

10. Clerk Auth v2

This release upgrades to Clerk v2, which has breaking changes. Projects using Clerk should read through the following references to make sure they update implementations accordingly:


How to Upgrade

🧭 Code Modifications: Follow the Upgrade Guide

The guide will walk you through everything required to get up and running. Fast! We've posted it on the Redwood Forums — be sure to ask questions as needed and let us know how it goes:

Here's a list of the upgrade steps included:

  1. Update Babel Config (required)
  2. Rename Router paramType Properties (required if applicable)
  3. Node.js package.json Engine (recommended)
  4. Update your Cell Mocks (required if applicable)
  5. Accessing API Paths (required if applicable)
  6. Upgrade Tailwindcss to v3 (recommended if applicable)
  7. Use Tailwindcss for Scaffolds (recommended if applicable)
  8. dbAuth: harden getCurrentUser() implementation (required if applicable)
  9. Upgrade Azure Active Directory Auth from msal to @azure/msal-* (required if applicable)

Once you're done, don't forget to upgrade your packages!

Upgrade Packages from v0.38.x to v1.0.0-rc

Run the following command within your App's directory:

yarn redwood upgrade --tag rc

The --tag rc option target the most recent "release candidate" published to NPM

✅ Don't forget to git commit your updated yarn.lock file

Upgrading from an earlier version?

Please follow the "how to upgrade" sections for each newer version here 👉 https://github.com/redwoodjs/redwood/releases, as there may be manual code mods needed for each version.

Upgrading to a version that is not the latest?

The command yarn rw upgrade will always upgrade to the latest (i.e. most recent) Redwood version. If you need to upgrade incrementally to an earlier, specific release, use the --tag option. For example, if you need to upgrade from v0.34.1 to v0.35.0, run the following command:

yarn redwood upgrade --tag 0.35.0

Need help or having trouble upgrading packages?

See this forum topic for manual upgrade instructions and general upgrade help.

Don't miss a new core release

NewReleases is sending notifications on new releases.