Skip to content

Releases: redwoodjs/redwood

v7.1.1

08 Mar 22:20
14ebfc3
Compare
Choose a tag to compare

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 the default property on the Redwood Vite plugin, like redwood.default(). This fixes the ES module default export interoperability so that no change is necessary in switching between module types.

v7.1.0

07 Mar 15:47
a0bdec9
Compare
Choose a tag to compare

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 via NODE_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

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

06 Mar 11:00
ddb7f9d
Compare
Choose a tag to compare

Patch Release

  • fix(context): Re-export context from graphql-server (#10117) by @Josh-Walker-GM

    This change re-exports the context and setContext 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 for yarn 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

01 Mar 19:32
Compare
Choose a tag to compare

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 to import ... from '@redwoodjs/api/logger/index.js'
    • The Redwood Vite plugin in web/vite.config.ts needs to be changed to redwood.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.

v7.1.0-rc.29

29 Feb 17:47
2e0fe5e
Compare
Choose a tag to compare
v7.1.0-rc.29 Pre-release
Pre-release

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 via NODE_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

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

29 Feb 09:57
d436479
Compare
Choose a tag to compare

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

28 Feb 22:47
89017bc
Compare
Choose a tag to compare

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

26 Feb 21:27
ac260a6
Compare
Choose a tag to compare

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 newer Metadata component that the generator templates use. This PR updates all instances of MetaTags with Metadata.

v7.0.2

22 Feb 06:12
Compare
Choose a tag to compare

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.

v7.0.1

21 Feb 00:16
Compare
Choose a tag to compare

Patch Release

This release fixes a peer dependency warning in Redwood projects that have the @redwoodjs/api-server package as a dependency in the api workspace:

➀ YN0060: β”‚ @redwoodjs/graphql-server is listed by your project with version 7.0.0, which doesn't satisfy what @redwoodjs/api-server (pccff9) requests (6.0.7).

There was a bug in Redwood's release process that resulted in the version of @redwoodjs/graphql-server requested by @redwoodjs/api-server getting missed (it should've been 7.0.0 but was instead left at 6.0.7, the last version released off the main branch). See https://community.redwoodjs.com/t/redwood-v7-0-0-upgrade-guide/5713/21 for the original issue.