{"collection":{"slug":"frontend-frameworks","name":"Frontend Frameworks"},"digest":{"id":"cwd_naR5Gm9vWjJBm5FqKsiKH","weekStart":"2026-08-31","title":"Expo tightens developer auth as Next.js settles its image pipeline","intro":"Expo now requires CLI and app login for iOS development builds, a notable shift in the mobile workflow, while Next.js closes out the week by re-enabling AVIF image optimization in both its stable and maintenance release lines. Svelte's monthly roundup also lands with a Release Candidate for SvelteKit 3.","body":"### Expo draws the login line\n\nThe biggest headline this week comes from Expo, where [Expo Go now requires authentication](/release/rel_J-NCAI70pFx4V8yk-Lx_w-expo-go-requires-login-to-run-projects-in-development-mode) to run projects in development mode. As of the latest iOS app update, developers must be logged into both the Expo CLI in their terminal and the Expo Go app itself. Notably, Android and simulator versions are unaffected, and development builds themselves don't ask for credentials — only the in-app runner does. It's a friction point for the quick-testing loop, but it also signals how Expo is gating access to its hosted services as SDK 57 projects roll out.\n\nAround that, EAS CLI got substantially more capable. [EAS CLI v23.2.0](/release/rel_KXKKSch1-pfXfpSBucsKq-eas-cli-v23-2-0-adds-ssh-sessions-for-workflow-jobs-and-simulator-tags) brings `eas workflow:ssh <workflow-job-id>` for opening SSH sessions on workflow job workers, plus a `--tag` flag to filter simulator sessions by app variant and real-time workflow run logs (replacing the previous 10-second polling). The v23.1.0 release earlier in the week [made `eas new` prompt for an Expo SDK version](/release/rel_Cy0BSQmYXD7A1agG5HV1l-eas-cli-v23-1-0-prompts-for-expo-sdk-version-in-eas-new) with a `--sdk-version` flag, downloading templates from npm rather than GitHub so scaffolding matches the SDK you actually target. Taken together, EAS is getting more precise about versioning and debugging.\n\n### Next.js: image optimization returns, canary keeps refining\n\nThe quiet-but-important story is the AVIF fix. [Next.js v16.3.4](/release/rel_TFRvZ31ql0vBt_l8qQt2a-next-js-v16-3-4-re-enables-avif-optimization-and-backports-bug-fixes) re-enables AVIF Image Optimization after a regression, backporting fixes for infinite recursion in testmode passthrough fetch and a build error when aliasing TypeScript. The same regression is addressed in the maintaince line: [Next.js v15.5.25](/release/rel_4vuoajtQ8BrzMM1E9U8eq-next-js-v15-5-25-re-enables-avif-image-optimization-with-sharp) specifically re-enables AVIF optimization when newer versions of sharp are installed. For teams pinned to v15, that's a meaningful unblock.\n\nMeanwhile canary marches toward v16.4 with incremental polish. [Canary.17 turns adapter route collapses on by default](/release/rel_307K73sYKtD3VPrUYpNJp-next-js-v16-4-0-canary-17-enables-adapter-route-collapses-by-default) and suppresses missing-package-manager errors in `next info`. [Canary.16 routes server errors back to the client for unrecognized Server Actions](/release/rel_XOAg2tkOyeajMjxutYmty-next-js-16-4-0-canary-16-routes-server-errors-back-to-the-client) — replacing silent failures with clear errors — while also upgrading web-vitals to v6. [Canary.15 shrinks Turbopack cache size](/release/rel_d5hJrGQleJsmpefjFfRhb-next-js-v16-4-0-canary-15-improves-turbopack-cache-compression) through per-family compression and removes a worker thread, and [canary.14 removes Edge runtime handling from use-cache-wrapper](/release/rel_YY4Mi3XjsaU086ij4ly8_-next-js-v16-4-0-canary-14-edge-runtime-removed-from-use-cache-wrapper), reflecting Next.js 16's broader move off Edge runtime. Even the smaller fixes matter: canary.18 corrects the source field in Turbopack CSS sourcemaps and adds docs for `skipProxyUrlNormalize` and `skipTrailingSlashRedirect`, while canary.19 fixes route info segment overrides not updating in the dev overlay. There's no single spotlight here, just steady erosion of rough edges.\n\n### Svelte preps 3.0\n\nOver in Svelte-land, [the September monthly roundup](/release/rel_ZrRo0p8kUFA9gKxIAr0VI-what-s-new-in-svelte-september-2026) lands with Svelte 5.57 introducing `getOrInsert` and `getOrInsertComputed` on `SvelteMap`, and SvelteKit 3 officially reaching Release Candidate status. The `sv` CLI also swaps its old `mcp` add-on for a new `ai-tools` one and ships a task-based `sveltekit-3` migration in `sv@next`. For anyone planning a SvelteKit upgrade, the RC and migration tooling are the signals to start testing.","releaseIds":["rel_J-NCAI70pFx4V8yk-Lx_w","rel_KXKKSch1-pfXfpSBucsKq","rel_Cy0BSQmYXD7A1agG5HV1l","rel_TFRvZ31ql0vBt_l8qQt2a","rel_4vuoajtQ8BrzMM1E9U8eq","rel_307K73sYKtD3VPrUYpNJp","rel_XOAg2tkOyeajMjxutYmty","rel_d5hJrGQleJsmpefjFfRhb","rel_YY4Mi3XjsaU086ij4ly8_","rel_ZrRo0p8kUFA9gKxIAr0VI"],"releaseCount":13,"generatedAt":"2026-09-07T06:19:54.338Z","releases":[{"id":"rel_J-NCAI70pFx4V8yk-Lx_w","title":"Expo Go requires login to run projects in development mode","path":"/release/rel_J-NCAI70pFx4V8yk-Lx_w-login-now-required-to-run-projects-in-expo-go","org":{"slug":"expo","name":"Expo"},"importance":4},{"id":"rel_KXKKSch1-pfXfpSBucsKq","title":"EAS CLI v23.2.0 adds SSH sessions for workflow jobs and simulator tags","path":"/release/rel_KXKKSch1-pfXfpSBucsKq-ssh-sessions-for-workflow-jobs-simulator-tag-filtering","org":{"slug":"expo","name":"Expo"},"importance":3},{"id":"rel_Cy0BSQmYXD7A1agG5HV1l","title":"EAS CLI v23.1.0 prompts for Expo SDK version in eas new","path":"/release/rel_Cy0BSQmYXD7A1agG5HV1l-eas-cli-v23-1-0-prompts-for-expo-sdk-version-in-eas-new","org":{"slug":"expo","name":"Expo"},"importance":3},{"id":"rel_TFRvZ31ql0vBt_l8qQt2a","title":"Next.js v16.3.4 re-enables AVIF optimization and backports bug fixes","path":"/release/rel_TFRvZ31ql0vBt_l8qQt2a-avif-optimization-restored-testmode-recursion-fixed","org":{"slug":"vercel","name":"Vercel"},"importance":2},{"id":"rel_4vuoajtQ8BrzMM1E9U8eq","title":"Next.js v15.5.25 re-enables AVIF image optimization with sharp","path":"/release/rel_4vuoajtQ8BrzMM1E9U8eq-avif-image-optimization-re-enabled-with-sharp","org":{"slug":"vercel","name":"Vercel"},"importance":2},{"id":"rel_307K73sYKtD3VPrUYpNJp","title":"Next.js v16.4.0-canary.17 enables adapter route collapses by default","path":"/release/rel_307K73sYKtD3VPrUYpNJp-adapter-route-collapses-on-by-default","org":{"slug":"vercel","name":"Vercel"},"importance":3},{"id":"rel_XOAg2tkOyeajMjxutYmty","title":"Next.js 16.4.0-canary.16 routes server errors back to the client","path":"/release/rel_XOAg2tkOyeajMjxutYmty-server-errors-returned-to-client","org":{"slug":"vercel","name":"Vercel"},"importance":2},{"id":"rel_d5hJrGQleJsmpefjFfRhb","title":"Next.js v16.4.0-canary.15 improves Turbopack cache compression","path":"/release/rel_d5hJrGQleJsmpefjFfRhb-turbopack-cache-shrinks-with-per-family-compression","org":{"slug":"vercel","name":"Vercel"},"importance":2},{"id":"rel_YY4Mi3XjsaU086ij4ly8_","title":"Next.js v16.4.0-canary.14: Edge runtime removed from use-cache-wrapper","path":"/release/rel_YY4Mi3XjsaU086ij4ly8_-edge-runtime-handling-dropped-from-use-cache-wrapper","org":{"slug":"vercel","name":"Vercel"},"importance":2},{"id":"rel_ZrRo0p8kUFA9gKxIAr0VI","title":"What’s new in Svelte: September 2026","path":"/release/rel_ZrRo0p8kUFA9gKxIAr0VI-what-s-new-in-svelte-september-2026","org":{"slug":"svelte","name":"Svelte"},"importance":null}]}}