Skip to content

Releases: redwoodjs/redwood

v0.14.0

20 Jul 22:28
Compare
Choose a tag to compare

v0.14.0 Highlights

  • New project Diagnostics command
    • run the command yarn rw diagnostics
  • Customize Jest configuration per Side (e.g. web/ and api/)
    • one more example of Redwood handling the painful integration parts so you can have more fun building your app 🥳
    • ⚠️ this introduces a breaking change to existing applications, see "How to upgrade" section for required manual code changes

Thank you to @aldonline and @RobertBroersma for the highlights above 🚀

And to all the documentation contributors, thank you and keep up the great work!

Changed

  • Tests: configure Jest dynamically per-Side #805 🎉
  • Tests: increase Jest test timeout #845 @Tobbe
  • Cells: Cell's queries are now given an operation name #867 #847
  • Generators: scaffold's table styles #844 @SimeonGriggs
  • Generators: improved Scaffold's details/show page #840 @Tobbe
  • Generators: updatedAt is now ignored in SDL creation #777 @leibowitz
  • Forms: use context to handle coercions #834 @Tobbe

Added

  • CLI: added "diagnostics" command to CLI #842 @aldonline 🎉
  • CLI: added yarn rw sb alias to start Storybook #833

Fixed

  • Auth: fixed the auth generator regex #832
  • Storybook: import the user's default CSS file #821
  • Tests: map MockRouter also map private routes #820
  • Generators: use field name for relation generation #813 @Rosenberg96

Breaking ⚠️

#805 changes how Jest is configured, which breaks yarn rw test for existing applications. See "How to upgrade" below for manual code modification instructions.


How to upgrade RedwoodJS packages to v0.14.0

👉 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.

Step 1 of 2: 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.

Step 2 of 2: Manual Code Additions

Add two new Jest config files to your Redwood project. For a code example, see PR #78

1. Create api/jest.config.js:

const { getConfig } = require('@redwoodjs/core')

const config = getConfig({ type: 'jest', target: 'node' })
config.displayName.name = 'api'

module.exports = config

2. Create web/jest.config.js

const { getConfig } = require('@redwoodjs/core')

const config = getConfig({ type: 'jest', target: 'browser' })
config.displayName.name = 'web'

module.exports = config

v0.13.0

10 Jul 00:35
Compare
Choose a tag to compare

v0.13.0 Highlights

  • Initial Storybook Integration and Support
    • read this Forum Post to get started
    • tl;dr run the command yarn rw storybook
  • Prisma Studio Integration: explore and manage your data interactively
    • run using the command yarn rw db studio
    • video overview of Prisma Studio in action
  • Forms now automatically coerce values to the Prisma data type

Documentation contributors, we salute you! @Terris @jeliasson @amorriscode @tctrautman @SimeonGriggs @dfundingsland

And Thank You to the amazing community for being awesome to each other across GitHub, Discord, and the Forums. The encouraging good vibes are contagious 🤗 🚀

Changed

  • Auth: getCurrentUser given both decoded & access tokens #779 @dthyresson
  • Tests: Allow configuring test database #691 @RobertBroersma
  • Generator: humanize scaffold <th> #733 @Tobbe
  • Config: Make sub-directories work in import-dir #788
    • Deprecation Note: this replaces @redwoodjs/api/importAll.macro, which is now deprecated
    • See "How to upgrade" section for optional code modification

Added

  • Framework: Add @redwoodjs/project-model (+ Language Server) #810 #814 @aldonline 🎉
    • This is the exciting beginning of what will soon become a kind of API for the Framework itself. More details to come over the next several weeks.
    • Learn more via this README
  • Prisma: Add prisma studio via db studio command #799 #801 🎉
  • Forms: Coerce form values to Prisma type #749 @Tobbe 🎉
    • docs?
  • Storybook: Add support for Storybook #742 #815 🎉
    • initial support including Generators for Layouts, Components, Cells and Pages
    • run using yarn rw storybook
  • TS: Add initial types to Router #790
  • Cells: Add cache-and-network fetchPolicy to beforeQuery #796
  • Framework: Add test script to web #800 @Tobbe

Fixed

  • Generators: Workaround for POSIX-to-Windows path conversion #763 @Tobbe
  • Generators: fix generated relational arrays #772 @Rosenberg96
  • API: Fix for function-based context to run on each request #770 @nexneo
  • Build: Do not build test files for API #789

Breaking ⚠️

Nothing to see here! 🙈


How to upgrade RedwoodJS packages to v0.13.0

