Releases: wasp-lang/wasp
v0.12.2
0.12.2
🐞 Bug fixes
- We were adding Crypto polyfill even when not needed (when node > 18), which was then causing an error. Now polyfill is added only if needed.
v0.12.1
0.12.1
🐞 Bug fixes
- Reverted Wasp AI to using GPT3.5-Turbo-0613 instead of new GPT3.5-Turbo-0125 since 0125 would often return code that is missing newlines.
v0.12.0
This is a big update, introducing major changes that span the entirety of Wasp, specifically the new project structure and new Auth.
⚠️ Breaking changes
If your project is using an older version of Wasp, you will want to check out the detailed migration instructions at https://wasp-lang.dev/docs/migrate-from-0-11-to-0-12 .
New project structure
The output of wasp new myProject
before 0.12.0:
.
├── .gitignore
├── main.wasp
├── src
│ ├── client
│ │ ├── Main.css
│ │ ├── MainPage.jsx
│ │ ├── react-app-env.d.ts
│ │ ├── tsconfig.json
│ │ └── waspLogo.png
│ ├── server
│ │ └── tsconfig.json
│ ├── shared
│ │ └── tsconfig.json
│ └── .waspignore
└── .wasproot
The output of wasp new myProject
with 0.12.0:
.
├── .gitignore
├── main.wasp
├── package.json
├── public
│ └── .gitkeep
├── src
│ ├── Main.css
│ ├── MainPage.jsx
│ ├── queries.ts
│ ├── vite-env.d.ts
│ ├── .waspignore
│ └── waspLogo.png
├── tsconfig.json
├── vite.config.ts
└── .wasproot
The main differences are:
- Your project now has a
package.json
file. tsconfig.json
,vite.config.ts
, andpublic/
moved to the top dir.- The server/client code separation is no longer necessary. You can now organize your code however you want, as long as it's inside the
src/
directory. - All external imports in your Wasp file now must have paths starting with
@src
(e.g.,import foo from '@src/MainPage.jsx'
). The paths can no longer start with@server
or@client
.
New Auth
Before 0.12.0, authentication in Wasp was based on the User
model which the developer needed to set up properly and take care of the auth fields like email
or password
.
With 0.12.0, authentication is based on the auth models which are automatically set up by Wasp. You don't need to take care of the auth fields anymore, be it by adding them to the User
model or by adding whole new entities like SocialLogin
.
The User
model is now just a business logic model and you use it for storing the data that is relevant for your app.
In the background, Wasp is now using Lucia as the core auth library.
Naming requirements
Operation (i.e., Queries and Actions) and Job names in .wasp
files must now begin with a lowercase letter: query getTasks {...}
, job sendReport {...}
.
Entity names in .wasp
files must now begin with an uppercase letter: entity Foo {...}
.
Regression Notes
- Multiple auth methods per single user are not allowed anymore (while before a user could first sign up with a social account and then add email/pass to it).
- Auth field customization is no longer possible using the
_waspCustomValidations
on theUser
entity.
These are both temporary regressions and will be replaced with better mechanisms in the future.
🎉 [New Feature] Wasp now works with any Node version >= 18
So far, Wasp required a specific Node version that is compatible with the latest LTS Node (lately that was 18).
We relaxed that constraint so it now works with any Node version equal to or newer than the oldest LTS version that Wasp supports, meaning that now Wasp works with any Node version >= 18.
🎉 [New Feature] Wasp AI in the CLI (wasp new:ai
)
While so far it was available only through the https://usemage.ai , Wasp AI is now also available via the wasp
CLI, enabling you to create a new Wasp app from nothing more than a title and a short description.
You can run it by picking AI as an option in the wasp new
wizard, or via wasp new:ai
which allows you to provide all the details via the command line (useful for more programmatic usage).
You need to provide your own OpenAI API token, but that also means you can choose which model to use for the code generation: e.g. you can use GPT-4 all the way, instead of the default GPT-4 + GPT-3 combo that https://usemage.ai uses.
🎉 [New Feature] New template: Open Saas
Wasp now comes with a new template for kickstarting your apps, specifically SaaS apps: https://opensaas.sh/ .
This is the richest template for Wasp so far, with features like Stripe integration, admin dashboard, file uploading, blog (Astro), ...
You can choose it from the wasp new
's wizard.
v0.12.0-rc4
Updated e2e tests for addition of Oslo.
v0.12.0-rc3
Fixes e2e tests (#1761) * Fixes e2e tests Signed-off-by: Mihovil Ilakovac <[email protected]> * Adds new e2e tests * Update build tests --------- Signed-off-by: Mihovil Ilakovac <[email protected]> Co-authored-by: Filip Sodić <[email protected]>
v0.12.0-rc2
Fix formatting for CI
v0.12.0-rc
Brings Wasp AI from the CLI, new Auth, and big changes in the project structure (restructuring).
Check out https://github.com/wasp-lang/wasp/tree/8e8f61073c42af5741ef9d404824ec1d7b7f3d96/waspc/examples/todo-typescript for an example of an app that works with it.
Docs, Wasp AI, starter templates, ... -> these all still need updating.
v0.12.0-rc1
0.12 with new auth and AI, no restructuring yet, also not well tested.
v0.11.8
🎉 [New Feature] Serving the Client From a Subdirectory
You can now serve the client from a subdirectory. This is useful if you want to serve the client from a subdirectory of your domain, e.g. https://example.com/my-app/
.
To do this, you need to add the client.baseDir
property to your .wasp
file:
app todoApp {
// ...
client: {
baseDir: "/my-app",
},
}
🐞 Bug fixes / 🔧 small improvements
- Changed the minimum number of machines that a server app is using when deployed to Fly.io from 0 to 1. This prevents the server app from shutting down when there are no requests to it. There might be some other work that the server is doing e.g. running periodic Jobs or sending e-mails, so we want to make sure that the server is always running.
- Fixes a bug where copying of migrations dir failed due to a missing
migrations
dir. - Fixes a regression where a missing DB on the DB server would prevent project from running. Now, Wasp will tolerate the missing DB error and rely on Prisma to create the DB for you (like before).
- Fixes an issue on Linux where running Prisma migration command fails when a project has a path that has spaces in it.
v0.11.4-wasp-ai-12
Fixes timeouts for Mage (#1555)