Next.js
Actualizaciones de Next.js y compatibilidad
Explica cómo actualizar Next.js con control de versiones, compatibilidad de Node y React, codemods, pruebas, seguridad, rollout y rollback.
- Última actualización
- Actualizada
- Nivel
- Aplicación
Next.js
Explica cómo actualizar Next.js con control de versiones, compatibilidad de Node y React, codemods, pruebas, seguridad, rollout y rollback.
Actualizar Next.js es una operación de producto y seguridad, no solo cambiar una versión. Cada release puede modificar requisitos de Node/React, convenciones de archivos, caché, routing, bundling y comportamiento de paquetes terceros. La estrategia correcta separa conceptos durables de detalles de versión y adopta cambios mediante evidencia, previews y rollback.
A 24 de julio de 2026:
Esta sección es intencionalmente temporal. Verifica siempre el blog, advisories y npm antes de actualizar.
current application
+ release notes
+ upgrade guide
+ security advisories
+ dependency compatibility
↓
branch and reproducible install
↓
codemods + manual changes
↓
lint/types/tests/build
↓
preview and production-like validation
↓
gradual release
↓
observe or rollbackNo saltes de “instaló correctamente” a “es compatible”.
16.2.10 → 16.2.11Debe preservar API pública, pero puede cambiar comportamiento para corregir seguridad o bugs. Sigue necesitando tests y build.
16.1 → 16.2Añade capacidades y puede introducir deprecations, defaults o mejoras de tooling. Revisa notas completas.
15 → 16Puede incluir breaking changes y migraciones obligatorias. Usa upgrade guide y codemods.
Incluye trabajo no estable. Úsalo para reproducir bugs, probar una feature concreta o aportar feedback; no como actualización rutinaria de producción.
Orden recomendado:
Un tutorial antiguo puede usar:
middleware.ts en vez de proxy.ts.next lint.priority en imágenes en lugar de preload.La documentación oficial de la versión instalada domina.
Antes de cambiar:
Actualiza en branch, no directamente en production.
npx @next/codemod@canary upgrade latestO instala manualmente:
pnpm add next@latest react@latest react-dom@latestUn codemod puede:
No puede decidir:
Revisa el diff archivo por archivo.
Comprueba:
node --version
pnpm why next react react-domNext.js 16 se apoya en React 19.2 y requisitos modernos de Node. No confíes en una versión global distinta a CI/Vercel/Docker.
Alinea react y react-dom. Versiones incompatibles pueden producir errores de RSC, hydration o hooks.
Revisa especialmente:
Busca peer dependency warnings y matrices de soporte. No fuerces una instalación ignorando incompatibilidades sin entender su impacto.
Inventaría experimental en next.config:
experimental: {
someFeature: true,
}Una feature puede:
Elimina flags que ya no existen. No copies configuraciones de otro proyecto sin comprobar la versión.
Entre los cambios del major están:
proxy.ts reemplaza middleware.ts.No actives Cache Components durante el mismo PR que una actualización mayor si no necesitas combinar riesgos. Primero estabiliza la versión o divide el rollout.
16.2 añadió y estabilizó mejoras como:
next start --inspect.ImageResponse.Las features experimentales del release siguen siendo experimentales aunque aparezcan en un minor estable.
Una actualización de seguridad tiene prioridad. Flujo:
advisory
→ determine affected versions/features
→ upgrade patched release
→ rotate credentials if exposure possible
→ build/test
→ deploy rapidly
→ inspect logs and indicatorsNo pospongas un parche crítico porque “la app funciona”. Tampoco instales una versión arbitraria sin leer mitigaciones y requisitos.
Mantén:
pnpm lint
pnpm typecheck
pnpm test
pnpm buildMide antes/después:
Una versión “más rápida” en benchmarks puede empeorar tu app por un plugin, cache miss o cambio de bundle.
Para una actualización mayor:
No mezcles actualización, refactor completo, cambio de DB y rediseño en una sola release si puedes evitarlo.
Rollback debe considerar:
Una actualización puede cambiar formato de cache o output. Limpia/reversiona capas necesarias sin invalidar datos indiscriminadamente.
Define:
patches → semanal/inmediato si security
minors → ventana periódica
majors → evaluación planificada
preview → sandbox onlyEvita acumular varios majors: aumenta salto y reduce soporte de paquetes. Pero tampoco actualices cada canary sin razón.
Para mantener este Notebook durable:
Así una nueva release no obliga a reescribir las 70 notas.
No existe validación previa.
Transforma sintaxis, no arquitectura.
Puede romper runtime.
Mezcla defaults y APIs.
Dificulta aislar regresiones.
Recibes cambios impredecibles.
Expone el sistema por comodidad.
Antipatrones frecuentes en Next.js utiliza el modelo completo para reconocer soluciones que parecen fáciles pero fallan bajo escala, seguridad o mantenimiento.