👉 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.

🚨 Potential Failed to Compile Error

When upgrading, some individuals have reported an error having to do with a babel module not being found, which results in a compile error. If you encounter this, here's the simple workaround:

  • after upgrading, delete yarn.lock
  • run yarn install

Manual Code Modification (Optional)

The macro @redwoodjs/api/importAll.macro is now deprecated in favor of a new babel plugin supporting improved syntax. See #788

To use the new babel plugin in your Redwood App, you'll need to manually modify the file api/src/functions/graphql.js with these changes from #71

Upgrade Packages: If the Current Version is > v0.6.0

Redwood v0.6.0 included a new CLI command to upgrade @redwoodjs NPM packages. Run the following command within your App directory:

yarn rw upgrade

Upgrade Packages: If the Current Version is < v0.6.0

Manually update the following @redwoodjs/* packages.

Root directory package.json
  • "@redwoodjs/core": "^0.13.0”
web/package.json
  • "@redwoodjs/web": "^0.13.0”
  • "@redwoodjs/router": "^0.13.0”
  • "@redwoodjs/auth": "^0.13.0” (if installed)
api/package.json
  • "@redwoodjs/api": "^0.13.0”

Install the upgraded packages

$ yarn install

v0.12.0

24 Jun 21:33
Compare
Choose a tag to compare

This version includes many improvements and fixes across CLI, Generators, Auth, TypeScript support, and Unit Tests.

To everyone in the community who's been contributing via issues, forum conversations, and PRs, thank you for making Redwood better! 🚀

v0.12.0 Highlights

  • upgrade to Prisma v2.1.1 (v2.1.0 Release Notes and v2.1.1 Release Notes)
    • adds basic filtering on Json data
    • prepared statement caching for PostgreSQL
    • upsert operation on a related row by using connectOrCreate (experimental)
    • transactionApi: perform multiple unrelated write operations in a transaction and rollback if needed (experimental)
  • improved TypeScript support for Deploy and Generators #744 #685

Changed

  • Prisma: upgrade to Prisma-2.1.1 #748
  • Tests: wrap MSW graphql for convenience #689 @RobertBroersma
  • CLI: leverage yargs arg-parser lib #704 @jamesgeorge007
  • CLI: commandeer ports when they are in use #736
  • Generators: scaffolds use checkbox fields #719 @Tobbe @lachlanjc
  • Generators: scaffolds use checkbox to display boolean value #732 @Tobbe
  • Auth: change custom authHeader to return type #720 @dac09
  • Ops: updates GH Actions and RW Tasks to use Main as Triggers #723
  • Flash: optimize Flash component #724 @Terris

Added

  • TS: convert layout generator to TypeScript #685 @kimadeline
  • Router: add useLocation hook to Redwood Router #650 @Terris
  • Auth: add reauthenticate method to useAuth #721
  • CI: add cypress integration tests for tutorial #728

Fixed

  • Auth: fixes auth firebase #729 @noire-munich
  • CLI: generate Prisma client if it doesn't exist #735
  • TS: actually build TS files. #744
  • Config: fix(import-dir) Ignore file extensions | Ignore .test files #746 @dac09
  • Generators: properly append array syntax #747

Breaking ⚠️

🎉 No breaking changes (that we know about 🤞)


How to upgrade RedwoodJS packages to v0.12.0

👉 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.

If the Current Version is > v0.6.0

Redwood v0.6.0 included a new CLI command to upgrade @redwoodjs NPM packages. Run the following command within your App directory:

yarn rw upgrade

If the Current Version is < v0.6.0

Manually update the following @redwoodjs/* packages.

Root directory package.json
  • "@redwoodjs/core": "^0.12.0”
web/package.json
  • "@redwoodjs/web": "^0.12.0”
  • "@redwoodjs/router": "^0.12.0”
  • "@redwoodjs/auth": "^0.12.0” (if installed)
api/package.json
  • "@redwoodjs/api": "^0.X”

Install the upgraded packages

$ yarn install

v0.11.0

18 Jun 18:00
Compare
Choose a tag to compare

This release improves the existing Auth package (including a new Auth provider), adds the new "Flash" Messaging Bus, and has numerous CLI improvements and bug fixes.

⚠️ BREAKING: If you are upgrading, there are breaking changes to the Auth package and manual code changes required. See "Breaking Changes" and "How to Upgrade" below.

v0.11.0 Highlights

  • Added Firebase provider to the Auth package, including a Generator 🎉
  • Added a "Flash" Messaging Bus to pass temporary message objects between components 🎉
  • Want to help contribute to the Redwood framework but not sure where to get started? There's brand new documentation to help you do just that! And for all you Windows users out there, Redwood has a lot of fixes and improvements to make your contributions much easier.

Special thanks go out to @noire-munich, @Terris, @jtoar, and @Tobbe for the highlights above. And to everyone else who contributed so much to this release, Redwood is better because of you! As a community, we are grateful. 🚀

Changed

  • Auth: Reorganize @redwoodjs/auth #637
  • CLI: Add --auto-approve to db up #661 @rockymeza
  • CLI: Centralize yargs defaults #674 @kimadeline
  • CLI: Remove prisma generate --watch task from dev command #699
  • CLI: Add --create-db to yarn rw db save command #708
  • Generator: Remove cleanup from some generator test templates #681 @jtoar
  • CSS: Use PostCSS loader if a PostCSS config file is present #696 @bjackson
  • Config: Clean up the way exported global values are defined #697
  • Config: Set browser.open default to false #712 @jtoar
  • Prisma: upgrade prisma 2.0.1 #713

Added

Fixed

  • Router: Links: Use browser default behavior for ctrl-clicks etc #677 @Tobbe
  • Generator: Fix pluralization in gen page name #683 @evanmoncuso
  • CLI: rwt copy fix for Windows #694 @Tobbe
  • CLI: nodemon double quotes to fix windows issue #702 @Tobbe
  • TS: Make yarn rw build api also transpile .ts extensions #703

Breaking ⚠️

Auth Package Changes
The following changes were made to the Auth package, which will break existing implementations when upgrading to v0.11.0.

  • currentUser was renamed to userMetadata
  • currentUser is now populated from data from ./api/src/auth.js::getCurrentUser
  • magic.link provider type was renamed to magicLink

How to upgrade RedwoodJS packages to v0.11.0

👉 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 Change

This release includes an improvement to the command used by Netlify build, which was added to the Redwood template in this commit. To manually implement the change, follow these steps:

  1. In your project root directory, open the file netlify.toml
  2. Change the build command to be yarn rw db up --no-db-client --auto-approve && yarn rw build

This adds the flag --auto-approve, which fixes an error some users experienced when applying migration changes to the DB.

If the Current Version is > v0.6.0

Redwood v0.6.0 included a new CLI command to upgrade @redwoodjs NPM packages. Run the following command within your App directory:

yarn rw upgrade

If the Current Version is < v0.6.0

Manually update the following @redwoodjs/* packages.

Root directory package.json
  • "@redwoodjs/core": "^0.11.0”
web/package.json
  • "@redwoodjs/web": "^0.11.0”
  • "@redwoodjs/router": "^0.11.0”
  • "@redwoodjs/auth": "^0.11.0” (if installed)
api/package.json
  • "@redwoodjs/api": "^0.11.0”

Install the upgraded packages

$ yarn install

v0.10.0

09 Jun 15:53
Compare
Choose a tag to compare

Prisma v2.0.0 General Availability 🎉

Prisma has released version 2, and we are celebrating their hard-earned release by including it in v0.10! From all of us, we offer a huge congrats to the entire Prisma Team for building something amazing. Without it, the Redwood experience just wouldn't be the same.

General Availability Announcement and Release Notes

Note: Prisma Migrate is not part of this GA release -- it is still experimental.

Prisma v2 Highlights and Changes

Other Redwood v0.10.0 Highlights

  • Improved Windows Support and Bug Fixes (with more to come!)
  • Added Firebase Auth Provider
  • Initial Typescript Support for Generators including SDL, Service, and Component

Thank You to everyone below who contributed. This release includes several PRs that were especially above and beyond thanks to @jtoar @jmreidy and @Tobbe 🚀

Redwood is better because of you!

Changed

Added

Fixed

  • CI: Fix Windows CI Runner Failing Tests #543
    • Trying to fix some tests on Windows #656 @Tobbe 🎉
  • Auth: Auth0Client needs to be destructured from @auth0/auth0-spa-js #640
  • Apollo: upgrade apollo-server-lambda per security alert #659
  • Router: Fix windows matching paths in babel #665
  • CSS: Fix style loader order #667

Breaking ⚠️

  • See Prisma "Highlights and Changes" above for related breaking changes
  • Scaffold Generator CSS has been updated to use Semantic Classes, which breaks styling when new CRUD is added alongside existing. To learn more and resolve any issues, see this forum topic How to Upgrade Scaffold CRUD Styling to v0.8.0 (or greater)

How to upgrade RedwoodJS packages to v0.10.0

If the Current Version is > v0.6.0

Redwood v0.6.0 included a new CLI command to upgrade @redwoodjs NPM packages. Run the following command within your App directory:

yarn rw upgrade

If the Current Version is < v0.6.0

Manually update the following @redwoodjs/* packages.

Root directory package.json
  • "@redwoodjs/core": "^0.10.0”
web/package.json
  • "@redwoodjs/web": "^0.10.0”
  • "@redwoodjs/router": "^0.10.0”
  • "@redwoodjs/auth": "^0.10.0” (if installed)
api/package.json
  • "@redwoodjs/api": "^0.10.0”

Install the upgraded packages

$ yarn install

v0.8.2

30 May 20:26
Compare
Choose a tag to compare

Changed

  • Forms: Show authentication errors in <FormError> #621 @Terris
  • Config: Add babel-plugin-redwood-import-dir #598
  • Template: remove api/tsconfig file, fixes prisma default autocomplete redwoodjs/create-redwood-app#60 @guledali
    • note: to apply this change to an existing project, see "How to Upgrade" section below

Fixed

  • Config: Test and fix babel plugin for routes auto-loader #628
  • Config: Files that end with Cell are not considered Cells if they have a default export #597
  • Config: Convert route auto import to TypeScript #635

Breaking ⚠️

No breaking changes. 🎉


How to upgrade RedwoodJS packages to v0.8.2

Manual Code Change

The tsconfig.json file was removed from api/. Because this file existed alongside a jsconfig.json file, it was blocking Prisma's autocomplete feature. See redwoodjs/create-redwood-app#60

To apply this change to your project, remove the following file:

api/tsconfig.json

⚠️ Do not remove this file if you previously modified the API-side language target to be TypeScript. If this is your case, you might not need the jsconfig.json file and it could be possible to restore Prisma autocomplete via its removal -- proceed according to your own testing and needs.

If the Current Version is > v0.6.0

Redwood v0.6.0 included a new CLI command to upgrade @redwoodjs NPM packages. Run the following command within your App directory:

yarn rw upgrade

If the Current Version is < v0.6.0

Manually update the following @redwoodjs/* packages.

Root directory package.json
  • "@redwoodjs/core": "^0.8.2”
web/package.json
  • "@redwoodjs/web": "^0.8.2”
  • "@redwoodjs/router": "^0.8.2”
  • "@redwoodjs/auth": "^0.8.2” (if installed)
api/package.json
  • "@redwoodjs/api": "^0.8.2”

Install the upgraded packages

$ yarn install

v0.8.0

29 May 07:21
Compare
Choose a tag to compare

v0.8.0 Highlights

Thank You to everyone below who contributed to this release. Redwood is better because of you!

Changed

  • Prisma: Upgrade to Prisma-2.0.0-beta.6 #619
  • Cell: enable cell to take functions for a query #505 @eurobob
  • Cell: allow non-cell files name end with Cell #554 @gfpacheco
  • Tests: Improve testing capabilities for Web #521 @RobertBroersma
  • Dev-Server: add IP address to the Lambda event's requestContext in dev server #553 @bjackson
  • Dev-Server: refactor Dev Server #573
  • CLI: updates CLI build option to set default based on existing Sides (API or Web) #576
  • CLI: Improve building api by first checking if api/prisma/ exists #595
  • Docs: add reference section to CONTRIBUTING.md #577 @jtoar
  • Docs: add Private and Redirect to Router README #616 @twmilli
  • Forms: allow override of input props #580 @gfpacheco
  • Forms: update scaffold css to use semantic classes #611 @Terris

Added

Fixed

  • CLI: fix db/generate (nested command-dirs) help messages #555 @jtoar
  • Cell: Fix cell plugin not handling default and named export #601 @gfpacheco
  • Dev-Server: Fix dev server run error when path contains spaces #609

Breaking ⚠️

No breaking changes. 🎉


How to upgrade RedwoodJS packages to v0.8

If the Current Version is > v0.6.0

Redwood v0.6.0 included a new CLI command to upgrade @redwoodjs NPM packages. Run the following command within your App directory:

yarn rw upgrade

If the Current Version is < v0.6.0

Manually update the following @redwoodjs/* packages.

Root directory package.json
  • "@redwoodjs/core": "^0.8.0”
web/package.json
  • "@redwoodjs/web": "^0.8.0”
  • "@redwoodjs/router": "^0.8.0”
  • "@redwoodjs/auth": "^0.8.0” (if installed)
api/package.json
  • "@redwoodjs/api": "^0.8.0”

Install the upgraded packages

$ yarn install

v0.8.0-rc.1

29 May 06:12
Compare
Choose a tag to compare
v0.8.0-rc.1 Pre-release
Pre-release
v0.8.0-rc.1

v0.7.0

20 May 19:11
Compare
Choose a tag to compare

This release introduces the new 🎉 Redwood Auth Package 🎉, which is a lightweight wrapper around popular SPA authentication libraries. Current support includes Netlify Identity Widget, Auth0, and Netlify GoTrue-JS. (With more on the way!) And it wouldn't be done the Redwood Way if it didn't include a generator to handle the boilerplate for you. We hope you find it delightful to use!

Getting Started with Redwood Auth

Documentation

Example App Implementations

CLI Trailblazing

  • Feeling 😜? Just dive in with yarn rw g auth [netlify|auth0]

Other v0.7.0 Highlights 🚀

  • New Function generator and Custom Function Cookbook guide
  • New Scaffold generator option to add 'path/' structure via yarn rw g scaffold <path/model> #423
  • New Form fields (too many to list!) and improvements to Redwood Forms
  • Upgrades Prisma to v2.0.0-beta.5 (release notes for beta.4 and beta.5)

And a gigantic Thank You to all the amazing contributors below who are making Redwood better every day. It's a blast to build this with you! 🙌

Changed

  • Dev-server: improve Error Handling at FatalErrorBoundary #486
  • Generators: humanize labels on scaffold forms #493 @lachlanjc
  • Config: convert custom webpack cell-loader into Babel Plugin #512 @RobertBroersma
  • Prisma: upgrade to Prisma v2.0.0-beta.5 #525 #532
    • ⚠️possible breaking change to migration files; see "Breaking" below

Added

  • Auth: add @redwoodjs/auth package #497 #536 🎉
  • Generators: adds auth generator #539 🎉
  • Generators: adds function generator #517 🎉
  • Generators: add path specification to scaffolds #423 @jtoar 🎉
  • CLI: add console log on rebuild complete #504 @vikash-eatgeek
  • CLI: add @redwoodjs/auth package to CLI upgrade command #556
    • CLI upgrade command: add option --tag with choices 'canary' or 'rc' #560
  • Docs: add router docs for useMatch and NavLink #470 @RobertBroersma
  • Forms: add Radio Field #479 @vikash-eatgeek
  • Forms: add checkbox field #488 @vikash-eatgeek
  • Forms: adds all input type Field form helpers #511

Fixed

  • CLI: fix yarn rw info not displaying redwoodjs packages on Windows #476
  • Generators: remove excess closing braces from foreign key map on scaffold generator #482 @eurobob
  • Generators: fixes possible null error in truncate #485 @kwyoung11
  • Generators: switch out "Hammer" data source in tests #506 @lachlanjc
  • Generators: fix NamesCell reload after deleting item #519 @cephalization
  • Dev-server: 'yarn rw dev' now only starts the API and DB servers when the api folder is present #490 @ackinc
  • Dev-server: fix Prisma Client error when running dev server w/out DB #524
  • Router: Convert children into array to do array things #547

Breaking ⚠️

For previously deployed applications, it is possible the new Prisma migration files from beta.5 are incompatible with previous migrations. If you encounter a migration error on deployment, follow these steps after you backup your deployment DB:

  1. Remove your local Prisma "migrations/" directory and files.
  2. Create a new migration via yarn rw db save
  3. Drop the "_Migrations" table on your deployment DB
  4. If you are using the netlify-plugin-prisma-provider, make sure it is at v0.3.0

Rerun your deployment, which should complete successfully.


How to upgrade RedwoodJS packages to v0.7.0

If the Current Version is v0.6.0

Redwood v0.6.0 includes a new CLI command to upgrade @redwoodjs NPM packages. Run the following command within your App directory:

yarn rw upgrade

If the Current Version is < v0.6.0

Manually update the four @redwoodjs/* packages.

Root directory package.json
  • "@redwoodjs/core": "^0.7.0”
web/package.json
  • "@redwoodjs/web": "^0.7.0”
  • "@redwoodjs/router": "^0.7.0”
api/package.json
  • "@redwoodjs/api": "^0.7.0”

Install the upgraded packages

$ yarn install

v0.7.0-rc.3

19 May 23:22
Compare
Choose a tag to compare
v0.7.0-rc.3 Pre-release
Pre-release
v0.7.0-rc.3