Releases: redwoodjs/redwood
v0.11.0
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 🎉
- Read the documentation
- Added a "Flash" Messaging Bus to pass temporary message objects between components 🎉
- Read the documentation
- See a demo of Redwood CRUD
- 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
toyarn 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
- Release Notes
- prisma introspect improvement
Added
- Forms: Add generic typeless InputField component #590 @gfpacheco
- Auth: Firebase generator #643 @noire-munich 🎉
- Auth: Send logOut options to auth client #690 @dnprock
- Messaging: Add flash message component #654 @Terris 🎉
- CLI: feat(create-redwood-app) cli flags to show up help and version information #671 @jamesgeorge007
- Tests: Add MSW to testing package #687 @RobertBroersma
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 touserMetadata
currentUser
is now populated from data from./api/src/auth.js::getCurrentUser
magic.link
provider type was renamed tomagicLink
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:
- In your project root directory, open the file
netlify.toml
- 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
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
- Improved Pagination: added
cursor
andtake
- This is a Breaking Change: see beta.7 release notes
- Improved Raw SQL Queries: splitting
.raw
intoqueryRaw
and.executeRaw
- This is a Breaking Change: see beta.8 release notes
- Enforcing Arrays in
OR
- This is a Breaking Change: see beta.9 release notes
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
- TS: Convert packages/api/makeMergedSchema/* to TypeScript #592 @MarkPollmann
- CLI: Audit CLI commands, improve
--help
#594 @jtoar 🎉 - Console: Format errors in terminal #599
- Prisma: Upgrade to Prisma-2.0.0 #645 #655 #668 #672
Added
- TS: enable typescript services and sdl #515 @jmreidy 🎉
- TS: Convert component generator to TS #632 @kimadeline 🎉
- Auth: Adding Firebase to the AuthClients #593 @noire-munich
- Auth: add cli support for generating Magic.Link authentication provider #644 @gizmoGremlin
- CSS: SCSS/CSS Module support #662 @bjackson
Fixed
- CI: Fix Windows CI Runner Failing Tests #543
- 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
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 thejsconfig.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
v0.8.0 Highlights
- New Magic.Link Auth provider 🔐 (documentation) #562
- New Destroy command 💥allows you to undo your
rw generate
fails. See all the options viayarn rw destroy --help
. #487 - Jest Tests Mocks for Web (initial documentation) #521
- Upgrades Prisma to v2.0.0-beta.6 (release notes)
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
- CLI: add destroy command #487 @antonmoiseev
- Auth: Magic.Link added as provider to @redwoodjs/auth #562 @burnsy
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
v0.8.0-rc.1
v0.7.0
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
- Redwood Auth Guide has all the details
- Complete the new Redwood Tutorial Authentication section to add Auth to your RedwoodBlog
Example App Implementations
- Learn to implement Netlify Auth via the Redwood Example Blog tutorial
- Explore Auth implementation in the Example Invoice project
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:
- Remove your local Prisma "migrations/" directory and files.
- Create a new migration via
yarn rw db save
- Drop the "_Migrations" table on your deployment DB
- 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
v0.7.0-rc.3
v0.7.0-rc.2
v0.7.0-rc.2
v0.7.0-rc.1
v0.7.0-rc.1
v0.6.0
Along with bug fixes, ENV var support, Router enhancements, and improved TypeScript support, this release introduces a new workflow with CLI tools for contributing to the RedwoodJS Framework. For more information, please read CONTRIBUTING.md 🤩
Changed
- Prisma: upgrade to Prisma-2.0.0-beta.3 #457
- Config: Only use redwood-eslint-plugin when in a redwood project #443
- Framework: build core packages and reference them correctly #456
- TypeScript: Let api-dev-server and webpack load .ts and .tsx files #438
Added
- CLI: Add workflow tools for local development #429 #442
- Config: support ENV vars in webpack projects #430 @snormore
- write tests and docs for environmental variables #444
- Router: add useMatch for crafting stateful links #416 @RobertBroersma
- TypeScript: Setup TS Project References #359 @mohsen1
- CLI: add 'yarn rw upgrade' helper to upgrade
@redwoodjs
packages #436
Fixed
- Router: fixes
validatePath
duplicate params & reject spaces in routes #420 @olance - Deploy: add process.exit(1) to ensure Netlify build fails on error #447
- CLI: fixes mutation constant names in generated code #458
- Docs: fix link markup #459 @benmccann
Breaking ⚠️
Breaking changes only apply to Apps upgrading from previous versions.
Prisma-2.0.0-beta.3 has two major changes that may affect some applications upgrading from previous Redwood versions.
- Enums are now disallowed for SQLite
- Required 1-1 self relations are forbidden now
Release notes are available here.
How to upgrade RedwoodJS packages to v0.6.0
Redwood v0.6.0 includes a new CLI command to upgrade
@redwoodjs
NPM packages. However, you must first upgrade to v0.6.0 to useyarn rw upgrade
Update your @redwoodjs/*
packages.
Four packages should be updated to v0.6.0
Root directory package.json
"@redwoodjs/core": "^0.6.0”
web/package.json
"@redwoodjs/web": "^0.6.0”
"@redwoodjs/router": "^0.6.0”
api/package.json
"@redwoodjs/api": "^0.6.0”
After updating and saving the files, install the packages from the root directory:
$ yarn install