Vercel pushed Next.js 16 to stable on March 18, 2026 with a feature that quietly upends how everyone has been writing App Router code for the past three years: cache components. We migrated a 4.2-million-monthly-active-user marketing site over six weeks. Here's what actually happened, including the three production incidents we caused and what the migration is worth. I led the migration as the senior engineer on a four-person platform team. We chose to document it in public because we couldn't find a single honest write-up of a real cache-components migration at the time — Vercel's own examples were too clean, and Twitter threads were too triumphal. What follows is the full log, with the dashboards, the cost lines, and the screenshots-in-prose. If you're considering this migration, this is the article I wish I'd had three months ago.…