SS
03NotesJul 27, 2026 · 1 min read

Next.js 16 cheatsheet

The handful of Next.js 16 details I keep forgetting: async params, the caching model, and proxy.ts.

#nextjs#reference

Quick reference for the things that changed in Next.js 16.

Async dynamic APIs

params, searchParams, cookies(), and headers() are all Promises now.

export default async function Page({
  params,
}: {
  params: Promise<{ slug: string }>;
}) {
  const { slug } = await params;
  return <h1>{slug}</h1>;
}

Caching is opt-in

  • fetch is not cached by default anymore.
  • Opt into caching with the "use cache" directive.
  • Invalidate with revalidateTag() / updateTag().

Other renames

  • middleware.tsproxy.ts (runs on the Node.js runtime).
  • Turbopack is the default bundler — no config needed.

Fonts

next/font/google still self-hosts. Expose a CSS variable and wire it into the Tailwind v4 @theme inline block:

const fraunces = Fraunces({ variable: "--font-fraunces", subsets: ["latin"] });

That's most of what bites me day to day.