After upgrading to NextJS 16 using the codemod in the upgrade guide, everything seemed to be working well. Was able to test my app on preview environments without issue, and all e2e tests were passing.
Then I went live, and it also seemed okay anecdotally. But then I started to get reports of some users being unable to reach my site.
So I checked the observability tab and noticed an increase in timeouts, starting at the exact time the Next 16 deploy went out. I immediately reverted the upgrade to 16, and the timeouts stopped, and are now back down to 0.
During that time I captured the logs. Regardless of the response code (200, 500, 499, 408) I saw these errors:
Vercel Runtime Timeout Error: Task timed out after 300 seconds
Node.js process exited with signal: 15 (SIGTERM). The logs above can help with debugging the issue.
This error may be caused by other concurrent requests. View concurrent requests
I found this behavior surprising, because the upgrade had gone so smoothly otherwise, but unexpectedly prevents a portion of my customers from having a good experience on my site after the upgrade.
After reverting back to 15 the timeouts stop
To reproduce, I just have to run the NextJS 16 codemod on my project, which replaced my middleware with a file called proxy, and updated the function to also be named proxy. It upgraded the version of eslint-config-next and next (16.0.0) in my package.json as well. Then deploy it to production. I have yet to determine if I can cause the same issue to occur in preview environments, will have to try this.
- NodeJS 22.19
- Next 16
- Fluid Compute enabled
- reactCompiler enabled
- viewTransition enabled
- globalNotFound enabled
- serverComponentsHmrCache enabled
- Turborepo 2
- Yarn 4

