Faster reactivity
VNodes live in memory instead of HTML comments, so updates are over 2x faster than v1.
What has shipped, what the team is building now, and where Qwik is heading next.
Last updated November 2026 · Plans change. Track each item on GitHub.
VNodes live in memory instead of HTML comments, so updates are over 2x faster than v1.
State and the VNode tree ship as one encoded string at the end of the page.
Signals, stores and computed values rebuilt from scratch, with async useComputed$.
Pending and Catch boundaries stream a fallback first and the content later.
Each routeLoader$ gets its own JSON endpoint, with cacheControl, eTag and blockSSR.
Builds run on Rolldown, and HMR keeps signal and store values as you edit.
A dev overlay and browser extension to inspect signals, renders and bundles.
worker$, reactify$, useSerializer$, server-only *.server.ts files and error.tsx.
Opt-in with tsOptimizer: true and matches the Rust optimizer on every test.
Qwik City becomes Qwik Router, and every package moves to @qwik.dev.
qwik migrate-v2 takes care of the few breaking changes for you.
Give middleware, blocking loaders, streamed loaders and actions the same ev methods.
Fix the critical and most common bugs reported against v2.
Add a time-to-interactive benchmark.
A new home page for the v2 docs.
Switch the default from the Rust optimizer to the TypeScript one.
Run Qwik apps on the Vite+ toolchain.
Deploy Qwik Router apps through Nitro and its server presets.
Make Pending, Catch, .pending and .error stable.
Rendering without a virtual DOM.
Remove the $ wrappers you have to write today.
Keep tracking reactive reads that happen after an await.
One API that merges server$ and route actions.
Async computed signals with no waterfalls, replacing route loaders.
Propose an idea, vote on what matters to you, or pick up an open issue.