Next.js 16: Cache Components, Turbopack, and Performance Updates – Fully Supported on Appwrite Sites
Next.js 16 is here with significant updates including explicit Cache Components, Turbopack as default, and refined caching. Learn about DevTools MCP, `proxy.ts`, logging, React Compiler support, and more, all fully supported on Appwrite Sites.

Next.js 16 has officially landed, bringing one of the most refined releases the framework has seen in a while. Instead of focusing on major rewrites, this version prioritizes foundational improvements: faster builds, predictable caching, smarter routing, and enhanced developer visibility.
Crucially, if you're deploying on Appwrite Sites, you can begin leveraging Next.js 16 today. The latest release is fully supported, allowing you to seamlessly build, test, and host your Next.js projects on Appwrite's open-source infrastructure. Many features introduced in earlier betas are now stable and production-ready, offering developers greater control and consistency across their workflows.
Here's a breakdown of what's new, what's changed, and why it's important for anyone building with Next.js.
Cache Components
Caching in Next.js was often unpredictable. Data might be cached when unintended, or not at all, leading to stale content and debugging challenges.
Next.js 16 addresses this with the introduction of Cache Components: a new, explicit caching model. Instead of the framework making caching decisions, developers now explicitly define what should be cached and when it should be revalidated. This feature is built upon Partial Pre-rendering (PPR), which has already blurred the lines between static and dynamic pages, making rendering both predictable and flexible.
Next.js DevTools MCP
A forward-looking addition in this release is Next.js DevTools MCP. This integrates with the Model Context Protocol (MCP), enabling AI tools and agents to understand your project's context, including routing, caching, and rendering behavior.
Why is this significant? AI that genuinely comprehends your application's inner workings can offer superior debugging assistance, clearer explanations, and more intelligent suggestions. Instead of just presenting stack traces, it can reason about underlying issues. While still in its early stages, it hints at a future where development tools don't merely react to errors but truly understand them.
proxy.ts
The familiar middleware.ts file has been renamed to proxy.ts. The functionality remains the same, but the new name clarifies its purpose.
There has been considerable confusion regarding how "middlewares" operate in Next.js. These are not typical middlewares; they can block the initial page load if network calls within them are slow, making them unsuitable for heavy operations. Next.js "middlewares" are intended for lightweight tasks, such as redirecting users based on authentication cookies. Given the ongoing confusion caused by the term "middleware," the Next.js team decided to rename it to proxy.ts to better reflect its actual use case.
Logging Improvements
Next.js 16 also brings meaningful logging improvements, far beyond mere aesthetic changes. Build and development logs now detail where time is spent, breaking down compilation, rendering, and optimization steps. This allows developers to immediately identify bottlenecks if a build suddenly slows down, making daily development less frustrating.
Turbopack Update
Turbopack has officially exited beta and is now the default bundler for all new Next.js projects. It boasts impressive speed, offering 2–5x faster builds and up to 10x faster Fast Refresh. For large projects, filesystem caching (currently in beta) further reduces startup times by reusing compiled artifacts across sessions. The most noticeable impact will be for developers in a continuous build-refresh-iterate loop, streamlining workflows and accelerating development cycles.
Build Adapters API
For those deploying Next.js applications in unconventional environments (e.g., outside Vercel), the new Build Adapters API is a game-changer. Now in alpha, Build Adapters allow you to hook into and modify the build process without forking the framework. This is particularly useful for teams self-hosting or building custom deployment pipelines. This update signifies Next.js's growing commitment to flexibility for developers operating the framework in diverse environments.
React Compiler Support
Next.js 16 now includes stable support for the React Compiler, which automatically memoizes components to eliminate unnecessary re-renders. This means you no longer need to manually sprinkle useMemo or useCallback throughout your code; the compiler handles it. While there's a slight increase in build time due to its use of Babel, the significant performance gains in rendering make it highly beneficial for complex, UI-heavy applications.
Routing and Prefetching
Routing has received a major under-the-hood upgrade. Prefetching is now more efficient thanks to layout deduplication, meaning shared layouts download only once, even when dozens of links are prefetched. Incremental prefetching ensures that only missing components are fetched, rather than entire pages. It even intelligently cancels prefetch requests when links leave the viewport. These improvements provide a noticeably snappier user experience without requiring any code changes.
Refined Caching APIs
The Caching APIs have been streamlined and made more explicit. The updated revalidateTag() now accepts a cache-life profile, allowing precise control over data revalidation. The new updateTag() API introduces "read-your-writes" behavior, ensuring users see their changes reflected immediately. Additionally, refresh() handles refreshing uncached data, such as live counts or notifications. Collectively, these updates transform caching into a transparent system that behaves exactly as expected, rather than relying on the framework's guesswork.
React 19.2 and Core Updates
Next.js 16 ships with React 19.2, bringing several quality-of-life improvements:
useEffectEvent()for cleaner effect logic- View Transitions for smoother navigation
- The new
<Activity />component for managing background UI states
The release also updates core requirements: you'll need Node.js 20.9+, TypeScript 5.1+, and modern browsers. Older features like AMP support and the next lint command have been removed, making the framework leaner overall.
Wrapping Up
Next.js 16 isn't a release that fundamentally changes how you build, but rather how your build feels. Caching is now predictable, builds are faster, routing is leaner, and logs are clearer.
With Appwrite Sites now supporting Next.js 16, you can deploy and host your latest projects right away, from development to production, on a fully open-source infrastructure. Whether you're experimenting with Cache Components, testing Turbopack, or building production applications, everything runs smoothly on Appwrite Sites.