chore: Move nextJS from v15 to v16 - #297
brunomenezes wants to merge 5 commits into
Conversation
* Add information for next explorer release v3.12.6
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
Coverage Report for CI Build 35369518353Coverage remained the same at 66.43%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsNo coverage regressions found. Coverage Stats💛 - Coveralls |
Summary
Next.js 15 reaches end of maintenance on 21 Oct 2026 — about five weeks away. After that date it receives no security patches at all. The framework has been shipping roughly monthly security releases, two of them rated Critical, so sitting on an unsupported line is not a position we want to be in.
Patching to the latest 15.x would buy five weeks and then need doing again. This goes straight to Next 16, which supersedes every fix in that patch and puts us back on a supported line.
No user-facing changes. No features added, removed or altered — same pages, same behaviour.
What changed
The Storybook and Vite bumps are required, not incidental: Storybook 9.1.10 refuses to install alongside Next 16, and 9.1.20 also closes two known dev-server vulnerabilities that affect developer machines (not production).
Beyond dependencies, four things were needed:
next build. Next 16 fails the build if a custom webpack config is present. Ours only existed to work around apino-prettyresolution issue — that package is no longer in the dependency tree at all, so the workaround was removed rather than ported.next-env.d.tsis no longer tracked in git. Next 16 givesdevandbuildseparate output directories, so this generated file now rewrites itself depending on which command ran last. Next's own documentation reversed its previous guidance and asks for it to be gitignored.agentRules: falseinnext.config.jsstops Next 16 from generatingAGENTS.mdandCLAUDE.mdin the repo root on everynext dev.CI now builds
build.ymlran format, lint and tests but never actually built the app — a bundler regression would have shown up on a Vercel deploy rather than in CI. Given this PR changes the bundler, a build step was added.