Change8

@qwik.dev/core@2.0.0-beta.35

📦 qwikView on GitHub →
3 features🐛 6 fixes1 deprecations🔧 5 symbols

Summary

This release introduces experimental support for React-style Suspense and Web Worker integration via `worker$`. It also deprecates direct import of the client manifest in favor of a new utility function.

Migration Steps

  1. If you were importing the client build manifest, change imports from `@qwik-client-manifest` to use the `getClientManifest()` function.

✨ New Features

  • Added experimental `<Suspense>` component for showing fallback UI during slow rendering, configurable via `experimental: ['suspense']` in `qwikVite` plugin.
  • Added experimental `Reveal` component for coordinating sibling `<Suspense>` boundaries using orders like `parallel`, `sequential`, `reverse`, or `together`, and supporting a `collapsed` state.
  • Added `worker$` support for running heavy work in Web Workers.

🐛 Bug Fixes

  • Fixed a race condition where `tsc` could wipe emitted `.d.ts` files by deferring `build.types` until after `build.lib` finishes in the CLI.
  • Hidden `node:async_hooks` import from non-Qwik bundlers (e.g., Cypress E2E) to prevent issues.
  • Reduced the size of `core.js` by removing error codes from the final output.
  • Migrated DevTools to Qwik and fixed issues resulting from dependency upgrades.
  • Prevented the preloader from being included in dev mode.
  • Fixed runtime errors for non-Vite consumers (like webpack) when `import.meta.env` is undefined.

Affected Symbols

⚡ Deprecations

  • Importing the client build manifest from `@qwik-client-manifest` is deprecated; use `getClientManifest()` instead.