Carlos Cifuentes
Versiones de Angular · v18

Angular 18: fin de soporte y cómo actualizar

Angular 18 estabilizó el control flow integrado y las deferrable views, y publicó la detección de cambios zoneless en modo experimental. No tiene soporte desde noviembre de 2025.

Por Carlos Cifuentes · Arquitecto frontend · Actualizado 2026-10-02

Fechas de lanzamiento y soporte

Angular 18 se publicó en mayo de 2024. El soporte activo terminó en noviembre de 2024 y el soporte de largo plazo terminó en noviembre de 2025. Hoy no recibe parches de seguridad. Las fechas de cada versión están en Soporte y fin de vida de las versiones de Angular.

Qué introdujo Angular 18

  • Detección de cambios zoneless experimental, activada con provideExperimentalZonelessChangeDetection().
  • Control flow integrado y deferrable views estables. Ambos salieron de developer preview.
  • Material 3 estable en Angular Material.
  • Signal inputs, queries basadas en signals y la nueva sintaxis de outputs en developer preview.
  • Mejoras de server-side rendering: hidratación para bloques i18n y event replay, ambos en developer preview.
  • angular.dev como sitio oficial de documentación.
  • Agregados menores: contenido por defecto para ng-content, un observable events unificado en los controles de formulario y redirectTo como función.
  • Herramientas para pasar al application builder, y TypeScript 5.4.

Qué revisar al actualizar

De 18 a 19:

  • Se requiere TypeScript 5.5 o posterior.
  • standalone pasa a ser true por defecto. ng update agrega standalone: false a cada declaración que pertenece a un NgModule.
  • Las variables de referencia de template ya no se pueden leer con el prefijo this..
  • Router.errorHandler se reemplaza por withNavigationErrorHandler en provideRouter, o por errorHandler en RouterModule.forRoot.
  • fakeAsync vacía los timers pendientes por defecto.
  • Cambió el momento en que se ejecuta effect(), y la opción allowSignalWrites queda deprecada.
  • Se elimina el builder de Protractor del CLI.

De 19 a 20:

  • Node.js 18 deja de estar soportado. La tabla de versiones indica Node 20.19, 22.12 y 24 para Angular 20.
  • Se requiere TypeScript 5.8 o posterior.
  • afterRender pasa a llamarse afterEveryRender.
  • Se eliminan TestBed.get() y el enum InjectFlags. TestBed.flushEffects() se reemplaza por TestBed.tick().
  • provideExperimentalZonelessChangeDetection pasa a llamarse provideZonelessChangeDetection.
  • Los atributos ng-reflect-* dejan de estar disponibles por defecto, lo que afecta a las pruebas que los consultan.
  • *ngIf, *ngFor y *ngSwitch quedan deprecados en favor del control flow integrado.

Un plan corto de actualización

  1. Actualiza al último parche de 18.2.x, confirma que el build y las pruebas pasan, y haz commit.
  2. Ejecuta ng update @angular/core@19 @angular/cli@19 y luego ng update @angular/material@19.
  3. Revisa los cambios de standalone: false que agrega la migración. Mantienen el código basado en NgModules funcionando como antes.
  4. Pasa el CI y las máquinas locales a una versión de Node.js soportada por Angular 20 antes de ese paso.
  5. Actualiza las librerías de terceros, corrige las deprecaciones, corre las pruebas y publica.
  6. Repite con la siguiente versión mayor. La siguiente parada es Angular 19.

Cuándo conviene pedir ayuda

Cuatro versiones mayores separan a la v18 de la versión actual. Conviene pedir ayuda si la app mezcla NgModules, componentes standalone y las primeras APIs de signals de una forma que hace difícil revisar las migraciones, si las pruebas dependen de los tiempos de fakeAsync, o si el equipo tiene una fecha fija para volver a una versión con soporte. El orden de trabajo está en Estrategia para actualizar versiones antiguas de Angular.

Más en esta sección

¿Planeas una migración o una plataforma de microfrontends?

En una llamada de 20 minutos me cuentas tu situación y te digo cómo la abordaría. Si todavía no vale la pena, también te lo digo.

Escríbeme por LinkedIn