Releases Index

BetaWeekly digests are a beta — we're trying something new. Feedback welcome.

Expo lays groundwork for iOS 27 as Next.js canaries keep landing small fixes

September 14–20, 2026

ExpoVercelSvelte
Expo, Vercel, Svelte

Expo opened the SDK 58 beta, built on React Native 0.88 RC with iOS 27 support, Siri and Apple Intelligence intents exposed to JavaScript, and a UIKit scene-based life cycle that will require AppDelegate migrations. Elsewhere, EAS CLI dropped Node 18 and hardened simulator networking, while Next.js shipped a steady stream of canary fixes.

The week at a glance

Replay the week
FeaturesEnhancementsFixesMajorLandmarkTile size reflects impact

Expo prepares for iOS 27 with SDK 58 beta

The week's biggest story is Expo's SDK 58 beta, which bundles React Native 0.88 release candidate and targets iOS 27, with a three-to-four-week beta window before stable. The headline feature is expo-app-intents, which lets JavaScript code expose Siri, Shortcuts, Spotlight, and Apple Intelligence intents without writing native Swift. Tooling gets its own upgrade: the Expo CLI integrates with Xcode 27's Device Hub, and a new set of browser dashboards lets you inspect and drive simulators from expo.dev rather than a local Simulator.app window.

The migration cost is real, though. SDK 58 moves apps to the UIKit scene-based life cycle, so any project that customizes AppDelegate.swift needs to adopt the scene life cycle before upgrading. If you maintain native code in your app, budget time for that before the beta closes.

EAS CLI trims legacy support and tightens local egress

EAS CLI's week was about hardening the edges of the build-and-preview pipeline. The most consequential change is dropping Node 18: the CLI now requires Node ^20.18.3 or >=22.0.0. The same release adds a guard for --egress local sessions that injects itself into every iOS Simulator process, refusing outbound connections that bypass the system proxy and logging which framework attempted them — a meaningful win if you've ever debugged why a simulator build behaves differently from a device on a restricted network.

Simulator workflows got the rest of the attention. Xcode 27 support landed for iOS simulator builds, accounting for the switch from Simulator.app to Device Hub. Previews now stream over H.264 rather than the previous transport, and simulator sessions report the expo.dev preview page as their preview URL instead of a raw tunnel URL, which should make shared links far less fragile. Connected sandboxes can also run shell commands through the Expo MCP server, opening the door to agent-driven workflows inside EAS.

Two smaller changes round out the picture: login no longer fetches the primary account, so scoped access tokens without primary account access stop failing at the login step, and eas build --wait now displays logs while you wait rather than leaving you guessing.

Next.js canaries: Turbopack tuning and cache correctness

Next.js stayed in its post-v16 canary cadence, with most of the week's work landing in Turbopack and the caching layer rather than user-facing features. Turbopack gained configurable garbage collection options and fixes for nested cache metadata, then support for additional roots with symlinks included in NFT metadata — relevant if you're tracing what gets bundled into a deployment.

The cache-handler-redis example, a common starting point for self-hosted ISR, got a solid round of fixes for connection leaks and cross-page tag invalidation, including a fix for hangs when Redis is unreachable. Elsewhere, use cache learned to track root params read during caching as vary params, and a runtime environment variable mutation bug in durable use cache was patched. Developers debugging client-side problems got a quality-of-life improvement: App Router runtime errors now surface over HMR instead of requiring a full reload to see.

Smaller fixes targeted routing and build correctness — proxy.ts detection with compound pageExtensions, query parameters in adapter deployments, and App Router locale path matching, which was fixed and then reverted within a day as the team sorted out the Pages i18n interaction.

Svelte patches lifecycle and SSR edges

Svelte's single release this week was a patch sweep: deferred event listeners now cancel during cleanup, global CSS is preserved in components with no scopable elements, SSR render results trigger less garbage collection, and each-block fallbacks resolve correctly in the enclosing scope.

AI-generated digests may contain mistakes.
Releases covered16