{"collection":{"slug":"frontend-frameworks","name":"Frontend Frameworks"},"digest":{"id":"cwd_nxoaR8qcXfHG4vvUxQhfp","weekStart":"2026-05-18","title":"Expo SDK 56 leads a week of routing refinements and framework upgrades","intro":"Expo shipped SDK 56 with production-ready native UI layers on both platforms, while SvelteKit simplified its remote query API and Next.js continued its canary progression with default routing optimizations and a new CSS chunking algorithm.","body":"### Expo SDK 56 goes production with native UI\n\nThe biggest release this week is [Expo SDK 56](/release/rel_NZ0FONh6T0ukNQ_Sb-yhV-expo-sdk-56), which bundles React Native 0.85 and React 19.2. The headline feature is that Expo UI on both Android (Jetpack Compose) and iOS (SwiftUI) is now declared production-stable and is included in the default `create-expo-app` template. For teams building with Expo's native UI layer, this is the signal to move from experimentation to deployment.\n\nAlongside the SDK release, the [EAS CLI got a major version bump to v19](/release/rel_maRrTFmd6cujbahHLYyg6-v19-0-0), making browser-based authentication the default for `eas login` (use `--no-browser` to fall back to CLI-based login) and adding route name filtering to `observe:routes`. A [v18.13.1](/release/rel_kYH3nZUU43MBkvWIm0l3p-v18-13-1) patch followed quickly with a reliability improvement that stops invoking `npx` when retrieving entitlements, addressing a common source of EAS build failures. The `eas go` command also [picks up the SDK version from `app.json` automatically](/release/rel_VI-JqM4HAX9eeJJT827UC-v19-0-8) now, saving a manual step during local testing.\n\n### SvelteKit's remote queries reach parity\n\n[SvelteKit 2.61.0](/release/rel_jCsHeWhYPqOZsoUK9NJvA-sveltejs-kit-2-61-0) removed the `.run()` method from remote queries — `await query()` now works everywhere, including event handlers and module scope, not just inside reactive contexts. The cache is shared across subscribers regardless of how they initiate the request. This is a breaking change but one that flattens a long-standing mental model gap for developers using the SvelteKit data layer. A [patch release](/release/rel_bxgOYbRPmSF8So1Hf3PDt-sveltejs-kit-2-61-1) the following day fixed a route-matching edge case involving route groups that start and end with parentheses.\n\n[Svelte itself tagged 5.55.9](/release/rel_301Sitxr4SAfWRkoL_B15-svelte-5-55-9) with fixes for `{#await}` promise handling and deduplication of dependencies added outside the init/update cycle, alongside [5.55.8](/release/rel_i5GTQtLBGB8vGAyRatk_4-svelte-5-55-8) improvements to the print formatter and derived freeze/unfreeze lifecycle.\n\n### Next.js canary trains new defaults and CSS chunking\n\nVercel's [canary 26](/release/rel_eugUvcdeyN_pZ1lkFJnS3-next-js-v16-3-0-canary-26-enables-varyparams-optimisticrouting-and) is the most consequential of this week's Next.js releases, promoting three previously experimental features to defaults: `varyParams`, `optimisticRouting`, and `cachedNavigations` (with `cacheComponents`). App Shell prefetches now respond on the server, and PPR routes are included in `dynamicRoutes` regardless of revalidate time. [Canary 24](/release/rel_D7JWlI2XNlx3jDyEXRTNW-next-js-v16-3-0-canary-24-adds-mcp-compile-route-tool-and-fixes-cross-param) enabled `rootParams` by default and fixed a cross-param leak with `prefetch={true}` when `cachedNavigations` is active. [Canary 27](/release/rel_YdkspDZdEFBHkSJ0usE7i-next-js-v16-3-0-canary-27-reverts-ppr-routes-change-and-prerendered-static) later reverted the PPR routes change but added prerendering of static metadata under dynamic segments and a redeisgned instant navigation devtools panel.\n\nOn the build side, [canary 23](/release/rel_wOKuJTzXDmR03auaZHcWt-next-js-v16-3-0-canary-23-adds-graph-based-css-chunking-algorithm) landed a graph-based CSS chunking algorithm behind `experimental.cssChunking: \"graph\"` — a structural change that could meaningfully reduce CSS bundle bloat in large Turbopack-driven projects. The [canary 25](/release/rel_1glPd1MIZjSeWo_hI0Ki6-next-js-v16-3-0-canary-25-adds-appshells-feature-flag-and-turbopack-fixes) patch meanwhile added an `experimental.appShells` feature flag alongside the usual round of Turbopack fixes for subpath imports and error reporting.\n\n### Nuxt patch support across both tracks\n\nThe Nuxt team shipped patch releases for both active lines: [v4.4.6](/release/rel_gHIL7Cw8F5b6XjGD_s81d-v4-4-6) includes a fix to use the SPA entry for vite-node fallbacks and better SSR module cache invalidation, while [v3.21.6](/release/rel_f4XWnvkDe3dzLASXKkf3F-v3-21-6) adds error handling for app manifest fetching and a `.json` extension to payload cache items. Both are low-churn, stability-focused updates.","releaseIds":["rel_NZ0FONh6T0ukNQ_Sb-yhV","rel_maRrTFmd6cujbahHLYyg6","rel_kYH3nZUU43MBkvWIm0l3p","rel_VI-JqM4HAX9eeJJT827UC","rel_jCsHeWhYPqOZsoUK9NJvA","rel_bxgOYbRPmSF8So1Hf3PDt","rel_301Sitxr4SAfWRkoL_B15","rel_i5GTQtLBGB8vGAyRatk_4","rel_eugUvcdeyN_pZ1lkFJnS3","rel_D7JWlI2XNlx3jDyEXRTNW","rel_YdkspDZdEFBHkSJ0usE7i","rel_wOKuJTzXDmR03auaZHcWt","rel_1glPd1MIZjSeWo_hI0Ki6","rel_gHIL7Cw8F5b6XjGD_s81d","rel_f4XWnvkDe3dzLASXKkf3F"],"releaseCount":21,"generatedAt":"2026-07-11T16:48:28.667Z","releases":[{"id":"rel_NZ0FONh6T0ukNQ_Sb-yhV","title":"Expo SDK 56","path":"/release/rel_NZ0FONh6T0ukNQ_Sb-yhV-expo-sdk-56","org":{"slug":"expo","name":"Expo"},"importance":null},{"id":"rel_maRrTFmd6cujbahHLYyg6","title":"v19.0.0","path":"/release/rel_maRrTFmd6cujbahHLYyg6-v19-0-0","org":{"slug":"expo","name":"Expo"},"importance":null},{"id":"rel_kYH3nZUU43MBkvWIm0l3p","title":"v18.13.1","path":"/release/rel_kYH3nZUU43MBkvWIm0l3p-v18-13-1","org":{"slug":"expo","name":"Expo"},"importance":null},{"id":"rel_VI-JqM4HAX9eeJJT827UC","title":"v19.0.8","path":"/release/rel_VI-JqM4HAX9eeJJT827UC-v19-0-8","org":{"slug":"expo","name":"Expo"},"importance":null},{"id":"rel_jCsHeWhYPqOZsoUK9NJvA","title":"@sveltejs/kit@2.61.0","path":"/release/rel_jCsHeWhYPqOZsoUK9NJvA-sveltejs-kit-2-61-0","org":{"slug":"svelte","name":"Svelte"},"importance":null},{"id":"rel_bxgOYbRPmSF8So1Hf3PDt","title":"@sveltejs/kit@2.61.1","path":"/release/rel_bxgOYbRPmSF8So1Hf3PDt-sveltejs-kit-2-61-1","org":{"slug":"svelte","name":"Svelte"},"importance":null},{"id":"rel_301Sitxr4SAfWRkoL_B15","title":"svelte@5.55.9","path":"/release/rel_301Sitxr4SAfWRkoL_B15-svelte-5-55-9","org":{"slug":"svelte","name":"Svelte"},"importance":null},{"id":"rel_i5GTQtLBGB8vGAyRatk_4","title":"svelte@5.55.8","path":"/release/rel_i5GTQtLBGB8vGAyRatk_4-svelte-5-55-8","org":{"slug":"svelte","name":"Svelte"},"importance":null},{"id":"rel_eugUvcdeyN_pZ1lkFJnS3","title":"Next.js v16.3.0-canary.26 enables varyParams, optimisticRouting, and cachedNavigations by default","path":"/release/rel_eugUvcdeyN_pZ1lkFJnS3-varyparams-optimisticrouting-cachednavigations-enabled-by-default","org":{"slug":"vercel","name":"Vercel"},"importance":null},{"id":"rel_D7JWlI2XNlx3jDyEXRTNW","title":"Next.js v16.3.0-canary.24 adds MCP compile_route tool and fixes cross-param prefetch leak","path":"/release/rel_D7JWlI2XNlx3jDyEXRTNW-mcp-compile-route-tool-shipped-cross-param-prefetch-leak-fixed","org":{"slug":"vercel","name":"Vercel"},"importance":null},{"id":"rel_YdkspDZdEFBHkSJ0usE7i","title":"Next.js v16.3.0-canary.27 reverts PPR routes change and prerendered static metadata","path":"/release/rel_YdkspDZdEFBHkSJ0usE7i-ppr-routes-behavior-reverted-static-metadata-prerendered-under-dynamic-segments","org":{"slug":"vercel","name":"Vercel"},"importance":null},{"id":"rel_wOKuJTzXDmR03auaZHcWt","title":"Next.js v16.3.0-canary.23 adds graph-based CSS chunking algorithm","path":"/release/rel_wOKuJTzXDmR03auaZHcWt-graph-based-css-chunking-now-available-behind-experimental-flag","org":{"slug":"vercel","name":"Vercel"},"importance":null},{"id":"rel_1glPd1MIZjSeWo_hI0Ki6","title":"Next.js v16.3.0-canary.25 adds appShells feature flag and Turbopack fixes","path":"/release/rel_1glPd1MIZjSeWo_hI0Ki6-experimental-appshells-feature-flag-added-turbopack-fixes","org":{"slug":"vercel","name":"Vercel"},"importance":null},{"id":"rel_gHIL7Cw8F5b6XjGD_s81d","title":"v4.4.6","path":"/release/rel_gHIL7Cw8F5b6XjGD_s81d-v4-4-6","org":{"slug":"nuxt","name":"Nuxt"},"importance":null},{"id":"rel_f4XWnvkDe3dzLASXKkf3F","title":"v3.21.6","path":"/release/rel_f4XWnvkDe3dzLASXKkf3F-v3-21-6","org":{"slug":"nuxt","name":"Nuxt"},"importance":null}]}}