Skip to content

The latest news releases from the Qwik team

October 1st, 2025

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

Minor Changes

  • ✨ split Qwik Core and Router dev experience. Core now only adjusts the html using the Vite hook for it, so it can work in any environment or client-only. You can make a Qwik application client-only by running qwik add csr now. (by @wmertens in #7890) Feat: Qwik Route now runs dev mode using the node middleware, which is the same as production, and can now hot-reload when routes are added. It does this by transforming the response while it streams to add the dev scripts. This opens the door for Vite Environment support. Feat: qwikVite() SSR builds now reads the manifest from the client build whenever possible. You can still pass in the manifest yourself if needed. Fix: Qwik Router's Vite plugin no longer imports Qwik Core, a cause of duplicate imports in dev and preview mode. Fix: Sometimes, SSG hangs after completion. The cause is still unknown, but now there is a workaround by forcing the process to exit after SSG is done.

Patch Changes

  • 🐞🩹 resuming shadow dom container with multiple root children (by @Varixo in #7943)

Contributors:

  • wmertens
  • Varixo

September 24th, 2025

create-qwik

Patch Changes

  • 🐞🩹 set sideEffects: false to the lib template, otherwise there might be some side effects imports when building a consumer project. (by @gioboa in #7855)

  • 🐞🩹 fix up vscode settings merge. Use JSON5 to parse settings.json to prevent parsing errors. (by @gioboa in #7858)

  • 🛠 use the new version of @croct/json5-parser to merge JSON5 and preserve comments (by @gioboa in #7884)

Contributors:

  • gioboa
  • croct

September 24th, 2025

@builder.io/qwik@1.16.1

Patch Changes

  • 🐞🩹 The entry.ssr renderToStream preloader.preloadProbability option is now deprecated because this could cause performance issues with bundles fetched on click instead of being preloaded ahead of time. (The preloader still relies on probabilities to know preload the most likely bundles first) (by @maiieul in #7847)

  • 🐞🩹 Link prefetch now always preloads Link prefetch bundles on monorepos (by @maiieul in #7835)

  • 🐞🩹 Rollup's hoistTranstiveImports is now set to false because the hoisting added unnecessary bundles to be preloaded to the bundle-graph static imports graph. This could lead to a suboptimal preloading experience. (by @maiieul in #7850)

  • 🛠 Add check-client command to verify bundle freshness (by @JerryWu1234 in #7517)

  • ✨ All qwik packages are now marked as side effect free in their package.json. This should remove a few unecessary empty imports added by rollup and then not tree-shaken like import "./preloader.js". (by @maiieul in #7908)

  • 🐞🩹 unmount qwikify react root alongside with qwik component (by @sashkashishka in #7864)

  • 🐞🩹 preloader now preloads bundles as long as they are part of the current viewport's bundles graph, even if their probability is very small (by @maiieul in #7836)

  • ✨ maxIdlePreloads is now constant over time so you know for sure how many bundles will be preloaded concurrently during idle. (by @maiieul in #7846)

  • 🛠 use patched domino instead of qwik-dom (by @gioboa in #7842)

  • 🐞🩹 Qwik is now smarter at bundling non QRL source files and qwik libraries modules (e.g. helpers, enums, inline components, etc.) together. (by @maiieul in #7888)

Contributors:

  • maiieul
  • JerryWu1234
  • sashkashishka
  • gioboa

September 24th, 2025

@builder.io/qwik-city@1.16.1

Patch Changes

  • 🐞🩹 fix behaviour of checkOrigin: "lax-proto" in createQwikCity (by @asaharan in #7865)

  • 🛠 Add check-client command to verify bundle freshness (by @JerryWu1234 in #7517)

  • 🐞🩹 return 404 with invalid URL. (by @gioboa in #7902)

  • ✨ All qwik packages are now marked as side effect free in their package.json. This should remove a few unecessary empty imports added by rollup and then not tree-shaken like import "./preloader.js". (by @maiieul in #7908)

  • ✨ SPA Link navigation now preloads the next route bundles on click with maximum probability, speeding up SPA navigation. (by @maiieul in #7849)

  • 🐞🩹 Your service-worker.js won't be unregistered anymore if you added custom logic to it. (by @maiieul in #7872)

    Note: Qwik 1.14.0 and above now use <link rel="modulepreload"> by default. If you didn't add custom service-worker logic, you should remove your service-worker.ts file(s) for the ServiceWorkerRegister Component to actually unregister the service-worker.js and delete its related cache. Make sure to keep the ServiceWorkerRegister Component in your app (without any service-worker.ts file) as long as you want to unregister the service-worker.js for your users.

Contributors:

  • asaharan
  • JerryWu1234
  • gioboa
  • maiieul
12
3
...
2930