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
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 weekBiggest releases
- 01Expo adds one-command PostHog integration for EAS apps
Expo - 02EAS CLI v24.0.0 realigns observe commands and adds channel protection
Expo - 03EAS CLI v24.1.0 adds local egress support for simulator sessions
Expo - 04EAS CLI v24.2.0 adds workflow:insights commands for run metrics
Expo - 05Next.js v16.4.0-canary.22 adds .resolve and version to loaders API
Next.js
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.
Releases covered21
- Expo adds one-command PostHog integration for EAS apps (opens in new tab)
- EAS CLI v24.0.0 realigns observe commands and adds channel protection (opens in new tab)
- EAS CLI v24.2.0 adds workflow:insights commands for run metrics (opens in new tab)
- EAS CLI v24.1.0 adds local egress support for simulator sessions (opens in new tab)
- EAS CLI v24.1.1 fixes spurious egress prompt for simulator:start (opens in new tab)
- EAS CLI v24.1.2 shortens local egress banner in simulator:start (opens in new tab)
- @sveltejs/kit@3.0.0-next.27 (opens in new tab)
- @sveltejs/adapter-vercel@7.0.0-next.9 (opens in new tab)
- @sveltejs/adapter-netlify@7.0.0-next.11 (opens in new tab)
- @sveltejs/adapter-cloudflare@8.0.0-next.7 (opens in new tab)
- @sveltejs/adapter-bun@1.0.0-next.2 (opens in new tab)
- @sveltejs/package@3.0.0-next.8 (opens in new tab)
- @sveltejs/adapter-auto@8.0.0-next.4 (opens in new tab)
- Next.js v16.4.0-canary.23 adds durable use-cache in client components (opens in new tab)
- Next.js v16.4.0-canary.27 adds experimental imgOptMozjpeg config and lazy dynamic imports (opens in new tab)
- Next.js v16.4.0-canary.21 adds instant cache validation for excluded prerenders (opens in new tab)
- Next.js v16.3.5 fixes image cache and use cache prerender signal (opens in new tab)
- Next.js v16.4.0-canary.22 adds .resolve and version to loaders API (opens in new tab)
- Next.js v16.4.0-canary.25 adds React browser bailout by default (opens in new tab)
- Next.js v16.4.0-canary.20 fixes canceled-task hang in turbo-tasks backend (opens in new tab)
- Next.js v16.4.0-canary.24 fixes initial Turbopack HMR handling (opens in new tab)