Skip to content

V2 Version Packages (beta)#8723

Open
github-actions[bot] wants to merge 1 commit into
build/v2from
changeset-release/build/v2
Open

V2 Version Packages (beta)#8723
github-actions[bot] wants to merge 1 commit into
build/v2from
changeset-release/build/v2

Conversation

@github-actions

@github-actions github-actions Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to build/v2, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

build/v2 is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on build/v2.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

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

Major Changes

  • 🐞🩹 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

  • 🐞🩹 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)

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

  • 🐞🩹 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)

  • 🐞🩹 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)

  • 🐞🩹 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)

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

Major Changes

  • BREAKING: 404.tsx and error.tsx now render inside their layouts (with @layout/! modifiers), a route miss resolves the nearest 404.tsx, and the 404 page is prerendered for static hosts. Rename 404.tsx to 404!.tsx if you do not want to add the layout. (by @briancarbone in #8762)

  • BREAKING: SPA view transitions are now opt-in; set viewTransition={true} on QwikRouterProvider to re-enable them. (by @maiieul in #8778)

  • ✨ rename the Link prefetchBundle prop to prefetchBundles (by @maiieul in #8828)

Minor Changes

  • feat(router): automatically omit fully-prerendered, server-free routes from the production SSR route plan so their chunks tree-shake out of size-capped server bundles. (by @briancarbone in #8742)

  • ✨ route loaders gain a blockSSR option (default true); set blockSSR: false to run a loader in the background without blocking SSR (experimental, requires the blockSSR feature flag) (by @wmertens in #8793)

  • ✨ returning ev.redirect(), ev.error() or ev.rewrite() from a loader, action, request handler or server function now behaves the same as throwing them (by @wmertens in #8775)

  • feat(router): add an exclude option to rewriteRoutes to skip generating localized routes for matching path patterns. (by @briancarbone in #8751)

  • ✨ render SSG in a dedicated Vite build environment, so prerendered route code stays out of the deployed server bundle (by @briancarbone in #8760)

    SSG now runs from the buildApp step of the Vite builder. The Qwik CLI and adapters already build via createBuilder().buildApp(), so they need no change. Code that prerenders by calling Vite's programmatic build() directly must switch to builder.buildApp(), otherwise the SSG step is silently skipped.

Patch Changes

  • 🐞🩹 render navigation state before loading the next route (by @Varixo in #8821)

  • 🐞🩹 prerendered routes are now correctly excluded from the server route plan (by @briancarbone in #8759)

  • fix(router): honor the routeLoader$ id option so loaders created through a shared wrapper (which share one optimizer-assigned QRL hash) get distinct ids instead of all but the first being silently deduped in getModuleRouteLoaders. A dev-mode warning is now logged when two distinct loaders share an id. (by @maiieul in #8749)

  • 🐞🩹 prevent cold dev route loader requests from failing during SPA navigation (by @Varixo in #8787)

  • 🐞🩹 action redirects work again (by @wmertens in #8780)

  • 🐞🩹 resolve image jsx imports with extra query parameters. (by @Varixo in #8753)

  • 🐞🩹 ensure SPA navigation correctly refreshes route loader data for catch-all routes, including when loader data is shared through context (by @Varixo in #8748)

  • 🐞🩹 routeLoader$ fail() now sets the loader value to { failed } instead of throwing an error, as it was before. (by @wmertens in #8756)

  • 🐞🩹 prerendered route loaders no longer 404 when the client and server are built as separate processes (by @briancarbone in #8760)

  • 🐞🩹 route loader no longer resolves to undefined on the first dev SPA navigation (by @briancarbone in #8770)

  • 🐞🩹 routeLoader$ not re-running during SPA navigation between URLs that match the same catchall route (by @Varixo in #8730)

  • 🐞🩹 route action type allows invalidate without validators (by @wmertens in #8807)

  • 🐞🩹 preserve scroll after spa action submits (by @Varixo in #8797)

  • 🐞🩹 hot-reload route-imported CSS in dev without a server restart (by @briancarbone in #8725)

  • 🐞🩹 register aliased server functions used only in client code like visible tasks (by @Varixo in #8818)

  • 🐞🩹 adapter post-build runs with ssg disabled, and the ssg build skips minify/sourcemaps (by @wmertens in #8806)

  • 🐞🩹 the ssg build no longer bundles the unused deploy server entry (by @wmertens in #8806)

  • 🐞🩹 a prerendered route's loader with no static sidecar now falls through to SSR instead of failing as a missing static asset (by @briancarbone in #8760)

  • 🐞🩹 ensure dev SPA navigation loads route loader data correctly for catch-all and base-prefixed routes (by @Varixo in #8805)

  • Updated dependencies [96fe9e1, b5a74df, 3672ae5, 2e2a913, 1921d7a, e28ae7c, 3710734, 12387da, e70b299, 3a0df67, ee013ae, d3b6678, 8fc5762, 03fae8a, fd9f197, 4917019, abaae23, 15ea2d8]:

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

@qwik.dev/devtools@0.3.0-beta.2

Patch Changes

  • refactor(devtools): extract findComponentKey and component-name derivation as runtime utilities (by @Aejkatappaja in #8803)

    The component-key lookup and the "name after the last underscore" derivation were inlined inside
    the hook runtime installer and duplicated across getComponentDetail, setSignalValue, and
    getComponentTreeSnapshot. They are now top-level __qwik_find_component_key__ and
    __qwik_derive_component_name__ functions, emitted by name into the injected runtime bundle and
    reused by every caller. Being pure, they are also covered by unit tests.

  • refactor: share the page data source contract between the ui and extension (by @Aejkatappaja in #8804)

  • refactor(devtools): single source of truth for shared protocol types (by @Aejkatappaja in #8712)

    The VNode tree node, component detail entry, and render event shapes were declared
    three times: in the browser extension, in the devtools UI, and in the kit client
    bridge. They now live once in @qwik.dev/devtools/kit (protocol module) as
    DevtoolsVNodeTreeNode, DevtoolsComponentDetailEntry, and DevtoolsRenderEvent, and
    every consumer imports them from there.

  • refactor(devtools): generate the extension VNode bridge from one shared source (by @Aejkatappaja in #8713)

    The browser extension's public/vnode-bridge.js duplicated the VNode bridge logic
    (tree building, prop serialization, name normalization, DOM resolution, highlighting,
    component tree update posting) that the Vite plugin already owns via
    __qwik_install_vnode_runtime__ / createVNodeRuntime(). It is now generated from
    that single canonical source by the extension build (alongside devtools-hook.js)
    and is no longer committed.

  • ✨ enhances the devtools package management experience by adding dependency inspection, search, install, update, and feedback flows to the Packages panel. (by @JerryWu1234 in #8768)

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

Patch Changes

create-qwik@2.0.0-beta.38

eslint-plugin-qwik@2.0.0-beta.38

@github-actions github-actions Bot requested review from a team as code owners June 11, 2026 20:28
@github-actions github-actions Bot force-pushed the changeset-release/build/v2 branch 14 times, most recently from 2b60593 to 6a5aa8c Compare June 19, 2026 19:14
@github-actions github-actions Bot force-pushed the changeset-release/build/v2 branch 14 times, most recently from f4d81eb to 58c09b7 Compare June 25, 2026 08:40
@github-actions github-actions Bot force-pushed the changeset-release/build/v2 branch 12 times, most recently from f606834 to dca5a43 Compare July 2, 2026 14:42
@github-actions github-actions Bot force-pushed the changeset-release/build/v2 branch 10 times, most recently from 1b18428 to a0b9c3b Compare July 10, 2026 14:30
@github-actions github-actions Bot force-pushed the changeset-release/build/v2 branch 6 times, most recently from c7a6e40 to dca95f6 Compare July 13, 2026 13:12
@github-actions github-actions Bot force-pushed the changeset-release/build/v2 branch from dca95f6 to 1d91ef8 Compare July 13, 2026 13:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants