✍️ Author: Suvrodeb Howlader
📅 Date: 30 Jul 2025
🏷️ Category: Tech
Next.js 15.4 is here, and it’s more than just a typical update. This version marks a major milestone for the framework and its growing ecosystem. While each release usually offers useful improvements, this one feels different. It shows real momentum, especially for developers who have been following the evolution of Turbopack closely.

Turbopack has been talked about for a while as the future of frontend bundling, but up until now, it hasn’t quite felt “ready” for serious production use. That changes with 15.4. This new release introduces significant improvements and sets the stage for what’s next, with the arrival of Next.js 16 later this summer.
So, if you’ve been holding off on upgrading, waiting to see if Turbopack is finally stable enough, or simply curious about what’s new under the hood, you are in the right place. In this article, we’ll break down what’s new in 15.4, explore some hidden gems, and take a quick look at what’s ahead in the Next.js roadmap.
One of the standout highlights in the Next.js 15.4 release is that the next build --turbopack successfully passes all 8,302 integration tests for production builds. That’s thousands of edge cases, regressions, and real-world scenarios that are now confidently handled by Turbopack.
It’s a major milestone in the framework’s evolution, bringing this new bundler one step closer to becoming the default. The significance of this milestone becomes even clearer when you consider that Vercel is now using Turbopack to power its high-traffic site. This is a strong signal that Turbopack is no longer experimental; it’s reliable.
While 15.4 doesn’t introduce flashy new features for Turbopack, it does bring significant improvements under the hood. A wide range of performance tweaks and stability fixes have made the build process smoother and more reliable. If you tried Turbopack a few months ago and ran into trouble, now’s a great time to give it another shot.
The team’s main focus moving forward is on two priorities: completing bundling optimizations through production chunking and fixing bugs reported by early adopters of the Alpha release. The goal is to officially transition Turbopack into beta with the release of Next.js 16, a milestone that’s now within reach thanks to the groundwork laid in 15.4.
In short, Turbopack has improved considerably. It’s now fast, stable, and on track to become a viable replacement for Webpack in production environments.
Next.js 15.4 isn’t just about Turbopack; it’s packed with practical improvements that solve real problems developers face every day. Let’s break down the changes that are likely to impact your workflow:
Several practical features have been introduced to enhance both the development workflow and production behavior:
onInvalidate callback for router.prefetch() . When cached data becomes stale, this Hook triggers automatic re-fetching, useful for custom navigation components requiring real-time synchronization without relying on Next.js’s built-in <Link>prefetch semantic alias — Introduces prefetch="auto" as syntactic sugar for prefetch={undefined}, improving code readability while maintaining the default adaptive prefetch behaviorglobal-not-found pages — Enables full metadata export capabilities in global-not-found.js, allowing customized SEO tags and structured data for 404 pages--debug-prerender — Introduces the --debug-prerender flag to next build, providing detailed diagnostics and full error stacks to help troubleshoot issues with partial pre-rendering (PPR) and static generation, strictly for development use, not productionhtmlrewriter in server externals — Enables use of the htmlrewriter package within server runtimes for HTML transformationsThis release also resolves several important bugs and issues.
staleTime propagates to seeded prefetch entries and fixed stale prefetch retention for static pagesVary header reinstatement — Restores proper handling of the Vary response header for better caching behaviorlaunchEditor — Improves developer experience by gracefully handling unexpected file path formats when using the editor launch utilitybodySizeLimit errors with non-multipart actions and ensured proper 404 responses for invalid action IDs, thereby improving server action reliabilityThis release also includes improvements to existing features.
unstable_rootParams in client components — Enforces boundaries between server and client components by disallowing the use of unstable root parameters in client contextsassert/strict as an external dependency and upgraded @vercel/og to 0.7.2 for improved image generationsearchParam data in FlightRouterState before transport — Reduces payload size and avoids unnecessary rerenders in streamed routingWhile the major features capture most of the attention, Next.js 15.4 includes some smaller improvements that may go unnoticed but offer significant value to developers working on specific use cases:
This adds the ability to restart the dev server directly from the error overlay and indicator preferences, improving iteration speed during debugging. While seemingly small, this enhancement can drastically speed up debugging cycles, especially during local development with hot module replacement issues.
The team has made significant efforts in improving static path generation performance and parameter handling. They have also optimized the React Compiler integration by checking files with SWC (Speedy Web Compiler) first, which should result in faster compilation times across the board.
Additionally, the improved CPU profiling support during development (NEXT_CPU_PROF usage fixes) might not seem exciting, but for teams dealing with performance bottlenecks, being able to capture accurate CPU traces during development is invaluable. This is the kind of tooling that separates professional-grade frameworks from hobby projects.