Expo SDK 56 leads a week of routing refinements and framework upgrades
May 18–24, 2026
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.
Expo SDK 56 goes production with native UI
The biggest release this week is 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.
Alongside the SDK release, the EAS CLI got a major version bump to v19, 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 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 now, saving a manual step during local testing.
SvelteKit's remote queries reach parity
SvelteKit 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 the following day fixed a route-matching edge case involving route groups that start and end with parentheses.
Svelte itself tagged 5.55.9 with fixes for {#await} promise handling and deduplication of dependencies added outside the init/update cycle, alongside 5.55.8 improvements to the print formatter and derived freeze/unfreeze lifecycle.
Next.js canary trains new defaults and CSS chunking
Vercel's canary 26 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 enabled rootParams by default and fixed a cross-param leak with prefetch={true} when cachedNavigations is active. Canary 27 later reverted the PPR routes change but added prerendering of static metadata under dynamic segments and a redeisgned instant navigation devtools panel.
On the build side, canary 23 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 patch meanwhile added an experimental.appShells feature flag alongside the usual round of Turbopack fixes for subpath imports and error reporting.
Nuxt patch support across both tracks
The Nuxt team shipped patch releases for both active lines: 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 adds error handling for app manifest fetching and a .json extension to payload cache items. Both are low-churn, stability-focused updates.
Releases covered
- Next.js v16.3.0-canary.26 enables varyParams, optimisticRouting, and cachedNavigations by default
- Next.js v16.3.0-canary.24 adds MCP compile_route tool and fixes cross-param prefetch leak
- Next.js v16.3.0-canary.27 reverts PPR routes change and prerendered static metadata
- Next.js v16.3.0-canary.23 adds graph-based CSS chunking algorithm
- Next.js v16.3.0-canary.25 adds appShells feature flag and Turbopack fixes