Major Changes
-
✨ relocate built assets with output.assetFileNames; remove build.assetsDir handling (by @maiieul in #8817)
-
🐞🩹 sync computed$ errors also go in
.errorand also rethrow on.valueread (by @wmertens in #8807)
Minor Changes
-
✨
useComputed$accepts async functions and provides a compute context withtrack();useAsync$,createAsync$, andAsyncSignalare 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
Showcontrol-flow component withwhen$,then$, and optionalelse$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
whenContainerDataReadywaiters — instead of swallowing the error into a silent hang. (by @maiieul in #8772) -
🐞🩹 surface a failed vnode-data resume — report it and unblock the
whenVNodeDataReadywaiters — 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)