@qwik.dev/core@2.0.0-beta.39
Breaking Changes📦 qwikView on GitHub →
⚠ 3 breaking🐛 14 fixes🔧 32 symbols
Summary
This release introduces significant changes to signal handling, replacing `allowStale` with `.clear()` and removing polling options from computed signals. It also refines suspense fallback behavior and includes numerous bug fixes for optimization, rendering, and SSR.
⚠️ Breaking Changes
- The `allowStale` signal option has been replaced by an explicit `.clear()` method. Use `.clear()` instead of `allowStale`.
- Suspense fallbacks are now only shown during initial loading. The `showStale` option has been removed.
- The `expires`, `poll`, and `interval` options have been removed from computed signals. Use `usePoll` from `@qwik.dev/utils` instead.
Migration Steps
- Replace `allowStale` signal option with `.clear()`.
- Use `usePoll` from `@qwik.dev/utils` for polling functionality previously handled by `poll`, `interval`, or `expires` on computed signals.
- Remove usage of the `showStale` option for suspense fallbacks.
🐛 Bug Fixes
- Bundle-graph optimization no longer drops reachable dependencies, preventing transitive duplicates.
- Namespaced document and window event names are now supported.
- Nested `Each` components are now rendered on the server.
- The build optimizer now runs before Vite ecosystem worker bundles.
- Unchanged components are no longer re-rendered after resume.
- The minified build now emits valid `@__PURE__` annotations for better tree-shaking by downstream bundlers.
- Async component rejections are now handled during SSR flushes.
- The optimizer plugin now supports Vite's Rolldown type definitions.
- Eager container resume is avoided for capture-free sibling handlers.
- `<Link />` data prefetching now avoids fetching already present and valid loader data.
- Repeated `qrl` chunk load failures are now reported only once.
- Vnode metadata keys in script output are now encoded.
- Values for `noSerialize` now require the marker brand.
- HMR placeholders are no longer projected into nested components.
Affected Symbols
computed signals`allowStale``.clear()``expires``poll``interval``usePoll``@qwik.dev/utils`suspense fallbacks`showStale``bundle-graph`namespaced event names`Each` componentsbuild optimizerVite ecosystem worker bundlesresume`@__PURE__` annotationsasync component rejectionsSSR flushesVite's Rolldown type definitionsoptimizer plugincontainer resumesibling handlers`<Link />`data prefetching`qrl` chunk load failuresvnode metadata keysscript output`noSerialize`marker brandHMR placeholders`@qwik.dev/optimizer`