Vercel Functions runtime shifts: what June 2025 broke and what it fixed
Vercel has been quietly reshaping its Functions runtime through 2025. The Fluid Compute work and Edge runtime changes affect real apps. Here is what to watch for.
Vercel spent late 2024 and the first half of 2025 quietly reshaping how its Functions runtime works. The Edge Runtime got more capable. Fluid Compute (Vercel’s new “everything is just compute” abstraction) consolidated previously-separate features. Some old assumptions stopped holding. Some things that were impossible became easy.
This piece is from migrating three real Next.js apps through the runtime transition and watching the platform shift in real time.
What Vercel actually changed
Three concrete shifts since late 2024:
1. Fluid Compute consolidates Edge / Serverless / Node: Where Vercel previously had separate runtimes for “Edge Functions” (V8 isolates, fast cold start, limited APIs) and “Serverless Functions” (full Node, slower cold start, all APIs), Fluid Compute presents a unified abstraction. You write code, Vercel decides where it runs. The decision can be hinted via runtime config but the platform increasingly handles it for you.
2. Streaming-first as the default: Vercel pushed streaming responses heavily through 2024–2025. Server Components, Server Actions, and the new Functions runtime all favour streaming. The implication: code that assumed await then return is fine; code that depended on synchronous response completion sometimes needs adjustment.
3. Background work via waitUntil: A real improvement — you can finish a response and continue working server-side. Cleanup, logging, analytics, cache warming. Cloudflare Workers had this from the start; Vercel adding it removes a long-standing capability gap.
What broke
For apps that worked through 2024 and now hit issues in 2025:
Custom request body parsing on Edge: If you had middleware that pre-read the request body in a non-streaming way, you may hit issues. The Edge runtime is increasingly strict about streams.
Long-running response handlers: The 10-second Edge Function timeout (Hobby tier) is real and bites apps that worked when those handlers ran in a Node runtime with longer limits.
Some npm packages: Edge runtime compatibility with Node.js APIs has improved but is still partial. crypto.randomUUID works; some Node-specific filesystem patterns don’t. Each package needs verification.
Cold-start behaviour assumptions: Code that assumed “if it’s a Serverless Function the cold start is 200ms” is now wrong — Vercel may route the same code through different infrastructure. Test against realistic conditions, not the historical mental model.
What got better
Real edge-native streaming for React Server Components: This is the biggest UX win. Pages that used to need progressive enhancement workarounds now stream cleanly via the platform.
waitUntil for background work: Mentioned above; meaningful for analytics, log shipping, cache management.
Improved cold-start across runtimes: Even traditional “Serverless Function” cold-starts have improved with Vercel’s investment.
Better observability: The dashboards around function invocation, latency, and errors are visibly better than 12 months ago.
Where the rough edges still live
Edge runtime npm compatibility: Still partial. Always test specific packages before depending on them at the edge.
Migration messaging from Vercel has been spotty: Some changes landed without prominent communication. Engineers building on Vercel have to subscribe to blog posts to keep current.
The mental model is in flux: “What runs where?” is harder to answer in mid-2025 than it was in 2023. The Fluid Compute abstraction is good but the underlying behaviour you’re abstracting over keeps shifting.
What this means for choosing Vercel
If you’re on Vercel, none of this is destabilising — keep shipping, watch for the specific issues mentioned. If you’re choosing between Vercel and alternatives (Cloudflare, Netlify, Fly), the runtime instability over the past 12 months is a real signal. Cloudflare’s direction has been steadier; Netlify has consolidated similarly to Vercel.
For our TopInsight site we’re on Cloudflare Workers Static Assets (covered in our Workers vs Vercel comparison) partly because the Vercel runtime shifts in 2024–2025 made us cautious. The decision wasn’t about Vercel being bad — it’s a great platform — but about preferring a more predictable substrate for content infrastructure.
The reality for app teams
If you’re shipping a Next.js app and it works in 2025, leave it alone. Don’t prematurely migrate to new runtime configurations without a reason. When you DO migrate (eventually you’ll have to), test rigorously and lean on the streaming improvements as the positive — and document the failures you hit as the cost. Vercel is moving forward; sometimes forward means leaving behind code that worked at a specific historical moment.
For broader platform decisions, see our Workers vs Vercel piece and the Fly.io vs Railway comparison for non-Vercel alternatives.
Sources
Every reference behind this piece. If we make a claim, it's because at least one of these said so — or we lived it ourselves.
- Firsthand Migrated three Next.js apps through Vercel runtime transitions in 2024-2025
- Docs Vercel Functions documentation — Vercel
- Blog Vercel blog — Fluid Compute and runtime updates — Vercel
- YouTube Theo and Web Dev Simplified on Vercel runtime changes — Various