Releases: redwoodjs/redwood
v8.4.1
Changelog
🛠️ Fixes
fix(dbAuth): Don't use Multi Value Headers on Vercel (#11718) by @Tobbe
Fixes a regression regarding dbAuth on Vercel introduced in RW 8
Properly kill dev api-server (#11691) by @callingmedic911
Sometime the api-server doesn't get killed in time before the new instance is started. This change makes sure that we wait for the process. If it's not killed within 2 seconds with SIGTERM, we send a SIGKILL to it.
Fix build with TS alias without basePath (#11693) by @callingmedic911
It fixes the build process for a project with TypeScript path alias. It uses root directory as the fallback if there's no baseUrl in tsconfig.json
.
v8.4.0
Changelog
🚧 🚨 Experimental Breaking
breaking(rsc): Removing live-reload RSC dev server approach (#11648) by @Tobbe
Please see #11648 for more details🚀 Features
feat(baremetal): Check available disk space (#11469) by @Tobbe
Adds an early step to the yarn rw deploy baremetal
command that checks to
make sure there is enough free disk space on the server before continuing.
By default it will make sure there is at least 2048 MB (2 GB) of free disk space
but this can be changed by setting the new deploy.toml
option
freeSpaceRequired
to however many MB you want.
You can skip this step by passing --no-df
to the deploy baremetal
command or
setting freeSpaceRequired
to 0
.
🛠️ Fixes
fix(jobs): merge job options to prevent 'undefined' values in place of defaults (#11666) by @Josh-Walker-GM
Please see #11666 for more detailsfix(jobs): Fixes creating worker with deleteSuccessfulJobs config setting in JobManager (#11653) by @dthyresson
According to the Job documentation, the JobManager's deleteSuccessfulJobs
can be used to decide if one wants successfully completed jobs from being deleted from the BackgroundJobs
table.
Keeping job run history around is useful for reporting purposes, such s hoe many jobs run over time, how many fails, how many successes, etc.
However, the deleteSuccessfulJobs
was not being correctly passed to the worker in createWorker
so the worker always used the default value -- true -- and always deleted the job run record regardless of configuration.
This PR fixes this issue by setting the config value when creating the worker.
fix(crwa): Add missing quotes to seed example (#11651) by @Tobbe
Just un-commenting the example seed code now gives you valid code to seed your database with
fix(web) type NonSuspenseCellQueryResult... (#11639) by @richard-stafflink
The result you get back as queryResult
is now properly typed. Typically the
type will be something like FindPostById
, i.e. the first type that is passed
to CellSuccessProps
(instead of just being any
).
fix(crwa): Better handling of installing to . (#11645) by @Tobbe
When installing to cwd
:
- Print "the current directory" instead of "."
- Skip the output of
cd
(which would move you to your home directory, which
most likely is not what you want)
📚 Docs
docs(deploy): fix grove command (#11689) by @Josh-Walker-GM
Please see #11689 for more detailsdocs: fix versioned docs (#11643) by @Josh-Walker-GM
Please see #11643 for more detailsRemoved 'Azure' as deploy provider mention' (#11116) by @pantheredeye
Please see #11116 for more detailsUpdate the Deployment step of the tutorial for GROVE (#10890) by @cannikin
Please see #10890 for more details📦 Dependencies
Click to see all dependency updates
- chore(deps): update babel monorepo to v7.25.7 (#11682) by @renovate
- chore(deps): update dependency firebase to v10.14.0 (#11680) by @renovate
- fix(deps): update dependency firebase-admin to v12.6.0 (#11681) by @renovate
- fix(deps): update dependency @types/node to v20.16.11 (#11679) by @renovate
- fix(deps): update dependency @joshwooding/vite-plugin-react-docgen-typescript to v0.4.1 (#11675) by @renovate
- fix(deps): update dependency @vitejs/plugin-react to v4.3.2 (#11673) by @renovate
- chore(deps): update dependency node to v20.18.0 (#11669) by @renovate
- fix(deps): update dependency @faire/mjml-react to v3.4.0 (#11672) by @renovate
- fix(deps): update dependency cookie to v0.7.2 (#11670) by @renovate
- chore(deps): bump cookie from 0.7.0 to 0.7.1 (#11665) by @dependabot
- fix(deps): update dependency cookie to v0.7.0 [security] (#11661) by @renovate
- fix(deps): update dependency http-proxy-middleware to v3.0.3 (#11657) by @renovate
- fix(deps): update dependency vite to v5.4.8 (#11658) by @renovate
🧹 Chore
Click to see all chore contributions
- chore(deps): update github/codeql-action digest to c36620d (#11678) by @renovate
- chore(deps): update actions/checkout action to v4.2.1 (#11676) by @renovate
- chore(deps): update dependency @actions/core to v1.11.1 (#11677) by @renovate
- chore(deps): update dependency eslint-plugin-perfectionist to v3.8.0 (#11674) by @renovate
- chore(deps): update dependency @types/jscodeshift to v0.12.0 (#11671) by @renovate
- chore(deps): update dependency knip to v5.33.1 (#11668) by @renovate
- chore(deps): update dependency @types/lodash to v4.17.10 (#11667) by @renovate
- chore(deps): update dependency rollup to v4.24.0 (#11664) by @renovate
- chore(deps): update dependency memfs to v4.13.0 (#11663) by @renovate
- chore(deps): update chore (#11662) by @renovate
- chore(deps): update dependency @types/vscode to v1.94.0 (#11659) by @renovate
- chore(release): update docs (#11637) by @Josh-Walker-GM
🚧 🧹 Experimental Chore
Click to see all chore contributions
- chore(rsc): Extract importRsdwServer() and move type assertions to utils (#11688) by @Tobbe
- chore(rsc): Fix console log and add todo (#11685) by @Tobbe
- chore(rsc): Fix TODO and simplify SSR code (#11650) by @Tobbe
- chore(rsc): Rename renderRoutesFromDist to renderRoutesSsr (#11647) by @Tobbe
- chore(rsc): Make Router-related imports safer for RSC (#11644) by @Tobbe
- chore(rsc): Remove unused node-loader (#11642) by @Tobbe
- chore(rsc): Refactor: Extract rscFetch and rsaFetch (#11582) by @Tobbe
v8.3.0
Changelog
🚧 🚨 Experimental Breaking
🛠️ Fixes
fix `NODE_OPTIONS` env forwarding (#11587) by @cometkim
This change updates how we pass through any NODE_OPTIONS
when you run the API side development server with yarn rw dev
. Previously there may have been issues like unescaped spaces in paths which would have produced errors like:
api | node:events:497
api | throw er; // Unhandled 'error' event
api | ^
api |
api | Error: spawn space.js --enable-source-maps ENOENT
api | at ChildProcess._handle.onexit (node:internal/child_process:286:19)
api | at onErrorNT (node:internal/child_process:484:16)
api | at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
api | Emitted 'error' event on ChildProcess instance at:
api | at ChildProcess._handle.onexit (node:internal/child_process:292:12)
api | at onErrorNT (node:internal/child_process:484:16)
api | at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
api | errno: -2,
api | code: 'ENOENT',
api | syscall: 'spawn space.js --enable-source-maps',
api | path: 'space.js --enable-source-maps',
api | spawnargs: [
api | 'yarn',
api | 'nodemon',
api | '--quiet',
api | '--watch',
api | '/Users/jgmw/Development/redwood/rw-test/node_options_fix/redwood.toml',
api | '--exec',
api | 'yarn rw-api-server-watch --port 8911 --debug-port 18911 | rw-log-formatter'
api | ]
api | }
api |
api | Node.js v20.17.0
Now these sort of error should no longer occur.
fix(dbAuth): Fix WebAuthn when authModelAccessor is set to a custom value (#11605) by @antonmoiseev
Previously if you had setup dbAuth with WebAuthn support and had chosen to rename the User
and UserCredential
models to some other name, such as Account
and AccountCredential
then dbAuth would have failed with an error something like:
{
"error": "this.dbCredentialAccessor.findFirst(...).user is not a function"
}
This change fixes the database access so that it correctly takes into account the configured authModelAccessor
.
Note: You should ensure your WebAuthn table has a unique index applied on the configured id
column. Something like what our setup command generates will work great:
model UserCredential {
id String @id // <-- Note the index!
...
}
Fix storybook-vite not starting when `auth.ts` contains named imports after `createAuth` (#11593) by @Philzen
This change fixes an issue with our internal storybook mocks. Previous to this you might find that your storybook would fail with an error like:
3:49:51 PM [vite] Internal server error: Transform failed with 1 error:
…/web/src/auth.ts:2:9: ERROR: Expected identifier but found ","
Plugin: vite:esbuild
File: …/web/src/auth.ts:3:6
Expected identifier but found ","
1 | import { createAuthentication as createAuth } from '@redwoodjs/testing/dist/web/mockAuth.js'
2 | import { , createDbAuthClient } from '@redwoodjs/auth-dbauth-web';
| ^
3 | const dbAuthClient = createDbAuthClient();
4 | export const {
This was due to a bug in our handling of imports which this change fixes.
fix(graphql): Allow including 'File' scalar by default to be disabled (#11540) by @Josh-Walker-GM
As of v8.0.0 a File
scalar was added to your graphql schema by default. This could be problematic if you wanted to define your own File
scalar.
With this change it is now possible to disable including this scalar by default. To see how to do so look at the Default Scalar
section of the Graphql
docs here
Default NODE_ENV to "development" if it's `undefined` when starting jobs worker (#11572) by @cannikin
This mimics the behavior of yarn rw dev
where NODE_ENV
will equal development
if you don't set it explicitly.
🚧 🛠️ Experimental Fixes
Revert "fix(rsc): Set a yarn resolution for rollup 4.21.3 (#11592)" (#11600) by @Tobbe
Please see #11600 for more detailsfix(rsc): Set a yarn resolution for rollup 4.21.3 (#11592) by @Tobbe
Please see #11592 for more details📚 Docs
fix(docs): warn that uploads/storage is experimental (#11590) by @Josh-Walker-GM
Please see #11590 for more details📦 Dependencies
Click to see all dependency updates
- chore(deps): update babel monorepo (#11633) by @renovate
- chore(deps): update eslint monorepo (#11634) by @renovate
- chore(deps): update dependency firebase to v10.13.2 (#11632) by @renovate
- chore(deps): update dependency @supabase/supabase-js to v2.45.4 (#11631) by @renovate
- chore(deps): update dependency nodemon to v3.1.7 (#11627) by @renovate
- chore(deps): update dependency esbuild to v0.24.0 (#11622) by @renovate
- fix(deps): update dependency @swc/core to v1.7.28 (#11617) by @renovate
- fix(deps): update dependency @rollup/pluginutils to v5.1.2 (#11616) by @renovate
- fix(deps): update dependency @types/node to v20.16.6 (#11618) by @renovate
- fix(deps): update dependency vite-plugin-cjs-interop to v2.1.4 (#11613) by @renovate
- chore(deps): update prisma monorepo to v5.20.0 (#11615) by @renovate
- fix(deps): update dependency vite to v5.4.7 (#11612) by @renovate
- chore(deps): update dependency rollup to v4.22.4 [security] (#11604) by @renovate
- fix(deps): update dependency find-my-way to v8.2.2 [security] (#11585) by @renovate
- fix(deps): update dependency vite to v5.4.6 [security] (#11580) by @renovate
🧹 Chore
Click to see all chore contributions
- chore(deps): update dependency eslint-plugin-perfectionist to v3.7.0 (#11630) by @renovate
- chore(deps): update dependency eslint-plugin-package-json to v0.15.3 (#11629) by @renovate
- chore(deps): update dependency eslint-plugin-n to v17.10.3 (#11628) by @renovate
- chore(deps): update github/codeql-action digest to 461ef6c (#11625) by @renovate
- chore(deps): update actions/setup-node digest to 0a44ba7 (#11624) by @renovate
- chore(deps): update chore (#11626) by @renovate
- chore(deps): Bump rollup (#11623) by @Josh-Walker-GM
- chore(deps): update dependency publint to v0.2.11 (#11621) by @renovate
- chore(deps): update dependency knip to v5.30.5 (#11619) by @renovate
- chore(deps): update dependency publint to v0.2.11 (#11620) by @renovate
- chore(deps): update dependency memfs to v4.12.0 (#11614) by @renovate
- chore(deps): update dependency @types/qs to v6.9.16 (#11611) by @renovate
- chore(deps): update dependency @types/nodemailer to v6.4.16 (#11610) by @renovate
- chore(deps): update dependency @types/lodash to v4.17.9 (#11609) by @renovate
- chore(deps): update dependency @types/jsonwebtoken to v9.0.7 (#11608) by @renovate
- chore(deps): update dependency @types/estree to v1.0.6 (#11607) by @renovate
- chore(deps): update dependency @playwright/test to v1.47.2 (#11606) by @renovate
- chore(deps): update dependency @arethetypeswrong/cli to v0.16.4 (#11586) by @renovate
- chore(test-project): Update TailwindCSS (#11583) by @Tobbe
🚧 🧹 Experimental Chore
v8.2.0
Changelog
🚀 Features
feat(cli): Make scaffolded layout routing type-safe (#11542) by @Tobbe
With this feature we now make sure only valid route names are passed as titleTo
and buttonTo
props to the scaffolded layout.
This also means you get helpful code completion when typing out the prop values
[gh11385] Updated the generated page template (#11533) by @ahaywood
This change alters the default content produced when you generate page with yarn rw g page
. Previously our generated content contained code that would error out if you had a route parameter in your page - because the link we automatically generated would not contain a value for that parameter.
🛠️ Fixes
fix(scaffold): Use plain strings in NamesCell template (#11546) by @Tobbe
Please see #11546 for more detailsfix(crwa): silence telemetry errors (#11557) by @Josh-Walker-GM
Please see #11557 for more details📚 Docs
docs(uploads): Tweaks from updating the Recipes example app (#11571) by @Tobbe
Please see #11571 for more detailsdocs(how-to): replace crypto-js with node's crypto module for random number generation in passwordless auth (#11568) by @antonmoiseev
Please see #11568 for more detailsdocs(how-to): Fix example in dbauth-passworless docs (#11567) by @Tobbe
Please see #11567 for more detailsDocs: Use Redwood's hashPassword() for loginToken hashing in the password-less dbAuth flow (#11566) by @antonmoiseev
Please see #11566 for more detailsReplace MetaTags with Metadata component (#11564) by @antonmoiseev
Please see #11564 for more details📦 Dependencies
Click to see all dependency updates
- fix(deps): update dependency vite to v5.4.5 (#11556) by @renovate
- fix(deps): update dependency @types/jest to v29.5.13 (#11554) by @renovate
- fix(deps): update dependency unplugin-auto-import to v0.18.3 (#11555) by @renovate
- fix(deps): update dependency @swc/core to v1.7.26 (#11553) by @renovate
- fix(deps): update dependency eslint-plugin-react to v7.36.1 (#11550) by @renovate
- fix(deps): update dependency firebase-admin to v12.5.0 (#11551) by @renovate
- fix(deps): update dependency envinfo to v7.14.0 (#11549) by @renovate
- fix(deps): update dependency express to v4.21.0 (#11548) by @renovate
- fix(deps): update dependency express to v4.20.0 (#11525) by @renovate
🧹 Chore
Click to see all chore contributions
- Add note to error message about running `yarn rw dev` or `yarn rw build` before the workers can be started (#11573) by @cannikin
- chore(kitchen-sink): Fix css for page width (#11570) by @Tobbe
- chore(deps): update chore (#11561) by @renovate
- chore(deps): update dependency tsx to v4.19.1 (#11559) by @renovate
- chore(deps): update dependency eslint-plugin-perfectionist to v3.6.0 (#11562) by @renovate
- chore(deps): update dependency tsx to v4.19.1 (#11560) by @renovate
- chore(fixture): update deps (#11552) by @Josh-Walker-GM
- chore(rsc): Don't pass any props to the user's Routes (#11539) by @Tobbe
- chore(deps): bump dset from 3.1.2 to 3.1.4 (#11535) by @dependabot
- chore(deps): bump express from 4.19.2 to 4.20.0 in /docs (#11530) by @dependabot
- chore(rsc): Remove RSC-specific logic from our babel config (#11528) by @Tobbe
🚧 🧹 Experimental Chore
v8.1.1
Changelog
🛠️ Fixes
fix(cli): handle both single and double quotes during dbAuth setup (#11534) by @Josh-Walker-GM
If you had changed your prettier config to use double quotes instead of the default single quotes then the yarn rw setup auth dbAuth
would fail. This change fixes that command to work regardless of quote flavour.
fix(auth0): avoid use of undefined global in browser environment (#11531) by @Josh-Walker-GM
The Auth0 auth provider was failing in the browser due to trying to access global
. This change corrects this and fixes Auth0 usage in the browser.
🧹 Chore
Click to see all chore contributions
- chore(crwa): transform lint ignore line as part of ts-to-js (#11538) by @Josh-Walker-GM
v8.1.0
Changelog
🚧 🚀 Experimental Features
🛠️ Fixes
fix: update community discussion link in output from cli - yarn rw upgrade (#11468) by @jgal1
Please see #11468 for more detailsfix(cli): explicitly set the version so `--version` works (#11461) by @Josh-Walker-GM
Please see #11461 for more detailsfix(jobs): Make deleteSuccessfulJobs configurable (#11459) by @Tobbe
Make the jobs Executor respect the deleteSuccessfulJobs
config option
fix(linting): Re-enable babel presets during linting of javascript projects (#11458) by @Josh-Walker-GM
The yarn rw lint
command was failing for JavaScript projects. This change re-enables certain babel plugins to correct this issue and allow this command to succeed again.
fix(resolutions): Remove rehackt resolution (#11447) by @Tobbe
The rehackt resolution isn't needed anymore. Apollo Client has updated to rehackt 0.1.0. See https://github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3101
Unfortunately this requires our users to manually go and update their resolutions
Updates SDL codegen to handle prettier 3 correctly (#11446) by @orta
Please see #11446 for more details🚧 🛠️ Experimental Fixes
fix(rsc): Don't run the Vite dev server in production (#11425) by @Tobbe
Please see #11425 for more detailsfix(rsa): Use dist filenames when registering server references (#11417) by @Tobbe
Please see #11417 for more details📚 Docs
Correct Note Admonition (#11455) by @pantheredeye
Please see #11455 for more details📦 Dependencies
Click to see all dependency updates
- chore(deps): update dependency typescript to v5.6.2 (#11513) by @renovate
- fix(deps): update typescript-eslint monorepo to v8.5.0 (#11517) by @renovate
- chore(deps): update babel monorepo (#11499) by @renovate
- fix(deps): update dependency @graphql-yoga/plugin-persisted-operations to v3.7.0 (#11489) by @renovate
- fix(deps): update dependency core-js to v3.38.1 (#11497) by @renovate
- fix(deps): update dependency @graphql-yoga/plugin-defer-stream to v3.7.0 (#11487) by @renovate
- chore(deps): update dependency @supabase/ssr to v0.5.1 (#11503) by @renovate
- fix(deps): update dependency graphql-yoga to v5.7.0 (#11493) by @renovate
- chore(deps): update dependency @testing-library/jest-dom to v6.5.0 (#11504) by @renovate
- fix(deps): update dependency @graphql-yoga/plugin-graphql-sse to v3.7.0 (#11488) by @renovate
- fix(deps): update dependency eslint-plugin-import to v2.30.0 (#11490) by @renovate
- fix(deps): update graphql-tools monorepo (#11498) by @renovate
- chore(deps): update dependency node to v20.17.0 (#11508) by @renovate
- fix(deps): update dependency firebase-admin to v12.4.0 (#11492) by @renovate
- fix(deps): update dependency eslint-plugin-jsx-a11y to v6.10.0 (#11491) by @renovate
- fix(deps): update dependency react-hook-form to v7.53.0 (#11495) by @renovate
- fix(deps): update dependency type-fest to v4.26.1 (#11496) by @renovate
- chore(deps): update prisma monorepo to v5.19.1 (#11486) by @renovate
- fix(deps): update dependency @whatwg-node/server to v0.9.49 (#11484) by @renovate
- fix(deps): update dependency pino to v9.4.0 (#11494) by @renovate
- fix(deps): update dependency vite to v5.4.3 (#11477) by @renovate
- fix(deps): update dependency @envelop/on-resolve to v4.1.1 (#11480) by @renovate
- fix(deps): update dependency @types/aws-lambda to v8.10.145 (#11482) by @renovate
- fix(deps): update dependency @swc/core to v1.7.24 (#11481) by @renovate
- fix(deps): update dependency @whatwg-node/fetch to v0.9.21 (#11483) by @renovate
- fix(deps): update dependency msw to v1.3.4 (#11474) by @renovate
- fix(deps): update dependency vite-plugin-cjs-interop to v2.1.3 (#11478) by @renovate
- fix(deps): update dependency systeminformation to v5.23.5 (#11476) by @renovate
- fix(deps): update dependency isbot to v5.1.17 (#11472) by @renovate
- fix(deps): update dependency nodemailer to v6.9.15 (#11475) by @renovate
- fix(deps): update dependency lru-cache to v11.0.1 (#11473) by @renovate
- fix(deps): update dependency eslint-plugin-react to v7.35.2 (#11470) by @renovate
- fix(deps): update dependency http-proxy-middleware to v3.0.2 (#11471) by @renovate
- chore(deps): update dependency firebase to v10.13.1 (#11437) by @renovate
- chore(deps): update dependency @supabase/supabase-js to v2.45.3 (#11434) by @renovate
- chore(deps): update dependency @envelop/core to v5.0.2 (#11432) by @renovate
- chore(deps): update dependency esbuild to v0.23.1 (#11436) by @renovate
🧹 Chore
Click to see all chore contributions
- chore(ci): Temporarily disable 'check:package' step (#11520) by @Josh-Walker-GM
- chore(deps): update dependency @arethetypeswrong/cli to v0.16.2 (#11502) by @renovate
- chore(deps): update dependency @actions/glob to v0.5.0 (#11501) by @renovate
- chore(deps): update dependency tsx to v4.19.0 (#11511) by @renovate
- chore(deps): update dependency @types/vscode to v1.93.0 (#11505) by @renovate
- chore(deps): update chore (#11500) by @renovate
- chore(deps): update dependency eslint-plugin-perfectionist to v3.5.0 (#11506) by @renovate
- chore(deps): update dependency ora to v8.1.0 (#11509) by @renovate
- chore(deps): update dependency tsx to v4.19.0 (#11512) by @renovate
- chore(deps): update dependency knip to v5.30.1 (#11507) by @renovate
- chore(deps): update dependency rollup to v4.21.2 (#11510) by @renovate
- chore(deps): update dependency typescript to v5.6.2 (#11514) by @renovate
- chore(deps): update eslint monorepo to v9.10.0 (#11515) by @renovate
- fix(deps): update dependency prism-react-renderer to v2.4.0 (#11516) by @renovate
- chore(deps): update ossf/scorecard-action action to v2.4.0 (#11485) by @renovate
- chore(auth-providers): switch firebase web to esbuild (#11467) by @Josh-Walker-GM
- chore(auth-providers): switch firebase-web to vitest (#11466) by @Josh-Walker-GM
- chore(ci): Fix snapshots after CLI update (#11462) by @Josh-Walker-GM
- chore(ci): fix type tests running in ci (#11460) by @Josh-Walker-GM
- chore(ci): Revert scorecard related action bump (#11456) by @Josh-Walker-GM
- chore: fix ending newline in package.json (#11454) by @Josh-Walker-GM
- chore(rsc): Refactor: Split rscWorker into worker and renderer (#11452) by @Tobbe
- chore(rsc): Random changes, mostly to comments etc, in prep for removing the worker (#11451) by @Tobbe
- chore(storage): Add type tests & extra tests for savers and result extension (#11416) by @dac09
- chore(deps): update dependency jsdom to v24.1.3 (#11438) by @renovate
- chore(deps): update dependency @playwright/test to v1.47.0 (#11433) by @renovate
- chore(deps): update dependency @types/eslint to v8.56.12 (#11435) by @renovate
- chore(deps): update eslint monorepo to v9.9.1 (#11441) by @renovate
- chore(deps): update actions/upload-artifact digest (#11442) by @renovate
- chore(deps): update dependency prettier-plugin-packagejson to v2.5.2 (#11440) by @renovate
- chore(deps): update mheap/github-action-required-labels digest to d25134c (#11443) by @renovate
- chore(deps): update dependency prettier-plugin-packagejson to v2.5.2 (#11439) by @renovate
- chore(deps): update actions/checkout action to v4.1.7 (#11444) by @renovate
- chore(rsc): Remove unused methods in the worker (#11431) by @Tobbe
- chore(publishing): Fix canary publishing for next branch (#11429) by @Josh-Walker-GM
- chore(changesets): Delete old ones post v8 release (#11428) by @Josh-Walker-GM
- chore(test-project): Update to postcss 8.4.45 (#11424) by @Tobbe
- chore(docs): Compress v7 versions into v7.x (#11422) by @Josh-Walker-GM
🚧 🧹 Experimental Chore
Click to see all chore contributions
v8.0.0
Upgrade Guide
https://redwoodjs.com/upgrade/v8
Changelog
🚨 Breaking
fix(template): Set scripts/ module resolution to match api/ (#11366) by @Tobbe
Make the module resolution for scripts/
be more predictable/stable, and match that of api/
See also #11170
fix(tsconfig): set "module" to "ESNext" for web/tsconfig.json (#11368) by @Tobbe
Please see #11368 for more detailsrefactor(forms): Build with esbuild and add conditional exports (#11338) by @Josh-Walker-GM
This change introduces restrictions on what can be imported from the @redwoodjs/forms
package. You can no longer import from @redwoodjs/forms/dist/...
. All imports should be available simply from @redwoodjs/forms
.
refactor(prerender): build with esbuild and introduce conditional exports (#11337) by @Josh-Walker-GM
This change restricts the available imports from the @redwoodjs/prerender
package. You will also have to use modern moduleResolution
settings in your tsconfig to resolve the imports correctly within TS.
refactor(api): Add conditional exports to package.json (#11307) by @Josh-Walker-GM
This change restricts the available imports from this package. You can no longer freely import from within the dist like @redwoodjs/api/dist/...
. If you were doing so please consult the @redwoodjs/api
package.json
file to see what exports are now available.
fix(internal): Move away from babel for building package (#11304) by @Josh-Walker-GM
Please see #11304 for more detailsfix: Update default tsconfig options (target, module and moduleResolution) (#11170) by @Josh-Walker-GM
This changes the default values of:
- target
- module
- moduleResolution
in the tsconfig files for both the API and web side. The benefit of this change is increased correctness for build time checking of the imports from packages which specify exports
in their package.json
files.
This change will have a limited effect while Redwood apps are still built to CJS rather than ESM. After that switch to ESM there would be more breaking changes but they are not applied here and are a future concern.
chore: brought in typescript-eslint@v8 with stylistic preset (#10911) by @JoshuaKGoldberg
This change updates Redwood linting config and introduces some changes to the linting rules that are applied to your project.
Specifically:
jsx-a11y/no-noninteractive-element-to-interactive-role
has it's default config updated.@typescript-eslint/explicit-function-return-type
used to be turned off, now it's no longer applied.@typescript-eslint/no-empty-interface
- used to be turned off, now it's no longer applied.@typescript-eslint/explicit-module-boundary-types
- used be turned off, now it's no longer applied.@typescript-eslint/ban-types
- used to be 'warn', now it's no longer applied. This has been replaces with a set of smaller more specific rules.no-empty-function
- used be turned off, now it's no longer applied. The ts-eslint flavour is still there and turned off still.camelcase
- used to be turned off, now it's 'warn'.@typescript-eslint/camelcase
- used to be turned off, now it's no longer applied.no-use-before-define
- used to be turned off, now it's no longer applied.@typescript-eslint/no-use-before-define
- used to be turned off, now it's no longer applied.@typescript-eslint/prefer-namespace-keyword
- used to be turned off, now it's 'error'unicode-bom
- used to be turned off, now it's no longer applied.@typescript-eslint/adjacent-overload-signatures
- used to be 'error', now it's no longer applied.@typescript-eslint/no-explicit-any
- used be 'warn', now 'error'@typescript-eslint/no-inferrable-types
- used to be 'error', now it's no longer applied.no-loss-of-precision
- used be 'off', now 'error'@typescript-eslint/no-loss-of-precision
- used be 'error', now it's no longer applied.@typescript-eslint/no-non-null-assertion
- used be 'warn', now it's no longer applied.valid-typeof
- used be either 'error' or 'off', now always 'error'no-unused-expressions
- used be always 'error', now either 'error' or 'off'@typescript-eslint/prefer-function-type
- newly added as 'off'@typescript-eslint/no-require-imports
- newly added as 'off'@typescript-eslint/no-empty-object-type
- newly added as 'off'unicorn/template-indent
- newly added as 'off'@typescript-eslint/no-duplicate-enum-values
- newly added as 'error'@typescript-eslint/no-unsafe-declaration-merging
- newly added as 'error'@typescript-eslint/no-unsafe-function-type
- newly added as 'error'@typescript-eslint/no-unused-expressions
- newly added as 'error'@typescript-eslint/no-wrapper-object-types
- newly added as 'error'no-new-native-nonconstructor
- newly added as 'off'
fix(deps): update typescript-eslint monorepo to v8 (major) (#11235) by @Josh-Walker-GM
Please see #11235 for more detailsfix(api-server): Use createServer in all cases, to make fastify config consistent (#11176) by @dac09
[BREAKING] Removes serverConfig support, in favour of server file to configure your Fastify instance.
You can still customise your server settings by running yarn rw setup server-file
first. See docs for Server File
This PR removes all the cases where we use createFastifyInstance
for the api server, and replaces it with createServer
. This makes sure that the API server config is always consistent - whether you use a server file or not.
fix(deps): update dependency resend to v3 (#11040) by @Josh-Walker-GM
Please see #11040 for more detailsbreaking: remove webpack (#10867) by @Josh-Walker-GM
This PR removes support for webpack. There are a number of breaking changes associated with removing a core component of previous versions. A list of such changes is:
prebuildWebFile
is function no longer exported from@redwoodjs/babel-config
package@redwoodjs/cli-storybook
has been removedyarn rw build
no longer accepts the--stats
flagyarn rw dev
no longer accepts the--watchNodeModules
flagyarn rw setup custom-web-index
command has been removedyarn rw setup webpack
has been removed@redwoodjs/core
no longer provides@redwoodjs/core/config/*
files- The
web.bundler
TOML config option has been removed @redwoodjs/testing
no longer provides storybook config files@redwoodjs/testing
no longer provides aStorybookProvider
- The
webpack
bin has been removed from@redwoodjs/web
You can also find more information on the upgrade guide.
feat(colors): Add more chalk colors. And prepare for chalk upgrade (#10939) by @Tobbe
Add more colors to @redwoodjs/cli-helpers
.
Breaking: No longer exporting green
as a color. Use tip
or success
instead depending on what you want to convey.
remove(cli): Remove deprecated deploy providers (#10859) by @Josh-Walker-GM
This change removes the deprecated deploy providers edgio and serverless. Serverless has been restored and is available in v8.
chore(codemods): Remove pre v1 related content (#10831) by @Josh-Walker-GM
Please see #10831 for more detailsfix(deps): update dependency firebase-admin to v12 (#10833) by @renovate
This change updates our firebase auth provider to use the v12 major version of the firebase-admin
package. This will require you to update your own version of firebase-admin
that is listed in your api side package json file.
We have noticed no breaking api changes in our limited testing. Please consult the firebase-admin
upgrade guide if you experience problems after upgrading - especially if you have more extensive or complex use of the firebase suite of products.
fix(functions-test): Fix mockHttpEvent for null bodies (#10570) by @Tobbe
With an empty/null payload (which it is by default) the body should be empty, not the string 'null'
This is a breaking change for anyone who was depending on the current "null" behavior in their api function tests. More specifically, if you're NOT passing body
or payload
to mockHttpEvent({ ... })
or if you're trying to explicitly set payload
to null
you might have to update your tests.
feat: Remove `--performance` option from `yarn rw build` (#10453) by @Josh-Walker-GM
This change removes the --performance
flag from the yarn rw build
command. It will no longer be available to use and the CLI will no longer accept this flag being passed in.
Additionally, the associated webpack config (@redwoodjs/core/config/webpack.perf.js
) has been removed so it can no longer be imported if you were doing so.
v7.7.4
Patch Release
-
fix(cli-cache): Remove RW CLI cache on upgrade (#11135) by @dac09
This change removes the redwood cli plugin cache in
.redwood/commandCache.json
on runningrw upgrade
. This prevents the redwood CLI from using outdated versions of CLI plugins, and is particularly important when they same alias.Before
runningyarn rw sb
-> would use the outdated storybook-cli package, and error out.
After
with no commandCache, it'll create a new command cache, and attempt to install the new vite CLI
v8.0.0-rc.x
Upgrade Guide
https://community.redwoodjs.com/t/redwood-v8-0-0-upgrade-guide/
Changelog
🚨 Breaking
fix: Update default tsconfig options (target, module and moduleResolution) (#11170) by @Josh-Walker-GM
This changes the default values of:
- target
- module
- moduleResolution
in the tsconfig files for both the API and web side. The benefit of this change is increased correctness for build time checking of the imports from packages which specify exports
in their package.json
files.
This change will have a limited effect while Redwood apps are still built to CJS rather than ESM. After that switch to ESM there would be more breaking changes but they are not applied here and are a future concern.
chore: brought in typescript-eslint@v8 with stylistic preset (#10911) by @JoshuaKGoldberg
This change updates Redwood linting config and introduces some changes to the linting rules that are applied to your project.
Specifically:
jsx-a11y/no-noninteractive-element-to-interactive-role
has it's default config updated.@typescript-eslint/explicit-function-return-type
used to be turned off, now it's no longer applied.@typescript-eslint/no-empty-interface
- used to be turned off, now it's no longer applied.@typescript-eslint/explicit-module-boundary-types
- used be turned off, now it's no longer applied.@typescript-eslint/ban-types
- used to be 'warn', now it's no longer applied. This has been replaces with a set of smaller more specific rules.no-empty-function
- used be turned off, now it's no longer applied. The ts-eslint flavour is still there and turned off still.camelcase
- used to be turned off, now it's 'warn'.@typescript-eslint/camelcase
- used to be turned off, now it's no longer applied.no-use-before-define
- used to be turned off, now it's no longer applied.@typescript-eslint/no-use-before-define
- used to be turned off, now it's no longer applied.@typescript-eslint/prefer-namespace-keyword
- used to be turned off, now it's 'error'unicode-bom
- used to be turned off, now it's no longer applied.@typescript-eslint/adjacent-overload-signatures
- used to be 'error', now it's no longer applied.@typescript-eslint/no-explicit-any
- used be 'warn', now 'error'@typescript-eslint/no-inferrable-types
- used to be 'error', now it's no longer applied.no-loss-of-precision
- used be 'off', now 'error'@typescript-eslint/no-loss-of-precision
- used be 'error', now it's no longer applied.@typescript-eslint/no-non-null-assertion
- used be 'warn', now it's no longer applied.valid-typeof
- used be either 'error' or 'off', now always 'error'no-unused-expressions
- used be always 'error', now either 'error' or 'off'@typescript-eslint/prefer-function-type
- newly added as 'off'@typescript-eslint/no-require-imports
- newly added as 'off'@typescript-eslint/no-empty-object-type
- newly added as 'off'unicorn/template-indent
- newly added as 'off'@typescript-eslint/no-duplicate-enum-values
- newly added as 'error'@typescript-eslint/no-unsafe-declaration-merging
- newly added as 'error'@typescript-eslint/no-unsafe-function-type
- newly added as 'error'@typescript-eslint/no-unused-expressions
- newly added as 'error'@typescript-eslint/no-wrapper-object-types
- newly added as 'error'no-new-native-nonconstructor
- newly added as 'off'
fix(deps): update typescript-eslint monorepo to v8 (major) (#11235) by @Josh-Walker-GM
Please see #11235 for more detailsfix(api-server): Use createServer in all cases, to make fastify config consistent (#11176) by @dac09
[BREAKING] Removes serverConfig support, in favour of server file to configure your Fastify instance.
You can still customise your server settings by running yarn rw setup server-file
first. See docs for Server File
This PR removes all the cases where we use createFastifyInstance
for the api server, and replaces it with createServer
. This makes sure that the API server config is always consistent - whether you use a server file or not.
fix(deps): update dependency resend to v3 (#11040) by @Josh-Walker-GM
Please see #11040 for more detailsbreaking: remove webpack (#10867) by @Josh-Walker-GM
This PR removes support for webpack. There are a number of breaking changes associated with removing a core component of previous versions. A list of such changes is:
prebuildWebFile
is function no longer exported from@redwoodjs/babel-config
package@redwoodjs/cli-storybook
has been removedyarn rw build
no longer accepts the--stats
flagyarn rw dev
no longer accepts the--watchNodeModules
flagyarn rw setup custom-web-index
command has been removedyarn rw setup webpack
has been removed@redwoodjs/core
no longer provides@redwoodjs/core/config/*
files- The
web.bundler
TOML config option has been removed @redwoodjs/testing
no longer provides storybook config files@redwoodjs/testing
no longer provides aStorybookProvider
- The
webpack
bin has been removed from@redwoodjs/web
You can also find more information on the upgrade guide.
feat(colors): Add more chalk colors. And prepare for chalk upgrade (#10939) by @Tobbe
Add more colors to @redwoodjs/cli-helpers
.
Breaking: No longer exporting green
as a color. Use tip
or success
instead depending on what you want to convey.
remove(cli): Remove deprecated deploy providers (#10859) by @Josh-Walker-GM
This change removes the deprecated deploy providers edgio and serverless. Serverless has been restored and is available in v8.
chore(codemods): Remove pre v1 related content (#10831) by @Josh-Walker-GM
Please see #10831 for more detailsfix(deps): update dependency firebase-admin to v12 (#10833) by @renovate
This change updates our firebase auth provider to use the v12 major version of the firebase-admin
package. This will require you to update your own version of firebase-admin
that is listed in your api side package json file.
We have noticed no breaking api changes in our limited testing. Please consult the firebase-admin
upgrade guide if you experience problems after upgrading - especially if you have more extensive or complex use of the firebase suite of products.
fix(functions-test): Fix mockHttpEvent for null bodies (#10570) by @Tobbe
With an empty/null payload (which it is by default) the body should be empty, not the string 'null'
This is a breaking change for anyone who was depending on the current "null" behavior in their api function tests. More specifically, if you're NOT passing body
or payload
to mockHttpEvent({ ... })
or if you're trying to explicitly set payload
to null
you might have to update your tests.
feat: Remove `--performance` option from `yarn rw build` (#10453) by @Josh-Walker-GM
This change removes the --performance
flag from the yarn rw build
command. It will no longer be available to use and the CLI will no longer accept this flag being passed in.
Additionally, the associated webpack config (@redwoodjs/core/config/webpack.perf.js
) has been removed so it can no longer be imported if you were doing so.
fix(router): Remove barrel exports from router.tsx (#10464) by @Tobbe
We were using both index.ts
and router.tsx
as barrel export files. We should move away from barrel exports at some point, and we definitely don't need two files doing it in the same package. Everything that was exported from router.tsx
is already exported by other files (except Router
itself). So I updated the code to import from there directly instead.
This is a breaking change for anyone who does import ... from '@redwoodjs/router/dist/router'
in their project. Which hopefully isn't very many.
- The quick fix is to find the original export and pull from there instead
- The real fix is to talk to us on the core team and see if we can provide an
official way of solving it instead of relying on internal implementation
details 🙂
chore(linting): Update versions and avoid `{}` (#10266) by @Josh-Walker-GM
This PR updates the versions of the eslint
and the @typescript-eslint
packages from v5 to v7.
This is a major upgrade of the @typescript-eslint
package and although we think it is unlikely to introduce a breaking change for you we would recommend that you read the associated documentation. The v6 upgrade can be found here and the v7 one here.
fix(navlink): Replace (don't merge) className of active link (#10342) by @Tobbe
We should be replacing className with activeClassName
for the active link. Currently we try to merge them, but that makes it very difficult for end users to have full control over exactly what classes are applied to active links
Fixes https://g...