Releases: redwoodjs/redwood
v7.1.2
v7.1.1
Patch Release
-
Enable CSS nesting syntax by default when using Tailwind (#10116) by @cannikin
This lets you use nested CSS syntax in your
web/src/index.css
right after you install Tailwind..button { @apply p-2 font-semibold bg-gray-500; &:hover { @apply bg-red-500; } .icon { @apply w-4 h-4; } span { @apply text-sm; } }
-
fix(setup realtime): remove "exp" from suggested setup command (#10151) by @jtoar
The realtime setup command was still suggesting running the experimental server file setup command if the server file wasn't setup. This fixes it so that it points users to the stable setup command,
yarn rw setup server-file
, instead. -
fix(esm): use CJS wrapper for ESM default interop (#10119) by @jtoar
This PR builds on the work started in #10083 around ESM. One of the caveats of that PR was that the default export from
@redwoodjs/vite
broke. The workaround was referencing thedefault
property on the Redwood Vite plugin, likeredwood.default()
. This fixes the ES module default export interoperability so that no change is necessary in switching between module types.
v7.1.0
Changelog
-
fix(deps): update prisma monorepo to v5.10.2 (#10088)
This release updates Prisma to v5.10.2. Here are quick links to all the release notes since the last version (v5.9.1):
-
Add support for loading more env var files (#9961, #10093, #10094, and #10123) by @orta
Fixes #9877. This PR adds CLI functionality to load more
.env
files viaNODE_ENV
and an--load-env-files
flag.
Env vars loaded via either of these methods override the values in.env
:# Loads '.env.production', which overrides values in '.env' NODE_ENV=production yarn rw exec myScript # Load '.env.stripe' and '.env.nakama', which overrides values yarn rw exec myScript --load-env-files stripe nakama # Or you can specify them individually: yarn rw exec myScript --load-env-files stripe --load-env-files nakama
Note that this feature is mainly for local scripting. Most deploy providers don't let you upload
.env
files (unless you're using baremetal) and usually have their own way of determining environments. -
fix(api-server): Preserve original host header for proxied API requests (#10082) by @magJ
Some apps rely on reading the host header (e.g. multi-tenant apps served over multiple subdomains). This change forwards on the original host header on proxied Fastify requests, and the experimental SSR/RSC server.
-
fix(deps): update opentelemetry-js monorepo (#10065) by @Tobbe
Updates our opentelemetry packages. This is a breaking change for users of our experimental opentelemetry support. This is what their changelog says is breaking:
- fix(exporter-metrics-otlp-grpc): programmatic headers take precedence over
environment variables #2370 @Vunovati - fix(exporter-metrics-otlp-http): programmatic headers take precedence over
environment variables #2370 @Vunovati - fix(exporter-metrics-otlp-proto): programmatic headers take precedence over
environment variables #2370 @Vunovati - fix(otlp-exporter-base)!: decrease default concurrency limit to 30 #4211
@pichlermarc- fixes a memory leak on prolonged collector unavailability
- this change is marked as breaking as it changes defaults
- fix(instrumentation)!: pin import-in-the-middle@1.7.1 #4441
- Fixes a bug where, in some circumstances, ESM instrumentation packages
would try to instrument CJS exports on ESM, causing the end-user
application to crash. - This breaking change only affects users that are using the experimental
@opentelemetry/instrumentation/hook.mjs loader hook AND Node.js 18.19 or
later:- This reverts back to an older version of import-in-the-middle due to
nodejs/import-in-the-middle#57 - This version does not support Node.js 18.19 or later
- This reverts back to an older version of import-in-the-middle due to
- Fixes a bug where, in some circumstances, ESM instrumentation packages
- fix(exporter-metrics-otlp-grpc): programmatic headers take precedence over
Dependencies
Click to see all upgraded dependencies
- fix(deps): update opentelemetry-js monorepo #10065
- fix(deps): update prisma monorepo to v5.10.2 #10088
- Update dependency @apollo/client to v3.9.5 #10087
- Update storybook monorepo to v7.6.17 #10089
- Update babel monorepo to v7.24.0 #10090
- fix(deps): update dependency fastify to v4.26.2 #10092
- fix(deps): update dependency @fastify/http-proxy to v9.4.0 #10091
v7.0.7
Patch Release
-
fix(context): Re-export context from graphql-server (#10117) by @Josh-Walker-GM
This change re-exports the
context
andsetContext
properties in@redwoodjs/graphql-server
from the@redwoodjs/context
package where they are now (as of v7) located. This is done to retroactively ease the v7 transition and provide a non-breaking rather than a breaking change.See this forum post and the links within for more information on this change.
-
fix(scenario): Make sure to clean up scenarios even if tests fail (#10112) by @dac09
Fixes an issue where a unit test failure would cause the scenario cleanup to be skipped. Thanks @peraltafederico and @cjreimer for highlighting this!
-
fix(serve): Allow periods in most paths (#10114) by @Tobbe
Fixes #9969. Partial fix for route paths with periods in them.
It's only "partial" because it doesn't fix it for
yarn rw dev
, as that's a Vite bug (vitejs/vite#2415 (comment)). There's also an edge case foryarn rw serve
where this doesn't fully handle client-side routes that start with /assets/ and that also have a last-segment that accepts a period, like /assets/client-route-image.jpg.
v7.0.6
Patch Release
-
fix(esm): fix initial ESM blockers for Redwood apps (#10083) by @jtoar and @Josh-Walker-GM
This PR makes some initial fixes that were required for making a Redwood app ESM. Redwood apps aren't ready to transition to ESM yet, but we're working towards it and these changes were backwards-compatible. If you're interested in trying out ESM, there will be an experimental setup command in the future. For now you'd have to make manual changes to your project:
- dist imports, like
import ... from '@redwoodjs/api/logger'
need to be changed toimport ... from '@redwoodjs/api/logger/index.js'
- The Redwood Vite plugin in
web/vite.config.ts
needs to be changed toredwood.default
before being invoked
There are probably many others still depending on your project. Again, we don't recommend actually doing this yet, but are enumerating things just to be transparent about the changes in this release.
- dist imports, like
v7.1.0-rc.29
Changelog
-
fix(deps): update prisma monorepo to v5.10.2 (#10088)
This release updates Prisma to v5.10.2. Here are quick links to all the release notes since the last version (v5.9.1):
-
Add support for loading more env var files (#9961, #10093, #10094, and #10123) by @orta
Fixes #9877. This PR adds CLI functionality to load more
.env
files viaNODE_ENV
and an--load-env-files
flag.
Env vars loaded via either of these methods override the values in.env
:# Loads '.env.production', which overrides values in '.env' NODE_ENV=production yarn rw exec myScript # Load '.env.stripe' and '.env.nakama', which overrides values yarn rw exec myScript --load-env-files stripe nakama # Or you can specify them individually: yarn rw exec myScript --load-env-files stripe --load-env-files nakama
Note that this feature is mainly for local scripting. Most deploy providers don't let you upload
.env
files (unless you're using baremetal) and usually have their own way of determining environments. -
fix(api-server): Preserve original host header for proxied API requests (#10082) by @magJ
Some apps rely on reading the host header (e.g. multi-tenant apps served over multiple subdomains). This change forwards on the original host header on proxied Fastify requests, and the experimental SSR/RSC server.
-
fix(deps): update opentelemetry-js monorepo (#10065) by @Tobbe
Updates our opentelemetry packages. This is a breaking change for users of our experimental opentelemetry support. This is what their changelog says is breaking:
- fix(exporter-metrics-otlp-grpc): programmatic headers take precedence over
environment variables #2370 @Vunovati - fix(exporter-metrics-otlp-http): programmatic headers take precedence over
environment variables #2370 @Vunovati - fix(exporter-metrics-otlp-proto): programmatic headers take precedence over
environment variables #2370 @Vunovati - fix(otlp-exporter-base)!: decrease default concurrency limit to 30 #4211
@pichlermarc- fixes a memory leak on prolonged collector unavailability
- this change is marked as breaking as it changes defaults
- fix(instrumentation)!: pin import-in-the-middle@1.7.1 #4441
- Fixes a bug where, in some circumstances, ESM instrumentation packages
would try to instrument CJS exports on ESM, causing the end-user
application to crash. - This breaking change only affects users that are using the experimental
@opentelemetry/instrumentation/hook.mjs loader hook AND Node.js 18.19 or
later:- This reverts back to an older version of import-in-the-middle due to
nodejs/import-in-the-middle#57 - This version does not support Node.js 18.19 or later
- This reverts back to an older version of import-in-the-middle due to
- Fixes a bug where, in some circumstances, ESM instrumentation packages
- fix(exporter-metrics-otlp-grpc): programmatic headers take precedence over
Dependencies
Click to see all upgraded dependencies
- fix(deps): update opentelemetry-js monorepo #10065
- fix(deps): update prisma monorepo to v5.10.2 #10088
- Update dependency @apollo/client to v3.9.5 #10087
- Update storybook monorepo to v7.6.17 #10089
- Update babel monorepo to v7.24.0 #10090
- fix(deps): update dependency fastify to v4.26.2 #10092
- fix(deps): update dependency @fastify/http-proxy to v9.4.0 #10091
v7.0.5
Patch Release
-
fix(deploy): handle server file (#10061) by @jtoar
This fixes the CLI commands for Coherence and Flightcontrol. For Coherence, it fixes a bug introduced in the last patch where the logic for detecting the server file in the setup command (
yarn rw setup deploy coherence
) was flipped. For Flightcontrol, it updates the setup command (yarn rw setup deploy flightcontrol
) so that it handles Corepack and updates the corresponding deploy command (yarn rw deploy flightcontrol
) so that it detects the server file similar to the Coherence fix.
v7.0.4
Patch Release
-
fix(coherence): update setup command to detect server file (#10060) by @jtoar
The
yarn rw setup deploy coherence
command now detects if your project has the server file and configures the api prod command accordingly:# coherence.yml api: # ... prod: command: ["yarn", "rw", "build", "api", "&&", "yarn", "node", "api/dist/server.js", "--apiRootPath=/api"]
-
Update jsdoc for ScenarioData type (#10066) by @c-ciobanu
Fix formatting of JSDocs in
scenario.ts
. -
chore(docs): Add link to SuperTokens auth (#10067) by @danbtl
Add a missing link to the SuperTokens auth page in the docs.
v7.0.3
Patch Release
-
fix(render): reduce memory and handle server file by @jtoar
This PR improves Render deploys by reducing memory consumption and fixing it so that it uses the server file if it's present.
Render deploys seem to consistently run out of memory during the data migration step. This step is configurable and its doubtful that every deploy has data migrations to apply, but it's enabled by default so it runs more-or-less every time in practice. The main issue is that the data migrate functionality is a plugin so a yarn install kicks off in Render's deploy container which must be more memory-constrained than the build container. (Assuming there are two different containers, which seems to be the case.)
Instead of running data migrations, this PR issues a warning that if you want to run data migrations, you need to first add the
@redwoodjs/cli-data-migrate
package as a devDependency:yarn add -D @redwoodjs/cli-data-migrate
That way a
yarn install
won't be necessary to run data migrations.Although this PR fixes Render deploy so that it uses the server file if present, realtime features still don't seem to work. We're still investigating; in the meantime, consider using another provider like Coherence if you're just getting started and want to try out realtime features.
-
Update MetaTags to be Metadata in Docs (#10053) by @codisfy
The tutorial still used the
MetaTags
component instead of the newerMetadata
component that the generator templates use. This PR updates all instances ofMetaTags
withMetadata
.
v7.0.2
Patch Release
-
fix(sentry): move templates to the command's directory by @jtoar
Fixes https://community.redwoodjs.com/t/redwood-v7-0-0-upgrade-guide/5713/25.
yarn rw setup monitoring sentry
would fail with the following error:✔ Adding required api packages... ✔ Adding required web packages... ✔ Adding SENTRY_DSN var to .env... ✖ ENOENT: no such file or directory, open '~/rw-app/node_modules/@redwoodjs/cli/dist/commands/setup/monitoring/sentry/templates/sentryApi.ts.template' ◼ Implementing the Envelop plugin ◼ Replacing Redwood's Error boundary ◼ One more thing... ENOENT: no such file or directory, open '~/rw-app/node_modules/@redwoodjs/cli/dist/commands/setup/monitoring/sentry/templates/sentryApi.ts.template'
It was just that the template files for the sentry setup command weren't moved out of experimental. This PR moves them to the command's directory.