releases.shpreview
Home/Collections/Frontend Frameworks/Week of July 6, 2026

SvelteKit 3.0 enters breaking-change territory while Vite 8 goes stable

July 6–12, 2026

This week SvelteKit dropped three consecutive 3.0 pre-releases that remove $app/stores, $app/paths, and require Vite 8 with Rolldown 1.0.0, while Next.js gradually ships Request Insights and an experimental TypeScript CLI.

The story of the week is SvelteKit's sprint toward 3.0. Three sequential pre-releases — next.5, next.6, and next.7 — landed within days of each other, each carrying major breaking changes that will require careful attention from anyone upgrading.

A clean break with $app/stores and $app/paths

The most surface-level change is the removal of two beloved modules. SvelteKit 3.0.0-next.7 eliminates $app/stores entirely, forcing migration to the updated $app/state module. SvelteKit 3.0.0-next.5 removes base, assets, and resolveRoute from $app/paths. Both decisions reflect the framework's ongoing move toward a more consistent state model. If you're reaching for $app/paths in your SvelteKit project, you'll need to import base and assets from $app/state instead.

Form actions get surgical

Form handling received significant attention. SvelteKit 3.0.0-next.6 now uses the HTTP status code returned from fail() for form action responses, rather than ignoring it. The form.error type in next.7 was tightened from any to App.Error | undefined — a welcome narrowing that catches type mismatches at compile time rather than runtime. On the stable side, SvelteKit 2.69.0 exposed a submitted property on remote forms, and SvelteKit 2.68.0 exposed RemoteFormEnhanceInstance and RemoteFormEnhanceCallback types for better TypeScript ergonomics.

Vite 8 and Rolldown 1.0.0 become the baseline

A hard requirement for Vite ^8.0.12, the first stable Vite 8 release bundling Rolldown 1.0.0, ripples through every SvelteKit next-release. SvelteKit 3.0.0-next.5 requires it, as does the SvelteKit Adapter for Vercel v7.0.0-next.1, the adapter-node 6.0.0-next.1, and enhanced-img 1.0.0-next.1. If you're running any of these adapters or plugins, you must upgrade your Vite version in lockstep.

Adapter config consolidation

The adapter-node 6.0.0-next.2 removes the ORIGIN environment variable and kit.prerender.origin config option, replacing both with a single kit.paths.origin config. This simplifies deployment configuration, especially for those running behind proxies. The adapter-node@5.5.7 also shipped a fix adding X-Accel-Buffering: no headers to SSE responses to prevent nginx buffering.

Next.js edges toward developer tooling

While the SvelteKit ecosystem dominated the week, Next.js shipped several canary releases worth noting. Next.js v16.3.0-canary.84 introduces Request Insights, which exposes dev snapshots to tools and HMR, derives request history and fetch data, and records local framework spans. Next.js v16.3.0-canary.83 adds an experimental TypeScript CLI backend, and Next.js v16.3.0-canary.82 normalizes expire and revalidate values to handle Infinity and surface configuration mistakes early.

Security and platform fixes

Two practical fixes worth highlighting: SvelteKit 2.69.1 patches a prototype pollution vulnerability when deleting file inputs, and the SvelteKit adapter-netlify v7.0.0-next.2 fixes type definitions for platform.context. Expo also added passkey sign-in to its accounts, replacing the password-plus-OTP combination for more secure authentication.

Releases covered