Hub de Migraciones

Guía de Migración Angular

Cada versión. Cada breaking change. Directo a la solución.

Por Antonio Cárdenas — Google Developer Expert en Angular

Angular lanza una versión mayor cada seis meses (mayo y noviembre). Cada versión mayor introduce breaking changes que requieren tanto schematics de ng update como correcciones manuales. Este hub enlaza todas las guías de migración, organizadas por par de versiones.

Regla de oro: Nunca saltes una versión mayor. Migra siempre de uno en uno: 19 → 20 → 21 → 22.

Checklist antes de actualizar

  1. Consulta update.angular.io para tu par de versiones exacto
  2. Verifica que tu versión de Node.js cumple el requisito (Angular 20+ requiere Node 20+)
  3. Actualiza TypeScript primero — Angular 20+ requiere TypeScript 5.8+
  4. Haz commit de todos los cambios antes de ejecutar ng update
  5. Ejecuta ng update @angular/cli @angular/core — una versión mayor a la vez
  6. Ejecuta tu suite de tests inmediatamente después para detectar breaking changes
  7. Si usas Karma, migra a Vitest: ng generate @angular/core:karma-to-vitest

Preguntas Frecuentes

¿Cómo actualizar Angular a la última versión?

Ejecuta ng update @angular/cli @angular/core en la raíz de tu proyecto. El comando de actualización de Angular gestiona la resolución de dependencias y ejecuta migraciones automáticas (schematics) que corrigen los breaking changes en tu código. Consulta siempre la guía oficial en update.angular.io y actualiza de a una versión principal a la vez.

¿Puedo saltar versiones principales de Angular al actualizar?

No. Los schematics de Angular se ejecutan secuencialmente y dependen de migraciones incrementales. Saltar de Angular 19 a Angular 21 directamente omitirá las migraciones de breaking changes de la v20, dejando el código en estado inconsistente. Actualiza siempre de una en una: 19 → 20 → 21 → 22.

¿Cuáles son los principales breaking changes de Angular 19 a 20?

Los principales breaking changes de Angular 20 son: (1) afterRender() renombrado a afterEveryRender() sin migración automática; (2) TestBed.get() eliminado — usa TestBed.inject(); (3) Enum InjectFlags eliminado; (4) token DOCUMENT movido de @angular/common a @angular/core; (5) @angular-devkit/build-angular reemplazado por el nuevo paquete @angular/build. Ejecuta ng update @angular/cli@20 @angular/core@20 para la migración automática.

¿Cuáles son los principales breaking changes de Angular 20 a 21?

Los principales breaking changes de Angular 21 son: (1) Karma reemplazado por Vitest como test runner por defecto — ejecuta ng generate @angular/core:karma-to-vitest para migrar; (2) Los nuevos proyectos excluyen zone.js por defecto; (3) HttpClient se provee en el injector raíz por defecto. Migra con ng update @angular/cli@21 @angular/core@21.

¿Cuánto tiempo lleva una migración de Angular?

Una migración estándar de Angular usando ng update tarda entre 15 y 60 minutos en la mayoría de los proyectos. Las aplicaciones empresariales grandes con suites de tests extensas en Karma pueden tardar 1-2 días, principalmente por la migración a Vitest. Los schematics gestionan automáticamente la mayor parte del código repetitivo.

¿Cuál es el calendario de versiones de Angular?

Angular sigue un ciclo predecible de versiones mayores cada 6 meses. Las versiones mayores se lanzan en mayo y noviembre. Angular 20 se lanzó en mayo de 2025, Angular 21 en noviembre de 2025, y Angular 22 en mayo de 2026. Cada versión mayor tiene soporte durante 18 meses (12 meses activos + 6 meses LTS).

Escrito por

Antonio Cárdenas

Google Developer Expert en Angular · Perfil GDE verificado

He migrado aplicaciones Angular de producción desde la v8 hasta la v22. Estas guías nacen de migraciones reales, no de releer la documentación.