@qwik.dev/core@2.0.0-beta.30
Breaking Changes📦 qwikView on GitHub →
⚠ 1 breaking✨ 2 features🐛 6 fixes🔧 5 symbols
Summary
This release introduces the Each component and splits the optimizer into a separate package to reduce download size. A major breaking change affects useTask/useVisibleTask cleanup functions, which now await cleanup Promises by default.
⚠️ Breaking Changes
- useTask() and useVisibleTask() now await their cleanup functions before running the next invocation. To prevent this awaiting behavior, do not return a cleanup Promise from these functions (and ensure errors are handled manually).
Migration Steps
- Review usages of useTask() and useVisibleTask(). If you were returning a cleanup function that returned a Promise, and you do not want the next invocation to wait for it, modify the cleanup function to return nothing or a non-Promise value.
✨ New Features
- Introduce Each component for fast list operations.
- The Qwik optimizer is now in a separate package (@qwik.dev/optimizer), reducing the download size for the main qwik package.
🐛 Bug Fixes
- Prevented auto-exports for variables shadowed inside catch, do-while, switch, or labeled blocks.
- Imported CSS passed to useStyles$ is now deduplicated.
- useSerializer$ can now handle thrown Promises during initialization.
- Exported variables passed to $ functions are no longer incorrectly inlined into segments.
- Fixed sibling node duplication when toggling elements with dangerouslySetInnerHTML.
- SPA navigation should no longer be skipped on the webkit engine.