v0.24.0

elebumm/RedditVideoMakerBotv0.24.0Jun 11, 2026by github-actions[bot]

AI Summary

A major version update introducing breaking changes to the configuration system, requiring new dependencies, and introducing new features like a type-safe navigation component and a more performant API client.

Key Highlights

  • Renamed Wasp TS config file and updated import path
  • Switched API client from Axios to Ky for better performance
  • Added a type-safe `NavLink` component for routing
  • Now requires `vitest` to be listed in devDependencies

Breaking Changes

  • Renamed `main.wasp.ts` config file and changed import source from `wasp-config` to `@wasp.sh/spec`
  • Removed the `wasp new:ai` command and the `ai-generated` starter template
  • Wasp now requires `vitest` to be listed in project dependencies

New Features

  • API client switched from Axios to Ky
  • Added type-safe `NavLink` component with render-prop helpers
  • Support for real JS imports in Wasp TS spec
  • Proper setting of `NODE_ENV` environment variable based on command
  • Added SEO & GEO optimization documentation

Full Release Notes

### ⚠️ Breaking Changes

Remember to check out the [migration guide](https://wasp.sh/docs/migration-guides/migrate-from-0-23-to-0-24) for step-by-step documentation on how to upgrade.

- The Wasp TS config (`main.wasp.ts`) is now called the Wasp Spec, and it should import from `@wasp.sh/spec` instead of `wasp-config`. ([#4153](https://github.com/wasp-lang/wasp/pull/4153))
- Wasp now requires `vitest` to be listed in your project's `devDependencies`. ([#4182](https://github.com/wasp-lang/wasp/pull/4182))
- Removed `wasp new:ai` and the `ai-generated` starter template. ([#4280](https://github.com/wasp-lang/wasp/pull/4280))

### πŸŽ‰ New Features

- The `api` export from `wasp/client/api` is now a [Ky](https://github.com/sindresorhus/ky) instance instead of Axios for improved performance and smaller final size. ([#3998](https://github.com/wasp-lang/wasp/pull/3998))
- Wasp TS spec now properly sets the `NODE_ENV` environment variable depending on which command you use to run Wasp. ([#4087](https://github.com/wasp-lang/wasp/pull/4087))
- Added a type-safe `NavLink` component, mirroring `react-router`'s `NavLink` API (with `isActive`, `isPending`, `isTransitioning` render-prop helpers). ([#4104](https://github.com/wasp-lang/wasp/pull/4104))
- Wasp TS spec now supports real JS imports, letting you import values in `main.wasp.ts` and pass them directly instead of using import objects like `{ import, from }`. ([#4143](https://github.com/wasp-lang/wasp/pull/4143))

### 🐞 Bug fixes

- Fixed a race condition in development mode that could potentially load the app's JS bundle before the Vite runtime, causing the app to fail the load with a "Can't detect preamble" error. ([#4258](https://github.com/wasp-lang/wasp/issues/4258))
- Fixed `wasp deploy railway launch` sometimes producing a crashed server with an empty `DATABASE_URL`. Wasp now waits for the database service to finish deploying before setting up the other services. ([#4291](https://github.com/wasp-lang/wasp/pull/4291))
- Fixed a bug where `wasp deploy railway launch` wouldn't correctly build the Wasp app client if the `/` route was not prerendered. ([#4293](https://github.com/wasp-lang/wasp/pull/4293))

### πŸ”§ Small improvements

- Wasp now also validates `tsconfig.wasp.json` and the root `tsconfig.json` in TS spec projects, and tsconfig validation errors now mention which `tsconfig.*.json` file caused them. ([#3911](https://github.com/wasp-lang/wasp/pull/3911))
- The npm package now shows a clear error when installed on an unsupported Node.js version. ([#4268](https://github.com/wasp-lang/wasp/pull/4268))

### πŸ“– Documentation

- We now have a [SEO & GEO optimization guide](https://wasp.sh/docs/guides/optimization/seo). ([#4264](https://github.com/wasp-lang/wasp/pull/4264))