Next.js 16 and React 19 have been our default since Q4 2025. Six months in production is enough to call what was a real win and what stayed theory.
Server Actions: the real star
Server Actions changed how we write mutations. In new projects we no longer have API routes for internal CRUD: everything goes through "use server". Result: less boilerplate, end-to-end type safety without tRPC, clear error handling.
The mental overhead is zero coming from React, but discipline matters: every action must validate with Zod, check the session, return { ok, error }. Without this pattern, Server Actions become a huge security hole.
Partial Prerendering: finally production-ready
PPR was experimental until early 2026. Now stable, and it changes how we think hybrid pages: static shell + dynamic slots. For a landing page with a personalized widget (logged user, local prices), before you had to pick SSG or SSR. Now you get both.
What still doesn't fully work: PPR + middleware with auth check. If the page fully depends on the session, prerender loses its point.
React 19: useOptimistic and use() in production
The use() hook is the most underrated addition. It lets you suspend a component on a promise without artificial wrappers. For conditional data fetching inside a Suspense boundary, it's the cleanest pattern available.
useOptimistic for optimistic UI (likes, follows, toggles) is as elegant as promised. We use it for blog likes, votes, any UI that has to feel instant.
The new cache API
"use cache" and cacheLife are Next.js' answer to the v14 fetch caching mess. Cleaner syntax: declare TTL at function level, not per HTTP call. But watch out: cacheLife("hours") and cacheLife({ revalidate: 3600 }) don't always behave the same. Read the docs.
What we won't use
- Turbopack in production builds: still "stable" with asterisks. Dev yes, prod builds we keep on tuned webpack. On larger projects the time savings don't beat the leftover bugs.
- React Server Components in npm-published libraries: the pattern is immature. Libraries stay client-side for now.
Bottom line
Mandatory upgrade for anyone on Next 14 or below. Server Actions + PPR + new cache deliver a productivity jump measurable in hours per day. On React 19 alone, the gain is less sharp — it depends on the project's patterns.