npm @redwoodjs/core 4.0.0
v4.0.0

latest releases: 9.0.0-canary.194, 9.0.0-canary.193, 9.0.0-canary.192...
20 months ago

Come join us this Thursday for our first Redwood meetup of 2023 where I’ll go over the release notes for this major: https://lu.ma/redwood-townhall.

Changelog

Breaking

Decoupled auth

Note

It may seem like there are a lot of breaking changes, but there's not—the work was just done in many PRs. Most of them are very small fixes. To get a real sense of the breaking changes, see the upgrade guide. But this is more or less every PR that went into the decoupled auth project, ordered by when it was merged.

ℹ️ Click to see all decoupled auth PRs
  • Decouple auth #5985 by @Tobbe
  • chore: run lint fix post merge #5985 #6691 by @jtoar
  • chore: remove private field on new packages package.json #6692 by @jtoar
  • chore: make misc change to trigger canary publishing #6695 by @jtoar
  • Netlify: Enable auth-providers-api and auth-providers-web installation #6697 by @Tobbe
  • fix(dbAuth): add required packages to setup command #6698 by @jtoar
  • Fix decouple auth related type errors #6709 by @Tobbe
  • Update the Clerk setup script and templates #6710 by @Tobbe
  • Auth: Update firebase setup script #6716 by @Tobbe
  • Add auth decoder to clerk auth setup #6718 by @Tobbe
  • Clerk: Simplify web implementation #6713 by @Tobbe
  • supabase auth setup: Add missing rw packages #6743 by @Tobbe
  • Missing packages for Ethereum auth setup #6740 by @Tobbe
  • supertokens setup auth: Add missing RW packages #6744 by @Tobbe
  • Add missing packages to magicLink setup #6741 by @Tobbe
  • nhost auth setup: Add missing packages #6742 by @Tobbe
  • Auth0 setup: Install correct packages #6734 by @Tobbe
  • Setup auth: Update goTrue #6733 by @Tobbe
  • Azure setup auth: Install and import all needed packages #6736 by @Tobbe
  • Okta: Add packages to setup script #6732 by @Tobbe
  • Update auth setup warning message #6746 by @Tobbe
  • Fix auth0 decoder import #6764 by @Tobbe
  • Fix dbAuth webAuthn template (redundant type import) #6769 by @Tobbe
  • Custom auth: Fix comment in template #6804 by @Tobbe
  • [Fix]: Add back webAuthn export path #6903 by @jtoar
  • auth0 and netlify auth packages #6922 by @Tobbe
  • azure auth package #6982 by @Tobbe
  • Custom auth package #6984 by @Tobbe
  • Remove api db auth global #6968 by @Tobbe
  • Custom auth should not have api package #6986 by @Tobbe
  • Use auth provider specific packages #6985 by @Tobbe
  • fix(cli): Handle importing optional setup auth commands #6997 by @jtoar
  • auth-firebase-* #6987 by @Tobbe
  • chore(auth): move auth providers into separate packages #7019 by @jtoar
  • fix: auth provider names in setup auth #7038 by @jtoar
  • Fix typo in dbauth setup package name #7040 by @Tobbe
  • Fix webAuthn import path in setup template #7041 by @Tobbe
  • Setup auth: No return on missing modules #7049 by @Tobbe
  • fix: dedupe redwoodjs packages #7050 by @jtoar
  • Include dbAuth setup in test project fixture check #7036 by @Tobbe
  • Use canary packages for auth in the test project #7052 by @Tobbe
  • dbAuth: No more process.env.RWJS_API_DBAUTH_URL #7032 by @Tobbe
  • fix: add missing deps to cli helpers #7117 by @jtoar
  • dbAuthClient #7111 by @Tobbe
  • Rebuild test-project fixture #7123 by @Tobbe
  • Codemod to include full-name in test-project signup #7124 by @Tobbe
  • Rename create auth functions #7137 by @jtoar
  • chore: update test project fixture dbauth packages #7139 by @jtoar
  • Remove deprecated auth providers #7138 by @jtoar
  • fix(setup): list @redwoodjs/cli-helpers as dependency to @redwoodjs/cli #7141 by @jtoar
  • Firebase Auth: Pin firebase-admin version in setup script #7122 by @Tobbe
  • chore: remove unnecessary @redwoodjs/api dependencies #7153 by @jtoar
  • cli: Add missing dep crypto-js #7190 by @Tobbe
  • fix: typo in clerk auth decoder import #7219 by @jtoar
  • fix: update packages in supabase setup #7220 by @jtoar
  • fix(smoke test): add babel resolution for storybook #7250 by @jtoar
  • Decoupled auth setup: install handlers automatically #7146 by @jtoar
  • Fix how the setup auth command checks for published versions #7256 by @jtoar
  • chore: try reverting babel resolution for storybook in test project fixture #7257 by @jtoar
  • Decoupling auth polishes #7258 by @jtoar
  • chore: remove experimental warning in setup auth #7262 by @jtoar
  • authTasks.ts: Extract addAuthDecoderToCreateGraphQLHandler #7268 by @Tobbe
  • authTasks: Replace auth decoder import and argument #7273 by @Tobbe
  • authTasks: Rename to addConfigToWebApp #7279 by @Tobbe
  • setupHelpers.test.ts: Remove unused arg #7281 by @Tobbe
  • More setup tasks for better progress reporting #7283 by @Tobbe
  • authTasks: Sort imports #7284 by @Tobbe
  • setupHelpers: Add 'verbose' Listr renderer support #7285 by @Tobbe
  • Fix dbauth setup command in rebuild fixture #7292 by @dac09
  • Fix premajor canary publishing when there's a major RC #7320 by @jtoar
  • Allow passing an array of auth decoders to createGraphQLHandler #7349 by @Tobbe
  • fix(setup-auth): Update setup process to make it behave consistently #6956 by @dac09
  • Fix detection of legacy auth #7352 by @Tobbe
  • Remove legacy auth import #7353 by @Tobbe
  • Remove old AuthProvider when FORCE or REPLACE #7354 by @Tobbe
  • Setup auth: Disable prompt #7356 by @Tobbe
  • Setup auth: Handle skipping api lib auth.ts #7357 by @Tobbe
  • CurrentUser: Let declaration merging add roles #7360 by @Tobbe
  • Make unit tests works with Auth0 #7375 by @simoncrypta
  • Auth Netlify: Simplify hasRole implementation #7361 by @Tobbe
  • router tests: Fix AuthContext type error #7383 by @Tobbe
  • Azure: Only redirect in getToken on InteractionRequiredAuthError #7386 by @Tobbe
  • fix: setup web/src/auth.js file in JS projects #7422 by @jtoar
  • chore: Increase consistency of test-project rebuildFixture #6906 by @Josh-Walker-GM
  • auth setup: auth.js for JS projects #6911 by @Tobbe
  • authTasks: Improve tests to also cover tsx template #7425 by @Tobbe
  • auth setup: Refactor "redirect" commands #7429 by @Tobbe
  • [Fix]: Ensure client is defined using Clerk auth #6897 by @jtoar
  • feat(auth): Update dependencies and support the new Clerk keys #7385 by @anagstef
  • [Auth] Update setup notes and templates, and constrain versions #7452 by @jtoar
  • fix: pin webAuthn, SuperTokens, comment out latter #7476 by @jtoar
  • Fix setup help text typo #7484 by @Tobbe
  • SuperTokens setup: Add to Routes.tsx #7483 by @Tobbe
  • Make it easier to test auth setup with rwfw project:copy #7485 by @Tobbe
  • Set up auth: Fix isInstalled logic #7492 by @Tobbe
  • fix(CLI): try-catch require.resolve in setup auth #7494 by @jtoar
  • fix(CLI): use require.resolve.paths to avoid require.resolve cache #7496 by @jtoar
  • fix(CRWA): import hashPassword from @redwoodjs/auth-dbauth-api #7503 by @jtoar
  • fix(CLI): add env var to Supabase notes, Azure alias #7504 by @jtoar

