{"collection":{"slug":"frontend-frameworks","name":"Frontend Frameworks"},"digest":{"id":"cwd_rL3BAEKnk2HpFNSt-r6CR","weekStart":"2026-10-19","title":"Next.js steadies its LTS line while Turbopack work continues","intro":"Next.js stabilized its current release line with a backport fixing extensionless Google font URLs across both bundlers, while Expo's EAS CLI made iOS simulator automation pluggable and gave Android simulator starts a system-image flag.","body":"### Next.js hardens the stable line\n\nThe headline for Next.js this week is a maintenance story, not a feature one. Its [backport release fixed extensionless Google font URLs](/release/rel_J4N8y9-jM1ojBq6YJwSKY-next-js-v16-4-3-backports-font-url-and-proxy-ts-runtime-fixes) in both the webpack and Turbopack bundlers — a small-sounding fix that matters to anyone loading fonts without an explicit extension, where silent 404s and fallback fonts were the likely symptom. The same backport kept the app-page runtime out of proxy.ts, so middleware-style proxies stop paying for runtime code they never execute, and it fixed OpenTelemetry request traces splitting apart instead of staying together. It also reverted a Turbopack loader change-invalidation change that wasn't behaving, and avoided loading a standalone React copy in server bootstrap. Anyone on the stable line should take this one; canary users won't see these as new.\n\nCaution: the backport is explicitly a bug-fix slice. It does not carry all pending canary features, so don't read it as a preview of what's next.\n\n### Turbopack churn continues on canary\n\nMeanwhile, [canary work on Turbopack stayed focused on performance](/release/rel__crKlBzZxlA9t4cRSWsJI-next-js-v16-5-0-canary-27-fixes-dist-dir-lockfile-on-nfs-filesystems). Chunk group lookups now go through a keyed cell and chunk groups are chunked by key, graph-derived chunk groups are consumed, and availability is tracked per chunk group; large batch lookups are decoded in parallel. None of this changes an API you call, but it's the kind of groundwork that compounds into faster rebuilds on big projects.\n\nTwo core changes are more immediately practical. Dist-dir lockfiles no longer break on filesystems with weak or missing lockfile implementations, so Next.js in containers and CI mounts that sit on NFS should stop tripping over itself at startup. And the inline Flight script is now built directly from React's strings rather than being re-encoded — less string surgery on a hot path, and one fewer place for encoding mismatches to sneak in.\n\n### Expo makes simulator automation pluggable\n\nOver in Expo land, [EAS CLI gained an Android system-image flag](/release/rel_zW_ehavWWKSrm4i6KE9iO-eas-cli-v25-3-0-adds-android-system-image-flag-and-argent-appium-ios-sessions) for `eas simulator:start`, letting you pin which SDK system image a simulator boots with instead of relying on whatever the machine has installed — useful for reproducible CI and for testing against a specific API level. The bigger shift is that serve-sim can now boot, install, and launch iOS sessions for both Argent and Appium, which points at simulator-based end-to-end testing becoming a first-class path rather than a homegrown script. Rounding it out: Android launch arguments are now quoted so values with spaces or shell characters reach `am start` intact, and builds wait up to five minutes for Google Play to finish processing an uploaded bundle, trading a fast fail for fewer false negatives on large uploads.\n\nTaken together, the week was less about new APIs than about removing sharp edges — stable Next.js catching up on real-world bug reports, Turbopack quietly getting faster, and Expo's tooling getting sturdier for automated device testing.","releaseIds":["rel_J4N8y9-jM1ojBq6YJwSKY","rel__crKlBzZxlA9t4cRSWsJI","rel_zW_ehavWWKSrm4i6KE9iO"],"releaseCount":3,"generatedAt":"2026-10-26T06:23:08.422Z","releases":[{"id":"rel_J4N8y9-jM1ojBq6YJwSKY","title":"Next.js v16.4.3 backports font URL and proxy.ts runtime fixes","path":"/release/rel_J4N8y9-jM1ojBq6YJwSKY-extensionless-google-font-urls-fixed-proxy-ts-skips-app-page-runtime","url":"https://github.com/vercel/next.js/releases/tag/v16.4.3","org":{"slug":"vercel","name":"Vercel","avatarUrl":"https://media.releases.sh/orgs/vercel.png","githubHandle":"vercel"},"product":{"slug":"nextjs","name":"Next.js"},"importance":2,"composition":{"bugs":6,"features":0,"enhancements":1},"publishedAt":"2026-10-23T13:32:31.000Z"},{"id":"rel__crKlBzZxlA9t4cRSWsJI","title":"Next.js v16.5.0-canary.27 fixes dist dir lockfile on NFS filesystems","path":"/release/rel__crKlBzZxlA9t4cRSWsJI-dist-dir-lockfile-now-works-on-nfs","url":"https://github.com/vercel/next.js/releases/tag/v16.5.0-canary.27","org":{"slug":"vercel","name":"Vercel","avatarUrl":"https://media.releases.sh/orgs/vercel.png","githubHandle":"vercel"},"product":{"slug":"nextjs","name":"Next.js"},"importance":1,"composition":{"bugs":2,"features":0,"enhancements":7},"publishedAt":"2026-10-24T23:47:46.000Z"},{"id":"rel_zW_ehavWWKSrm4i6KE9iO","title":"EAS CLI v25.3.0 adds Android system image flag and Argent, Appium iOS sessions","path":"/release/rel_zW_ehavWWKSrm4i6KE9iO-eas-simulator-start-picks-android-system-image-appium-and-argent-ios-sessions","url":"https://github.com/expo/eas-cli/releases/tag/v25.3.0","org":{"slug":"expo","name":"Expo","avatarUrl":"https://media.releases.sh/orgs/expo.png","githubHandle":"expo"},"product":null,"importance":3,"composition":{"bugs":4,"features":5,"enhancements":0},"publishedAt":"2026-10-20T19:19:54.000Z"}],"sections":[{"heading":"Next.js hardens the stable line","anchor":"next-js-hardens-the-stable-line","lede":"The headline for Next.js this week is a maintenance story, not a feature one.","releaseIds":["rel_J4N8y9-jM1ojBq6YJwSKY"],"releases":[{"id":"rel_J4N8y9-jM1ojBq6YJwSKY","title":"Next.js v16.4.3 backports font URL and proxy.ts runtime fixes","path":"/release/rel_J4N8y9-jM1ojBq6YJwSKY-extensionless-google-font-urls-fixed-proxy-ts-skips-app-page-runtime","url":"https://github.com/vercel/next.js/releases/tag/v16.4.3","org":{"slug":"vercel","name":"Vercel","avatarUrl":"https://media.releases.sh/orgs/vercel.png","githubHandle":"vercel"},"product":{"slug":"nextjs","name":"Next.js"},"importance":2,"composition":{"bugs":6,"features":0,"enhancements":1},"publishedAt":"2026-10-23T13:32:31.000Z"}]},{"heading":"Turbopack churn continues on canary","anchor":"turbopack-churn-continues-on-canary","lede":"Meanwhile, canary work on Turbopack stayed focused on performance.","releaseIds":["rel__crKlBzZxlA9t4cRSWsJI"],"releases":[{"id":"rel__crKlBzZxlA9t4cRSWsJI","title":"Next.js v16.5.0-canary.27 fixes dist dir lockfile on NFS filesystems","path":"/release/rel__crKlBzZxlA9t4cRSWsJI-dist-dir-lockfile-now-works-on-nfs","url":"https://github.com/vercel/next.js/releases/tag/v16.5.0-canary.27","org":{"slug":"vercel","name":"Vercel","avatarUrl":"https://media.releases.sh/orgs/vercel.png","githubHandle":"vercel"},"product":{"slug":"nextjs","name":"Next.js"},"importance":1,"composition":{"bugs":2,"features":0,"enhancements":7},"publishedAt":"2026-10-24T23:47:46.000Z"}]},{"heading":"Expo makes simulator automation pluggable","anchor":"expo-makes-simulator-automation-pluggable","lede":"Over in Expo land, EAS CLI gained an Android system-image flag for eas simulator:start, letting you pin which SDK system image a simulator boots with instead of relying on whatever the machine has installed — useful for reproducible CI and for testing against a specific API level.","releaseIds":["rel_zW_ehavWWKSrm4i6KE9iO"],"releases":[{"id":"rel_zW_ehavWWKSrm4i6KE9iO","title":"EAS CLI v25.3.0 adds Android system image flag and Argent, Appium iOS sessions","path":"/release/rel_zW_ehavWWKSrm4i6KE9iO-eas-simulator-start-picks-android-system-image-appium-and-argent-ios-sessions","url":"https://github.com/expo/eas-cli/releases/tag/v25.3.0","org":{"slug":"expo","name":"Expo","avatarUrl":"https://media.releases.sh/orgs/expo.png","githubHandle":"expo"},"product":null,"importance":3,"composition":{"bugs":4,"features":5,"enhancements":0},"publishedAt":"2026-10-20T19:19:54.000Z"}]}]}}