Next.js 16 for Existing Apps: Upgrade Notes for Caching, Turbopack, and proxy.ts
Next.js 16 is not just a version bump. Cache Components, Turbopack defaults, and proxy.ts change how teams should plan upgrades.
Next.js 16 changes several assumptions that existing App Router projects may have baked into middleware, caching, and build pipelines. The release is attractive for performance, but the upgrade should be planned rather than treated as a blind dependency bump.
The biggest changes
Next.js 16 introduces Cache Components for more explicit caching and Partial Prerendering patterns. Turbopack is stable and becomes the default bundler for new apps, with Vercel describing 2-5x faster production builds and up to 10x faster Fast Refresh. The old middleware naming is also clarified with proxy.ts for network-boundary logic.
Upgrade checklist
- Run the official codemod in a branch.
- Audit middleware and decide whether it should become proxy.ts.
- Review all custom image and caching assumptions.
- Run production build with Turbopack and keep a webpack fallback until verified.
- Smoke-test auth redirects, locale routing, webhooks, and admin routes.
- Add monitoring around cache invalidation and stale content.
Where teams get hurt
Most issues happen where infrastructure and app behavior meet: rewrites, locale redirects, auth cookies, image optimization, and stale content. Treat the upgrade as an application behavior change, not only a package update.
Sources
- Next.js 16 release notes: https://nextjs.org/blog/next-16
