Next.js
Growing complexity and Vercel coupling. Watching the direction.
Next.js still covers the full rendering spectrum — static generation, server-side rendering, and API routes in one framework — and for teams already invested in it, that range is real. The reason it sits in Hold is the direction of travel: each release adds surface area, and the App Router, Server Components, and caching model now carry enough complexity that the framework needs studying before it can be used well.
The Vercel coupling is the harder problem. The best of Next.js increasingly assumes Vercel's platform, and the further you deploy from it the more of the framework you end up fighting. We would move a client off Next.js when the goal is a static, vendor-neutral site — Vike on Vite gives the same React model with far less to hold in your head and no proprietary deployment target. Where a team needs full-stack Next.js features and is happy on Vercel, it stays a reasonable choice — hence Hold, not Drop.