Skip to content

The latest news releases from the Qwik team

August 19th, 2026

@qwik.dev/router@2.0.0-beta.39

Major Changes

  • ✨ routeLoader$ caching is controlled by the new cacheControl option, replacing expires/poll (by @wmertens in #8904)

Minor Changes

  • ✨ loaders re-fetch on every navigation via the browser cache, and unchanged responses no longer rerender (by @wmertens in #8904)

Patch Changes

Contributors:

  • wmertens
  • Varixo
  • saboooor
  • qwik
  • 2

August 19th, 2026

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

Major Changes

  • ✨ replace the allowStale signal option with an explicit .clear() method (by @wmertens in #8904)

  • ✨ remove expires/poll/interval from computed signals, use usePoll from @qwik.dev/utils instead (by @wmertens in #8904)

Minor Changes

  • breaking: show suspense fallbacks only during initial loading and remove showStale (by @Varixo in #8869)

Patch Changes

  • 🐞🩹 bundle-graph no longer drops reachable dependencies while it gets optimized to avoid transitive duplicates. (by @maiieul in #8907)

  • 🐞🩹 support namespaced document and window event names (by @Varixo in #8920)

  • 🐞🩹 render nested Each components on the server (by @Varixo in #8921)

  • 🐞🩹 build optimizer before Vite ecosystem worker bundles (by @gioboa in #8905)

  • 🐞🩹 avoid rerendering unchanged components after resume (by @Varixo in #8931)

  • 🐞🩹 the minified build now emits valid @__PURE__ annotations so downstream bundlers can tree-shake it (by @maiieul in #8908)

  • 🐞🩹 handle async component rejections during SSR flushes. (by @Varixo in #8851)

  • 🐞🩹 support Vite's Rolldown type definitions in the optimizer plugin (by @gioboa in #8874)

  • 🐞🩹 avoid eager container resume for capture-free sibling handlers (by @Varixo in #8919)

  • 🐞🩹 <Link /> data prefetch doesn't fetch already present and still valid loader data (by @wmertens in #8870)

  • 🐞🩹 report repeated qrl chunk load failures only once (by @Varixo in #8845)

  • 🐞🩹 encode vnode metadata keys in script output. (by @Varixo in #8866)

  • 🐞🩹 require noSerialize values to carry the marker brand (by @Varixo in #8867)

  • 🐞🩹 avoid projecting HMR placeholders into nested components (by @Varixo in #8865)

  • Updated dependencies [53231e8]:

Contributors:

  • wmertens
  • qwik
  • Varixo
  • maiieul
  • gioboa
  • __PURE__
  • 2

July 16th, 2026

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

Major Changes

  • ✨ relocate built assets with output.assetFileNames; remove build.assetsDir handling (by @maiieul in #8817)

  • 🐞🩹 sync computed$ errors also go in .error and also rethrow on .value read (by @wmertens in #8807)

Minor Changes

  • useComputed$ accepts async functions and provides a compute context with track(); useAsync$, createAsync$, and AsyncSignal are deprecated in favor of it (by @wmertens in #8807)

  • ✨ improve client resume responsiveness by splitting startup DOM processing into smaller tasks (by @Varixo in #8575)

  • ✨ improve client resume responsiveness by splitting state processing into smaller tasks (by @Varixo in #8579)

  • ✨ Add experimental Show control-flow component with when$, then$, and optional else$ branches. (by @Varixo in #8624)

Patch Changes

  • 🐞🩹 preserve deferred attribute values during server rendering (by @Varixo in #8839)

  • 🐞🩹 preserve camelcase html attributes after client resume (by @Varixo in #8838)

  • 🐞🩹 validate element names during server rendering (by @Varixo in #8839)

  • 🐞🩹 preserve element keys during server rendering (by @Varixo in #8839)

  • 🐞🩹 clientOnly async signals now resume on pages without other serialized state (by @wmertens in #8807)

  • 🐞🩹 clientOnly option on useComputed$ now skips SSR computation (by @wmertens in #8807)

  • 🐞🩹 dedupe the ssr already-streamed-chore dev warning to once per host (by @maiieul in #8808)

  • 🐞🩹 the built-in dev-time eslint linter now targets es2022 (by @maiieul in #8810)

  • Dev-mode QRL segments now resolve even when their parent module was never loaded in the requesting Vite server (e.g. Vitest browser mode or SSR rendered in a separate server). The dev server transforms the parent on demand instead of erroring with "module does not exist in the build graph". (by @maiieul in #8816)

  • Fix SSR in-order streaming not flushing before awaiting a component-body promise. (by @AmariahAK in #8820)

  • 🐞🩹 release pending store state after failed deserialization (by @Varixo in #8839)

  • 🐞🩹 duplicate projected element children when a component throws a promise on first render (by @maiieul in #8715)

  • 🐞🩹 resume multiple SSR containers on the same page (by @maiieul in #8799)

  • 🐞🩹 validate serialized object data before restoration (by @Varixo in #8839)

  • 🐞🩹 reject malformed byte arrays before allocating deserialized data (by @Varixo in #8839)

  • 🐞🩹 filter callable properties while restoring errors (by @Varixo in #8839)

  • 🐞🩹 preserve slot names during server rendering (by @Varixo in #8839)

  • 🐞🩹 resuming component props when statePrewarm option is enabled (by @Varixo in #8784)

  • 🐞🩹 ssg build no longer overwrites the deployed server entry with a broken re-export (by @wmertens in #8806)

  • 🐞🩹 reject invalid serialized Promise dependencies (by @Varixo in #8839)

  • 🐞🩹 reduce component rerender when props are the same (by @Varixo in #8735)

  • 🐞🩹 surface a failed container resume — report it and unblock whenContainerDataReady waiters — instead of swallowing the error into a silent hang. (by @maiieul in #8772)

  • 🐞🩹 surface a failed vnode-data resume — report it and unblock the whenVNodeDataReady waiters — instead of swallowing the error into a silent hang. (by @maiieul in #8773)

  • 🐞🩹 prevent large updates that span multiple frames from restarting incorrectly and missing pending UI changes (by @Varixo in #8743)

Contributors:

  • maiieul
  • wmertens
  • Varixo
  • AmariahAK
1
...
4
5
6
...
30