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
fetchis not cached by default anymore.- Opt into caching with the
"use cache"directive. - Invalidate with
revalidateTag()/updateTag().
Other renames
middleware.ts→proxy.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.