🌲 RedwoodJS Conference, September 26-29 in Oregon, USA
The first RedwoodJS in-person conference is only two months away! Details and discussions are happening here on the forums.Registration here: www.redwoodjsconf.com.
Upgrade Guide
https://community.redwoodjs.com/t/redwood-v6-0-0-upgrade-guide/5044
Changelog
Breaking
Vite
- Make Vite the default bundler #8301 by @dac09
- chore(vite): Rename entry-client.tsx to entry.client #8592 by @dac09
- feat(codemod): Add codemod for js to jsx conversion #8551 by @Josh-Walker-GM
- Update .js files to .jsx #8537 by @cannikin
- ESLint rule: process-env-computed #8612 by @Tobbe
- fix(vite): Tailwind/postcss optimisation issue #8471 by @dac09
- fix(vite): Do not use getPaths in vite setup handler #8610 by @dac09
- fix(vite): list imports before dns call #8620 by @jtoar
- fix(vite): Change config for mantine and chakra to use export default #8639 by @dac09
- Use vite unless bundler === webpack #8731 by @Tobbe
- Setup vite: No longer experimental #8745 by @Tobbe
- chore(vite): Hide API proxy error on start #8705 by @dac09
- fix(v6): specify that the custom web index is webpack only #8772 by @jtoar
- buildHandler: Give execa cwd for yarn to find the rw-vite-build binary #8795 by @Tobbe
- "Cleaning web" is only needed for Webpack #8807 by @Tobbe
- docs(vite): Remove references to webpack, and more docs on SVGs and fonts #8707 by @dac09
- Updates tutorial to use .jsx instead of .js for JSX files #8758 by @cannikin
- codemod(v6): Convert all process.env usage to dot notation #8611 by @dac09
- chore(lint): Humanise eslint error for accessing process.env #8638 by @dac09
- Remove DevFatalErrorPage import when building #8648 by @Tobbe
- codemod(svgs): Convert imported SVGs to react components #8564 by @dac09
- v6 codemod: FatalErrorPage #8713 by @Tobbe
- Tweak vite setup output #8740 by @Tobbe
- chore(vite): Remove unused vite-plugin-commonjs #8750 by @dac09
- Pass webDir to rw-vite-build for setting cwd #8735 by @Tobbe
- Vite plugin to replace env vars in index.html #8929 by @Tobbe
- Update svgr codemod to output TS for tsx inputs #8935 by @Tobbe
- Expose environment variables also on import.meta.env #8928 by @Tobbe
- Webpack: Use resolve-url-loader to handle absolute paths in css url() #8980 by @Tobbe
- chore(v6): add codemod changing
global
toglobalThis
#8924 by @jtoar
Prisma v5
- fix(deps): update prisma monorepo to v5 (major) #8891
Storybook v7
- feat(storybook): upgrade to v7 #8342 by @jtoar
- fix(docs): remove the section on configuring Storybook's manager #8801 by @jtoar
- feat(cli): Lazy install storybook #8454 by @Josh-Walker-GM
- cli(fix): Stop storybook command installing early #8828 by @Josh-Walker-GM
- Updated Storybook Template files to for CSF 3 #8788 by @ahaywood
- fix(cli): Prevent unwanted SIGINT error message from storybook #8977 by @Josh-Walker-GM
- chore(cli-storybook): Add telemetry #8803 by @Josh-Walker-GM
Suspense Router
- feat(router): Implement routing with Suspense #8392 by @dac09
- Make unsupported route components rule error for v6 #8776 by @jtoar
- Change router rule to error in ESLint config #8779 by @jtoar
RedwoodApolloProvider
- feat(apollo): add linkFactory for better customization of apollo links #8500 by @russell-dot-js
- chore(apollo): make previous Apollo Link change breaking #8761 by @jtoar
Logging
- Remove overly verbose data from custom formatter #8353 by @cravend
- Move fastify.logger.infos to fastify.logger.traces #8590 by @orta
- Lets the watcher CLI show some logs in debug/trace and others all the time (and adds duration) #8591 by @orta
Firebase major versions
- feat(firebase-admin): upgrade to v11 #8305 by @rapzo
- fix(firebase): improve error handling #8976 by @jtoar
- chore(deps): update dependency firebase to v10 #8972
Supertokens major versions
- Update SuperTokens dependencies #8957 by @nkshah2
- fix(supertokens): improve setup and fix lint errors #8971 by @jtoar
Misc breaking changes
- remove
setup ui windicss
(project is sunsetting) #8598 by @thedavidprice - chore(v6): change to React automatic runtime #8926 by @jtoar
Features
- feat(cli): Add README to .redwood #8790 by @Josh-Walker-GM
- feature(#8676): added usernameMatch criteria to login methods to match signup #8686 by @ageddesi
- Additional Messaging for Compatibility Checking for Create Redwood App #8673 by @ahaywood
- rw upgrade: Update package versions from template package.json #8855 by @Tobbe
- CRWA: --yes #8870 by @Tobbe
- CRWA: Prompt for installation dir #8955 by @Tobbe
Fixed
- Fix the codegen path for the GraphQL context object #8585 by @orta
- fix(type defs): log type-def generation errors at the end #8448 by @jtoar
- fix(graphql-server): Conditionally enable OTel plugin and OTel plugin updates #8782 by @Josh-Walker-GM
- fix(cli): Telemetry improvements #8798 by @Josh-Walker-GM
- fix(cli): Revert change to prisma error message #8825 by @Josh-Walker-GM
- yarn rw upgrade: Not < v1 anymore #8853 by @Tobbe
- Update Tailwind setup. Show extensions to install #8954 by @Tobbe
- fix(cli): Prevent multiple update available messages #8809 by @Josh-Walker-GM
- serve web: Fix socket support #8936 by @Tobbe
- fix(cli): Escape telemetry in exec command #8947 by @Josh-Walker-GM
- CRWA: Move git init to include yarn.lock #8956 by @Tobbe
Docs
- [Docs] Couple typos in OAuth how-to doc, adds versioned docs for 5.x, 4.x, 3.x #8793 by @cannikin
- Oauth How-to: Adds note about not exposing accessToken via SDL #8839 by @cannikin
- Added documentation for the Create Redwood App #8777 by @ahaywood
- Proofreading updates to the CRWA docs #8898 by @Tobbe
- Update intermission.md including a caution block to let the reader know not to look for a Typescript version #8885 by @jgal1
- docs: update ArticleQuery type in routing-params.md #8895 by @ekafyi
- docs(services): fix numericality validation example #8892 by @roeeyn
- Update name reference in Redwood Docs #8904 by @joriswill
- docs: Change ref to webpack -> vite. Update url #8960 by @Tobbe
- Update flightcontrol.md #8970 by @ModupeD
- docs: Update file structure #8959 by @Tobbe
Chore
- fix(rebuild-fixture): add temporary step for Storybook v7 #8406 by @jtoar
- feat(ci): isolate smoke tests, introduce caching #8449 by @jtoar
- chore(ci): deduplicate yarn cache by removing the
set-up-job
action #8504 by @jtoar - chore(ci): use canary version of rwjs vite #8526 by @jtoar
- chore(cli-storybook): improve types, style changes #8555 by @jtoar
- chore(CI): test webpack in tutorial e2e #8602 by @jtoar
- chore(ci): use the line reporter for now #8605 by @jtoar
- chore(CI): test webpack in the smoke tests #8604 by @jtoar
- test-project-rebuild #8516 by @Tobbe
- Update command to rebuild test project fixture #8624 by @Tobbe
- Rebuild fixture: await copyProject #8625 by @Tobbe
- chore(project-config): Cache results of common functions #8581 by @Josh-Walker-GM
- chore(cli-plugins): remove project file from sb command #8626 by @jtoar
- chore(smoke-tests): make smoke tests easier to run locally #8607 by @jtoar
- regenerate test project fixture: Include @rwjs/vite in v6 specific step #8654 by @Tobbe
- Remove unused global var RWJS_WEB_BUNDLER #8655 by @Tobbe
- rebuild-test-project-fixture: Print tmp dir and other output tweaks #8657 by @Tobbe
- rebuild-test-project-fixture: Hardcode migration time #8656 by @Tobbe
- chore(cli): Add OpenTelemetry #8653 by @Josh-Walker-GM
- chore(ci): Fix playwright timeout #8687 by @Josh-Walker-GM
- chore(rwfw): Add force optimise to vite.config when running project:sync #8688 by @dac09
- chore(vite) Remove invalid comment #8729 by @Tobbe
- Update test-project after Vite doc changes #8755 by @Tobbe
- internal(rwfw) Add bins as scripts #8754 by @Tobbe
- chore(cli): Telemetry robustness and command name convention #8747 by @Josh-Walker-GM
- chore(cli): Update checker background process logging improvement #8762 by @Josh-Walker-GM
- chore(v6): temporarily revert host-related changes #8765 by @jtoar
- structure: Update lru-cache to v7 to minimize project:copy issues #8805 by @Tobbe
- Add babel plugin to internal deps #8830 by @Tobbe
- Fix babel devDeps in internal #8831 by @Tobbe
- chore: use renamed babel plugin packages #8832 by @jtoar
- chore(renovate): audit
renovate.json
#8856 by @jtoar - chore(deps): bump semver from 6.3.0 to 6.3.1 in /packages/studio/frontend #8883 by @dependabot
Experimental features
This release includes many commits from experimental features. While these features aren't available yet, for completeness, here's the PRs that went into each one.
GraphQL Realtime
- Refactor GraphQL Server and CreateYoga to Support "api serve" with Fastify Server #8339 by @dthyresson
- feat: WIP Support Authentication in Realtime Subscriptions #8813 by @dthyresson
- feature: Support GraphQL Subscriptions on web side #8374 by @dthyresson
- feature: Configure Redwood Realtime in GraphQL Yoga #8397 by @dthyresson
- feature: Support Auth in Fastify GraphQL Server by mimicking Lambda Events and Context #8533 by @dthyresson
- feature: Generate boilerplate to create RedwoodJS Realtime with GraphQL Live Queries or Subscriptions #8710 by @dthyresson
- chore: RedwoodJS GraphQL subscription templates now use Dynamic Topic IDs #8766 by @dthyresson
- feat: Configure In-Memory or Redis-backed GraphQL Live Query and Subscriptions #8791 by @dthyresson
- feat: Support Authentication in Realtime Subscriptions #8815 by @dthyresson
- fix: Fixes and simplifies the Countdown subscription example for Realtime #8838 by @dthyresson
- fix(fastify): Ensure global context is unique and scoped to an individual request lifetime #8569 by @Josh-Walker-GM
- chore: Update graphql-server to Yoga v4 and latest subscriptions #8753 by @dthyresson
- chore: Cleans up server template for realtime #8487 by @dthyresson
- chore: Remind to setup auth in server file GraphQL configuration #8742 by @dthyresson
- fix(v6): Refactor Redwood Realtime as a new redwoodjs/realtime package to better handle dependencies #8878 by @jtoar
- fix(rw serve): conditionally import
@redwoodjs/realtime
#8950 by @jtoar
Server File
- feat(cli): Support experimental server file from
yarn rw dev
#8623 by @Josh-Walker-GM - fix(cli): Add experimental notice when
rw dev
uses server file #8723 by @Josh-Walker-GM
CLI Plugins
- feat(cli): Experimental support for plugins #8316 by @Josh-Walker-GM
- fix(cli): Fix plugin loading logic for built-in commands #8494 by @Josh-Walker-GM
- fix(cli): Revert change to error display for
rw test
#8770 by @Josh-Walker-GM - chore(cli): Rename command cache file #8699 by @Josh-Walker-GM
Dependencies
Click to see all upgraded dependencies
- fix(deps): update dependency babel-plugin-polyfill-corejs3 to v0.8.2 #8834
- fix(deps): update storybook monorepo to v7.0.15 #8403
- fix(deps): update dependency @types/webpack-env to v1.18.1 #8412
- fix(deps): update storybook monorepo to v7.0.17 #8413
- fix(deps): update storybook monorepo to v7.0.18 #8431
- fix(deps): update storybook monorepo to v7.0.20 #8558
- chore(deps): update dependency supertokens-auth-react to v0.33.0 #8562
- chore(deps): update dependency supertokens-auth-react to v0.33.1 #8576
- chore(deps): update dependency esbuild to v0.18.2 #8616
- chore(deps): update dependency esbuild to v0.18.3 #8628
- fix(deps): update storybook monorepo to v7.0.21 #8630
- chore(deps): update dependency esbuild to v0.18.4 #8646
- fix(deps): update storybook monorepo to v7.0.22 #8652
- fix(deps): update storybook monorepo to v7.0.23 #8696
- chore(deps): update dependency esbuild to v0.18.7 #8717
- chore(deps): update dependency esbuild to v0.18.8 #8727
- chore(deps): update dependency esbuild to v0.18.9 #8736
- fix(deps): update storybook monorepo to v7.0.24 #8751
- chore(deps): update dependency esbuild to v0.18.10 #8748
- fix(deps): update dependency fastify to v4.19.0 #8802
- fix(deps): update dependency @tremor/react to v3.4.1 #8786
- fix(deps): update dependency @vscode/ripgrep to v1.15.5 #8787
- chore(deps): update dependency esbuild to v0.18.11 #8819
- fix(deps): update dependency fastify to v4.19.2 #8820
- chore(deps): update dependency @tsd/typescript to v5.1.6 #8781
- fix(deps): update dependency @clerk/clerk-sdk-node to v4.10.15 #8785
- fix(deps): update typescript-eslint monorepo to v5.61.0 #8822
- chore(deps): update yarn to v3.6.1 #8799
- chore(deps): update babel monorepo #8833
- fix(deps): update storybook monorepo to v7.0.26 #8846
- fix(deps): update dependency core-js to v3.31.1 #8841
- fix(deps): update dependency @vitejs/plugin-react to v4.0.2 #8840
- chore(deps): update babel monorepo to v7.22.9 #8890
- chore(deps): update dependency @types/testing-library__jest-dom to v5.14.8 #8848
- chore(deps): update dependency postcss to v8.4.25 #8850
- fix(deps): update dependency @apollo/client to v3.7.17 #8880
- chore(deps): update dependency typescript to v5.1.6 #8759
- fix(deps): update prisma monorepo to v5 (major) #8891
- fix(deps): update jest monorepo #8843
- fix(deps): update dependency vite to v4.4.3 #8842
- chore(deps): update dependency @clerk/clerk-react to v4.22.0 #8902
- fix(deps): update storybook monorepo to v7.0.27 #8901
- chore(deps): update dependency esbuild to v0.18.12 #8899
- fix(deps): update dependency @vitejs/plugin-react to v4.0.3 #8881
- fix(deps): update opentelemetry-js monorepo #8903
- fix(deps): update dependency react-hook-form to v7.45.2 #8923
- fix(deps): update dependency eslint to v8.45.0 #8914
- fix(deps): update dependency vite to v4.4.4 #8911
- fix(deps): update dependency babel-loader to v9.1.3 #8910
- fix(deps): update dependency fastify to v4.20.0 #8927
- fix(deps): update storybook monorepo to v7.1.0 #8941
- fix(deps): update dependency fastify-raw-body to v4.2.1 #8937
- fix(deps): update dependency webpack to v5.88.2 #8940
- chore(deps): update dependency esbuild to v0.18.14 #8939
- chore(deps): update dependency esbuild to v0.18.15 #8945
- fix(deps): update dependency vite to v4.4.6 #8946
- fix(deps): update dependency babel-plugin-polyfill-corejs3 to v0.8.3 #8951
- chore(deps): update dependency esbuild to v0.18.16 #8963
- chore(deps): update dependency postcss to v8.4.27 #8965
- chore(deps): update dependency lerna to v7.1.4 #8964
- fix(deps): update storybook monorepo to v7.1.1 #8968
- fix(deps): update dependency msw to v1.2.3 #8966
- fix(deps): update dependency vite to v4.4.7 #8967
- fix(deps): update dependency firebase-admin to v11.10.1 #8969
- chore(deps): update dependency firebase to v10 #8972