I was hesitant to upgrade my blog to Next 15 since it came with quite a few breaking changes. I planned to wait until I actually needed React 19, Tailwind v4, etc.—but the recent Next.js middleware vulnerability finally pushed me to do it.
Turns out, the upgrade process was smooth thanks to @next/codemod. It automates most of the migration work:
npx @next/codemod@canary upgrade latest
Next, I upgraded Tailwind. They also provide a CLI to handle the transition:
npx @tailwindcss/upgrade
After this, I started seeing turbopack errors in dev mode:
⚠ Webpack is configured while Turbopack is not, which may cause problems.
⚠ See instructions if you need to configure Turbopack:
https://nextjs.org/docs/app/api-reference/next-config-js/turbo
The issue was caused by forcing a crypto fallback via webpack, which isn’t needed with Turbopack.
I then upgraded the rest of my dependencies. Everything went smoothly—except for one:
WARN Issues with peer dependencies found
└─┬ @vercel/style-guide 6.0.0
└── ✕ unmet peer @next/eslint-plugin-next@">=12.3.0 <15.0.0-0": found 15.2.4
Looks like the Vercel style guide package is deprecated and hasn’t been updated for Next 15. I removed it and replaced it with eslint-config-next.
So far, everything seems to be working just fine.
tl;dr