🎉 RedwoodJS v0.17

Current v0.17 release is v0.17.2

So. Many. Contributors. :star_struck: (Over 100 individuals!) All of you are making Redwood better every week. And this version is no exception. Hats off to the amazing, growing community! Version v0.17.0 wouldn’t have been the same without you.

This version contains breaking changes. See the “Breaking” section below for more info and upgrade instruction.

v0.17 Highlights

  • :sparkles:New​:sparkles:Deploy to AWS Serverless :rocket:
    • This is step 1 of 2, initialization. Consider it preview. If you want to try it out, you’ll need to have the serverless framework installed
    • Then generate the deployment via yarn rw generate deploy aws_serverless
    • You can deploy manually with these commands, but we’re busy working on a deployment command in this issue.
    • Related section in the Deploy Doc
  • TypeScript support : write and reference generated types :fire:
    • See the new TypeScript Doc
    • Upgrading? See “How to Upgrade …” for required manual code changes.
  • New generator for TailwindCSS Setup :tophat:

Changed

  • Auth: Auth RBAC, hasRole accepts a single role or an array of roles #1016 by dthyresson
  • Auth: Bump firebase-admin from 8.13.0 to 9.1.1 #1027
  • Docs: Add usePageLoadingContext demo video to Router documentation. #792 by jtoar
  • Router: Memoize routes and named routes #956 by jtoar
  • Forms: react-hook-form upgraded to latest v6.0 #964 by Ako92
    • :rotating_light:possible breaking changes
  • Forms: removes @redwoodjs/forms from @redwoodjs/web #1048 by alvincrespo
    • :rotating_light:possible breaking changes
  • Generator: add Scaffold generator CLI warning when model contains @relation #984
  • TS: upgrade to typescript v4.02 #1018
  • Prisma: upgrade to Prisma 2.6.0 #1004 #10

Added

  • Deploy: Add deploy command for api with aws_serverless provider #1012 by hemildesai
  • Deploy: Add aws_serverless provider for generate deploy command #976 by hemildesai
  • TS: Add a way to write and reference generated types #960 :tada:
  • Config: add tailwind generator #828 #1025 #1026 by jtoar :tada:
  • Project: Add documentation links to outline #935 by forresthayes
  • Project: Add env variable diagnostics (fix #983 #971) #987 by aldonline
  • Docs: add Contributors to README using All-Contributors #875
  • CLI: Add option to skip yarn install to create-redwood-app #966 by forresthayes
    • example: yarn create redwood-app ./my-project --no-yarn-install
  • Forms: support passing coercion functions to form fields #973 by forresthayes

Fixed

  • Config: fix webpack merge TypeError #1003 by jtoar
  • CLI: fixed deploy generator command error #1078
    • this was included in v0.17.2

Breaking :warning:

React Hook Forms v6

This release upgrades to v6 of React Hook Forms, which has breaking changes. The Redwood Forms package is not affected. However, if your project has custom implementations of React Hook Forms, you may need to follow the upgrade instructions in the React Hook Forms v6 Release Notes.

Redwood Forms as a standalone package

We’ve removed @redwoodjs/forms from @redwoodjs/web to reduce the web bundle size for projects not using forms. If you are using forms, then complete these two steps:

  1. Add @redwoodjs/forms as a dependency in <app>/web/package.json .
  • yarn workspace web add @redwoodjs/forms
  1. Change any “Forms” related imports from @redwoodjs/web to be from @redwoodjs/forms
  • Search your project for @redwoodjs/web
  • Check for instances of imports like import { Form .. }
  • For all cases importing Form related elements from @redwoodjs/web , change web to forms .
  • Example: change import { Form, FormError } from '@redwoodjs/web' to import { Form, FormError } from '@redwoodjs/forms'

How to upgrade Redwood to v0.17.0

:point_right: IMPORTANT: Skipping versions when upgrading is not recommended and will likely cause problems. Do read through all Release Notes between your current version and this latest version. Each minor release will likely require you to implement breaking change fixes and apply manual code modifications.

Manual Code Modifications

  1. New TypeScript support requires adding .redwood to .gitignore file.

  2. Add @redwoodjs/forms as a standalone package in web/package.json .

    • See “Breaking” section above for instructions.
  3. Prisma deprecated syntax for the disconnect method from disconnect() to $disconnect()

    • update you project accordingly for specific use
    • for updates to the existing api/prisma/seeds.js file, see required code modification here

Upgrade Packages

Run the following command within your App directory:

yarn rw upgrade

To run the upgrade command, your project must be using v0.6.0 or greater. See this forum topic for manual upgrade instructions and general upgrade help.


Redwood Releases on GitHub

You can see all Redwood release notes and version history on GitHub

6 Likes

Just a quick update here, we’ve release v0.17.1 that includes Prisma v2.6.1.

Happy hacking :sauropod:

3 Likes

And, not to be forgotten, the even newer v0.17.2 including a fix to the deploy generator. :wink:

(OP updated accordingly.)

Not sure that’s a very safe patch :-\ I upgraded to latest and suddenly a simple .findOne() stopped working:

 |   Failed to validate the query `Error occurred during query validation & transformation:
api | Query (object)
api |   ↳ findManyOrder (field)
api |     ↳ where (argument)
api |       ↳ OrderWhereInput (object)
api |         ↳ restaurantId (field)
api |           ↳ Value types mismatch. Have: Object({"equals": Int(1)}), want: Scalar(Int)` at `.Query.findManyOrder.where.OrderWhereInput.restaurantId`

I’m investigating before making a topic out of it, but just so you know… might be some troubles around this one :).

@noire.munich Could you run yarn rw db up again?

Yurp!.. ended up here :wink:

1 Like