Releases Index

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

Expo pairs EAS with PostHog as SvelteKit 3 reshapes adapters

September 7–13, 2026

ExpoSvelteVercel
Expo, Svelte, Vercel

Expo shipped a one-command PostHog integration and a breaking EAS CLI overhaul of its observability commands, while SvelteKit's 3.0 prerelease reworked how every adapter boots a server and Next.js kept iterating on cache and Turbopack internals.

The week at a glance

Replay the week
FeaturesEnhancementsFixesMajorLandmarkTile size reflects impact

Expo folds analytics and local networking into the CLI

Expo's biggest move this week was making analytics setup a non-event: running eas integrations:posthog:connect now creates a PostHog org and project, installs the React Native SDK, and wires up app.json without any manual key-copying. Existing PostHog users link their org through a browser prompt first, and the integration goes deeper than install — EAS Workflows can emit posthog_capture_event events with eas/ names that trace back to Expo, and PostHog funnels can break down by update ID.

The EAS CLI itself had a busy week, headlined by a v24.0.0 realignment of the eas observe:* commands with the renamed Observe GraphQL schema — JSON output now uses name/value instead of metricName/metricValue, observe:events lists only user-defined events, and exceptions moved to a new observe:errors. That same release added channel protection commands and LCD dimension inputs for the Android emulator. Around it, the CLI gained Workflows Insights commands showing run counts, success rates, and Maestro pass/flake rates with --json output, plus stricter rejection of bad time ranges and limits.

Simulator work rounded out the week: eas simulator:start gained --egress local and an --egress-allow flag that forwards loopback entries so dev server URLs resolve through a reverse tunnel, followed by a quick fix for a spurious prompt telling interactive users to run a separate egress command and a shorter banner that no longer mentions simulator:egress in interactive mode. A shared protocol for sandbox daemon commands landed in eas-build-job as well.

SvelteKit 3.0 rewrites the server contract across every adapter

SvelteKit's 3.0 prerelease cycle touched nearly every adapter with the same breaking change: builder.generateManifest is replaced by builder.generateServerInstance and builder.manifest in kit itself, and the same rewrite landed across Vercel, Node, Netlify, and Cloudflare. If you maintain custom adapters or instrumentation hooks, this is the migration to plan for.

Beyond the shared change, each adapter got its own attention. Cloudflare dropped platform in favor of emulating the cloudflare:workers module, Vercel now passes the requested pathname, trailing slash included, to ISR functions, Netlify routes requests with omitted optional params to split serverless functions, and Bun requires Bun 1.4 for its HEAD-to-GET routing and force-close behavior. The @sveltejs/package prerelease now reads Svelte config through @sveltejs/load-config, and adapter-auto added zero-config deployment support for Render.

Next.js chips away at caching and the Turbopack backend

Next.js spent the week on canary churn rather than headline features, with the most developer-visible thread being cache behavior. Durable use cache entries now work with client components, an experimental imgOptMozjpeg config for next/image and lazy client-side dynamic import compilation in Turbopack arrived, instant cache validation now covers caches excluded from prerenders, and a backport fixed use cache prerender signal retention alongside 0-byte image cache entries and empty image reads/writes. Elsewhere, the loaders API gained a .resolve method and version field, React browser bailout became enabled by default, and the turbo-tasks backend got stability fixes for strongly consistent reads stalling on canceled tasks and initial Turbopack HMR update handling.

AI-generated digests may contain mistakes.
Releases covered21