Node.js 16 and 18

GraphQL Yoga v3 and GraphQL Armor

NavLink

  • NavLink not highlighting when on sub pages #6939 by @razzeee

    The <NavLink> component takes a new prop, matchSubPaths, that makes it apply the class in the activeClassName prop to matching sub-paths:

    <NavLink activeClassName="activeTest" matchSubPaths to="/users">
      Users
    </NavLink>

    For example, if you have a NavLink to /users and set matchSubPaths, if the user navigates to /users/2, the activeClassName still applies. The useMatch hook takes the same parameter.

    The breaking part: the matchPath function, which is what this component uses under the hood, is no longer exported from @redwoodjs/router. If you’re using it, we recommend you use the useMatch hook instead. If useMatch doesn’t cover what you were using matchPath for, please let us know.

Fix

  • fix: Moves fastify.addContentTypeParser(...) above configureFastify(...) #7178 by @CeleroChris
  • fix(prerender): Prerender pages sequentially #7321 by @dac09
  • Test prerendering meta tags #7334 by @Tobbe
  • fix: Corrects generated netlify.toml for setup deploy netlify command #6670 by @dthyresson
  • fix(telemetry): Enable telemetry on windows #7389 by @Josh-Walker-GM
  • fix(ts): Fix defineScenario type for scenario definition function form #6915 by @dac09
  • fix: correct Cell prop types when used with beforeQuery #7063 by @tsugitta

