⚠️ Breaking Changes
Remember to check out the migration guide for step-by-step documentation on how to upgrade.
- Wasp now requires the
wasp()plugin in yourvite.config.tsfile. You can import the plugin fromwasp/client/viteand add it as the first plugin in your Vite configuration. (#3652) - User projects must now provide their own
public/manifest.jsonfile. This file is no longer auto-generated by Wasp. (#3652) - Wasp now has Tailwind CSS 4 support, and v3 support has been dropped. (#3571)
- Wasp now uses Vitest 4 for testing. (#3580)
- Removed the
.wasp/builddirectory. Wasp now only uses.wasp/outfor generated code, both in development and production mode. (#3540) - The Wasp SDK is now used as a workspace instead of a dependency. This avoids dependency resolution issues and further improves reliability of Wasp projects. (#3544)
- Wasp now uses React Router 7. The package has been renamed from
react-router-domtoreact-router, so you'll need to update your imports. (#3490, #3658) - Wasp no longer generates
netlify.tomlin the.wasp/out/web-appdir. If you're deploying to Netlify, you'll need to add it manually. (#3665) - If you are manually deploying the client app, you now build it with
npx vite buildfrom the project root instead of runningnpm run buildinside.wasp/out/web-app. The build output is still in.wasp/out/web-app/build. (#3652) - The
REACT_APP_API_URLenvironment variable is no longer supported for specifying a custom server URL during deployment. Use the new--custom-server-urlCLI option instead. (#3674)
🎉 New Features
- User-land Vite configuration: Wasp runs Vite in your project root and no longer in
.wasp/out/web-appdir. Yourvite.config.tsis the source of truth for Vite configuration. (#3652) - The
wasp()plugin accepts options to customize the underlying@vitejs/plugin-reactbehavior. (#3652) - Wasp apps can now offer login with Microsoft (both consumer and Entra accounts) (by @Pipboyguy). (#3637)
- Wasp can now be installed through
npm. (#3525) - Wasp now supports Tailwind CSS v4. (#3571)
- Wasp now allows you to override built-in dependencies (advanced, best-effort support only). (#3643)
🐞 Bug fixes
- Fixed an issue where if Wasp was installed from npm,
wasp newwould not work correctly. (#3585) - Fixed an issue where the
Linkcomponent might not update with the values ofsearchandhash(by @Pipboyguy). (#3633) - We now support Railway CLI v4.18.1 and greater on
wasp deploy railway. (#3667) - Wasp TS spec now validates declaration names. (#3721)
- Fixed Railway deployment failing when the project name contains special characters (e.g.,
kitchen-sink-0.20.0). (#3673)
📖 Documentation
- Upgraded the installation instructions throughout the docs to the new npm installation method. (#3630)
- The Wasp docs now include a "Guides" section, with step-by-step tutorials on how to use popular libraries and tools with Wasp. Check them out at https://wasp.sh/docs/guides! (#3597)
🔧 Small improvements
- We've unlinked Wasp from any specific Tailwind CSS version, so in the future you can adopt new Tailwind CSS versions at your own pace, independently of Wasp. (#3571)
wasp newnow shows a helpful message when the specified template has not been updated to the latest Wasp version. (#3511)- Running a Wasp in development or production mode won't modify your
package-lock.jsonfile anymore. (#3540) - We updated the
basicstarter template to the latest best practices for React 19 + TypeScript apps. This applies to new projects created withwasp new -t basic, and older projects are unaffected. (#3572) - We updated the testing environment to JSDOM 27 for more up-to-date mocking. (#3580)
- We updated our API mocking to MSW 2 for better performance and reliability. (#3580)
wasp infonow tells you if the last compilation was done in development or production mode. (#3612)wasp uninstallnow supports the npm installation method. (#3620)- Added anonymous usage analytics to the npm package installer to help us understand how Wasp is being installed. You can disable this by setting
WASP_TELEMETRY_DISABLE=1. (#3619) - Improved error messages when using dependencies that are incompatible with internal Wasp dependencies. (#3655)
- Removed a Rollup version override, since the upstream Rollup issue has been fixed. (#3654)
- The dev compiler file watcher now ignores
.DS_Storefiles, preventing unnecessary recompilations on macOS. (#3734) - Added guardrails to avoid installing Wasp through the installer or npm methods when the other method is already being used. (#3711)