V0.39 Release Candidate is Available: Feedback Wanted 🙏

Redwood’s upcoming version v0.39 will be a significant milestone for this community and project. We need your help finalizing the release!

How to help

Along with some exciting new features, this version includes a number of deprecations, major version dependency upgrades, and breaking changes. The purpose of this release candidate process is to make sure everything is ready to go:

  • verify the upgrade process
  • test the new features and changes on existing applications
  • confirm deployment on various hosting providers
  • make the whole thing even better

Try out the latest Release Candidate

Here are the v0.39.0-rc Release Notes and Changelog:

This document is a draft, but it is 90% complete. This means some of the content hasn’t been moved from PR comments to the applicable sections, so be sure to check out the PR references associated with changes and upgrades.

Release Notes: Breaking Changes and Code Modifications

Although there are a number of breaking changes, for most projects the upgrade path should be very straightforward. Do read through the updates in both sections to determine what changes may affect your project:

  1. “Breaking :warning:”
  2. “How to Upgrade: Code Modifications”

For many projects, upgrading will be as simple as making the following changes related to the new internal Babel configuration (see the Release Notes and reference PR for more details):

  1. remove .babelrc from web/
  2. remove babel.config.js from the root of your project
  3. custom Babel config should be moved to the respective side’s babel.config.js (if applicable). So if you had web-specific babel config, it should be moved to web/babel.config.js. Note that you’ll have to make these files

Take a look through the other recommended Code Modifications, but don’t be surprised if this is change above is the only one that applies to your project.

Redwood Packages: upgrade to the latest RC version

Pay attention to the upgrade command in the section “Upgrade Packages from v0.38.x to v0.39.0-rc” — this time you need to use the --tag rc option to upgrade to the latest release candidate.

Then complete follow the remaining steps in the section.

Once installation is done, that should be it! Try out yarn rw dev to confirm all systems are :white_check_mark:

Feedback wanted

Once you have a chance to go through the upgrade, please let us know how it went and any suggestions for improvement.

If you have questions or need support along the way, just reply to this thread or ask for help via the Redwood Discord.

And thank you! Redwood v0.39 is going to be even better because of this amazing community of contributors. :rocket:

3 Likes

I’ve upgraded, everything looks to be running smoothly. Deleted the babel files and ran the npx dedupe command

I think there’s a space for having less req/response logs though. I felt like the prior logging contained mostly useful info, but the new one has feels like a lot of noise:

api | INFO [2021-11-26 15:29:36.953 +0000]: incoming request
api |     req: {
api |       "method": "GET",
api |       "url": "/auth?method=getToken",
api |       "hostname": "localhost:8910",
api |       "remoteAddress": "::1",
api |       "remotePort": 62622
api |     }
api |     reqId: "req-g"
api | INFO [2021-11-26 15:29:36.956 +0000]: request completed
api |     res: {
api |       "statusCode": 200
api |     }
api |     responseTime: 3.0374131202697754
api |     reqId: "req-g"
api | INFO [2021-11-26 15:29:36.964 +0000]: incoming request
api |     req: {
api |       "method": "GET",
api |       "url": "/auth?method=getToken",
api |       "hostname": "localhost:8910",
api |       "remoteAddress": "::1",
api |       "remotePort": 62623
api |     }
api |     reqId: "req-h"
api | INFO [2021-11-26 15:29:36.967 +0000]: request completed
api |     res: {
api |       "statusCode": 200
api |     }
api |     responseTime: 3.0862390995025635
api |     reqId: "req-h"
api | INFO [2021-11-26 15:29:36.974 +0000]: incoming request
api |     req: {
api |       "method": "GET",
api |       "url": "/auth?method=getToken",
api |       "hostname": "localhost:8910",
api |       "remoteAddress": "::1",
api |       "remotePort": 62624
api |     }
api |     reqId: "req-i"
api | INFO [2021-11-26 15:29:36.978 +0000]: request completed
api |     res: {
api |       "statusCode": 200
api |     }
api |     responseTime: 3.7399330139160156
api |     reqId: "req-i"
api | INFO [2021-11-26 15:29:36.984 +0000]: incoming request
api |     req: {
api |       "method": "POST",
api |       "url": "/graphql",
api |       "hostname": "localhost:8910",
api |       "remoteAddress": "::1",
api |       "remotePort": 62625
api |     }
api |     reqId: "req-j"
3 Likes

Hi @orta this logging is from Fastify as part of the update in api-server from Express. It uses pino under the hood but a separate pino config so the log levels here are more lax.

These are the http requests and responses that the api-server is handling.

Let me check on how to configure the logger within the api-server to reduce the chattiness and I’ll get back here.

6 Likes