Docs

Core dependencies

  • fix(deps): update dependency fastify-raw-body to v4.2.0 #7188
  • chore(deps): update yarn to v3.3.1 #7235
  • fix(deps): update dependency react-hook-form to v7.42.1 #7364
  • fix(deps): update prisma monorepo to v4.9.0 #7379
  • fix(deps): update dependency fastify to v4.12.0 #7415
  • fix(deps): update dependency @apollo/client to v3.7.5 #7446
  • fix(deps): update storybook monorepo to v6.5.16 #7463
  • fix(deps): update dependency @fastify/static to v6.8.0 #7502

Chore

All Dependencies

Click to see all upgraded dependencies
  • fix(deps): update dependency webpack-cli to v5 #7058
  • chore(deps): update dependency @types/uuid to v9 #7089
  • chore(deps): update dependency supertokens-node to v12.1.3 #7105
  • chore(deps): update dependency @azure/msal-browser to v2.32.1 #7142
  • chore(deps): update dependency @types/vscode to v1.74.0 #7149
  • chore(deps): update dependency firebase to v9.15.0 #7152
  • fix(deps): update dependency css-loader to v6.7.3 #7154
  • chore(deps): update dependency typescript-transform-paths to v3.4.4 #7159
  • chore(deps): update dependency esbuild to v0.16.4 #7099
  • fix(deps): update dependency @reach/skip-nav to v0.18.0 #7164
  • chore(deps): update dependency esbuild to v0.16.7 #7169
  • fix(deps): update dependency pino to v8.8.0 #7173
  • chore(deps): update dependency supertokens-auth-react to v0.28.1 #7158
  • fix(deps): update dependency fastify-raw-body to v4.2.0 #7188
  • fix(deps): update dependency @types/node to v16.18.10 #7198
  • chore(deps): update dependency esbuild to v0.16.8 #7202
  • Update dependency @playwright/test to v1.29.0 #7204
  • Update dependency eslint to v8.30.0 #7206
  • Update dependency lazy-get-decorator to v2.2.1 #7208
  • fix(deps): update dependency react-hook-form to v7.41.0 #7199
  • chore(deps): update dependency esbuild to v0.16.9 #7214
  • fix(deps): update typescript-eslint monorepo to v5.47.0 #7223
  • chore(deps): update dependency @types/prettier to v2.7.2 #7232
  • chore(deps): update dependency esbuild to v0.16.10 #7230
  • fix(deps): update dependency @apollo/client to v3.7.3 #7179
  • fix(deps): update storybook monorepo to v6.5.15 #7237
  • chore(deps): update yarn to v3.3.1 #7235
  • fix(deps): update prisma monorepo to v4.8.0 #7242
  • chore(deps): update dependency @playwright/test to v1.29.1 #7243
  • chore(deps): update dependency jsonwebtoken to v9 [security] #7247
  • chore(deps): update babel monorepo #7249
  • fix(deps): update dependency systeminformation to v5.16.8 #7248
  • fix(deps): update dependency @babel/traverse to v7.20.10 #7260
  • chore(deps): update dependency @testing-library/dom to v8.19.1 #7261
  • fix(deps): update dependency systeminformation to v5.16.9 #7264
  • chore(deps): update dependency @types/jsonwebtoken to v9 #7245
  • fix(deps): update dependency @types/node to v16.18.11 #7275
  • chore(deps): update dependency lerna to v6.3.0 #7271
  • fix(deps): update typescript-eslint monorepo to v5.47.1 #7270
  • fix(deps): update dependency react-hook-form to v7.41.1 #7269
  • chore(deps): update dependency supertokens-node to v12.1.4 #7274
  • fix(deps): update dependency core-js to v3.27.1 #7272
  • fix(deps): update dependency fastify to v4.11.0 #7308
  • fix(deps): update prisma monorepo to v4.8.1 #7307
  • fix(deps): update dependency react-hook-form to v7.41.5 #7305
  • fix(deps): update dependency ci-info to v3.7.1 #7303
  • fix(deps): update dependency babel-loader to v9.1.2 #7302
  • chore(deps): update dependency @replayio/playwright to v0.3.12 #7298
  • chore(deps): update dependency @playwright/test to v1.29.2 #7297
  • chore(deps): update dependency esbuild to v0.16.16 #7300
  • fix(deps): update dependency @types/jest to v29.2.5 #7310
  • fix(deps): update dependency prettier to v2.8.2 #7304
  • chore(deps): update dependency lerna to v6.4.0 #7313
  • chore(deps): update mheap/github-action-required-labels action to v3 #7318
  • chore(deps): update dependency @types/fs-extra to v11 #7317
  • fix(deps): update typescript-eslint monorepo to v5.48.1 #7316
  • fix(deps): update dependency systeminformation to v5.17.3 #7315
  • chore(deps): update dependency @types/yargs to v17.0.19 #7299
  • fix(deps): update dependency babel-plugin-module-resolver to v5 #7319
  • fix(deps): update dependency eslint to v8.31.0 #7314
  • chore(deps): update dependency nx to v15.4.8 #7254
  • fix(deps): update dependency @fastify/static to v6.6.1 #7327
  • chore(deps): update dependency esbuild to v0.16.17 #7326
  • chore(deps): update babel monorepo to v7.20.12 #7296
  • chore(deps): update dependency @auth0/auth0-spa-js to v1.22.6 #7328
  • chore(deps): update dependency lerna to v6.4.1 #7330
  • fix(deps): update dependency @graphql-tools/merge to v8.3.15 #7331
  • fix(deps): update dependency @whatwg-node/fetch to v0.6.2 #7333
  • fix(deps): update dependency eslint-config-prettier to v8.6.0 #7335
  • fix(deps): update dependency eslint-plugin-react to v7.32.0 #7338
  • fix(deps): update dependency eslint-plugin-jsx-a11y to v6.7.1 #7337
  • chore(deps): update dependency @replayio/playwright to v0.3.13 #7329
  • chore(deps): update dependency nx to v15.5.1 #7340
  • fix(deps): update dependency @apollo/client to v3.7.4 #7343
  • fix(deps): update dependency react-hook-form to v7.42.0 #7341
  • fix(deps): update dependency eslint to v8.32.0 #7366
  • chore(deps): update dependency esbuild to v0.17.1 #7365
  • fix(deps): update dependency react-hook-form to v7.42.1 #7364
  • fix(deps): update dependency prettier to v2.8.3 #7363
  • fix(deps): update typescript-eslint monorepo to v5.48.2 #7371
  • chore(deps): update replayio/action-upload action to v0.4.7 #7368
  • chore(deps): update sergeysova/jq-action action to v2.3.0 #7373
  • fix(deps): update dependency eslint-plugin-react to v7.32.1 #7370
  • fix(deps): update dependency listr2 to v5.0.7 #7378
  • chore(deps): update dependency nx to v15.5.2 #7381
  • chore(deps): update dependency @testing-library/dom to v8.20.0 #7372
  • fix(deps): update prisma monorepo to v4.9.0 #7379
  • fix(deps): update dependency eslint-plugin-import to v2.27.5 #7336
  • chore(deps): update dependency @types/react to v17.0.53 #7392
  • chore(deps): update dependency @types/jsonwebtoken to v9.0.1 #7391
  • chore(deps): update dependency octokit to v2.0.11 #7394
  • fix(deps): update dependency msw to v0.49.3 #7398
  • chore(deps): update dependency @types/babel__core to v7.20.0 #7399
  • chore(deps): update dependency @types/yargs to v17.0.20 #7393
  • fix(deps): update dependency @types/jest to v29.2.6 #7396
  • chore(deps): update dependency esbuild to v0.17.3 #7380
  • fix(deps): update dependency core-js to v3.27.2 #7397
  • chore(deps): update dependency npm-packlist to v7 #6589
  • fix(deps): update dependency eslint-import-resolver-babel-module to v5.3.2 #7369
  • chore(deps): update dependency cypress to v12 #7048
  • chore(deps): update dependency nx to v15.5.3 #7405
  • chore(deps): update dependency @replayio/playwright to v0.3.15 #7404
  • chore(deps): update dependency firebase to v9.16.0 #7407
  • chore(deps): update dependency supertokens-node to v12.1.5 #7406
  • chore(deps): update dependency @azure/msal-browser to v2.32.2 #7403
  • fix(deps): update graphql-tools monorepo to v9 (major) #6312
  • fix(deps): update graphqlcodegenerator monorepo #7312
  • chore(deps): update dependency supertokens-auth-react to v0.30.2 #7408
  • fix(deps): update babel monorepo to v7.20.13 #7414
  • fix(deps): update dependency fastify to v4.12.0 #7415
  • chore(deps): update dependency octokit to v2.0.13 #7418
  • chore(deps): update dependency supertokens-node to v12.1.6 #7426
  • chore(deps): update dependency esbuild to v0.17.4 #7424
  • fix(deps): update dependency jwks-rsa to v3 #7186
  • chore(deps): update dependency babel-plugin-tester to v11 #7416
  • fix(deps): update typescript-eslint monorepo to v5.49.0 #7432
  • chore(deps): update dependency babel-plugin-tester to v11.0.2 #7435
  • chore(deps): update dependency octokit to v2.0.14 #7433
  • chore(deps): update dependency nx to v15.6.0 #7437
  • chore(deps): update dependency @replayio/playwright to v0.3.16 #7436
  • fix(deps): update jest monorepo to v29.4.0 #7441
  • chore(deps): update dependency nx to v15.6.1 #7440
  • fix(deps): update dependency systeminformation to v5.17.4 #7439
  • fix(deps): update dependency jest-watch-typeahead to v2.2.2 #7438
  • chore(deps): update dependency nx to v15.6.2 #7445
  • fix(deps): update dependency @apollo/client to v3.7.5 #7446
  • chore(deps): update dependency babel-plugin-tester to v11.0.3 #7447
  • chore(deps): update dependency cypress to v12.4.0 #7448
  • chore(deps): update dependency @playwright/test to v1.30.0 #7449
  • chore(deps): update dependency babel-plugin-tester to v11.0.4 #7451
  • fix(deps): update dependency @types/jest to v29.4.0 #7453
  • chore(deps): update dependency redis to v4.6.0 #7454
  • chore(deps): update dependency @npmcli/arborist to v6.2.0 #7456
  • chore(deps): update dependency redis to v4.6.1 #7457
  • chore(deps): update dependency @clerk/clerk-react to v4.8.6 #7458
  • fix(deps): update dependency @clerk/clerk-sdk-node to v4.6.5 #7459
  • fix(deps): update graphql-tools monorepo #7461
  • fix(deps): update storybook monorepo to v6.5.16 #7463
  • fix(deps): update dependency @fastify/static to v6.7.0 #7462
  • fix(deps): update jest monorepo to v29.4.1 #7464
  • fix(deps): update dependency graphql-yoga to v3.4.0 #7465
  • fix(deps): update dependency @types/aws-lambda to v8.10.110 #7468
  • chore(deps): update dependency redis to v4.6.2 #7470
  • chore(deps): update dependency cypress to v12.4.1 #7471
  • chore(deps): update dependency esbuild to v0.17.5 #7472
  • chore(deps): update dependency @clerk/clerk-react to v4.9.0 #7473
  • chore(deps): update dependency @clerk/types to v3.25.0 #7474
  • chore(deps): update dependency @babel/generator to v7.20.14 #7478
  • chore(deps): update dependency nx to v15.6.3 #7479
  • fix(deps): update dependency tasuku to v2.0.1 #7487
  • chore(deps): update dependency redis to v4.6.3 #7486
  • fix(deps): update dependency eslint to v8.33.0 #7488
  • fix(deps): update dependency eslint-plugin-react to v7.32.2 #7489
  • fix(deps): update dependency systeminformation to v5.17.7 #7493
  • fix(deps): update dependency deepmerge to v4.3.0 #7495
  • chore(deps): update dependency typescript to v4.9.4 #6315
  • fix(deps): update dependency systeminformation to v5.17.8 #7500
  • fix(deps): update dependency @fastify/static to v6.8.0 #7502
  • fix(deps): update graphqlcodegenerator monorepo #7501

Upgrade Guide

Check out the upgrade guide over on the forums: https://community.redwoodjs.com/t/redwood-v4-0-0-upgrade-guide/4412

Don't miss a new core release

NewReleases is sending notifications on new releases.