Carlos Cifuentes
Versiones de Angular · v15

Angular 15: fin de soporte y cómo actualizar

Angular 15 dejó estables las APIs standalone y pasó Angular Material a componentes basados en MDC. No tiene soporte desde mayo de 2024.

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

Fechas de lanzamiento y soporte

Angular 15 se publicó en noviembre de 2022. El soporte activo terminó en mayo de 2023 y el soporte de largo plazo terminó en mayo de 2024. 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 15

  • APIs standalone estables. Los componentes, directivas y pipes standalone salieron de developer preview, y una app puede arrancar con bootstrapApplication.
  • APIs standalone tree-shakable para el router y HttpClient, como provideRouter.
  • La directive composition API, que agrega directivas a un host con hostDirectives.
  • Una directiva de imágenes estable. NgOptimizedImage salió de developer preview.
  • Guards funcionales en el router, y rutas lazy que resuelven los default exports.
  • Componentes de Angular Material basados en MDC. Muchos componentes recibieron una nueva estructura de DOM y nuevos estilos. Las implementaciones anteriores quedaron disponibles como imports legacy deprecados.
  • Una salida de ng new más simple, sin los archivos test.ts, polyfills.ts ni environments.
  • Deprecaciones: providedIn: 'any' y providedIn con un NgModule. El equipo también anunció el fin de las versiones nuevas de @angular/flex-layout.

Qué revisar al actualizar

De 15 a 16:

  • Se requieren Node.js 16.14 o 18.10 y posteriores, TypeScript 4.9.3 o posterior y Zone.js 0.13 o posterior.
  • Se elimina ngcc, así que las librerías compiladas con View Engine dejan de funcionar.
  • Se eliminan estas APIs: entryComponents, ANALYZE_FOR_ENTRY_COMPONENTS, ReflectiveInjector, renderModuleFactory y BrowserTransferStateModule.
  • XhrFactory debe importarse desde @angular/common.
  • Las pruebas reciben MockPlatformLocation por defecto, y las pruebas que simulan ActivatedRoute pueden necesitar cambios.

De 16 a 17:

  • Se requieren Node.js 18.13 o posterior, TypeScript 5.2 o posterior y Zone.js 0.14 o posterior.
  • Los componentes legacy de Angular Material no forman parte de Material 17. Angular 17 puede correr con Material 16 como opción temporal que termina con la v18.
  • Los imports profundos de Zone.js como zone.js/dist/zone deben pasar a zone.js y zone.js/testing.
  • Las opciones del router como urlUpdateStrategy y paramsInheritanceStrategy se configuran con provideRouter o RouterModule.forRoot. Ya no son propiedades públicas de Router.
  • NgSwitch compara con ===.
  • Los estilos de los componentes destruidos se eliminan de forma automática.

Un plan corto de actualización

  1. Actualiza al último parche de 15.2.x, confirma que el build y las pruebas pasan, y haz commit.
  2. Reemplaza o actualiza cada librería que todavía distribuye código de View Engine antes del paso a la v16.
  3. Ejecuta ng update @angular/core@16 @angular/cli@16 y luego ng update @angular/material@16.
  4. Migra los imports legacy de Material a los componentes MDC antes de la v17.
  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 16.

Cuándo conviene pedir ayuda

Una app en la v15 que todavía importa componentes legacy de Material tiene un plazo dentro de la actualización: esos componentes salen del paquete en la v17. Conviene pedir ayuda si muchas pantallas dependen de ellos, si la app usa mucho @angular/flex-layout, o si la actualización también debe entregar el paso a componentes standalone. El plan está en Estrategia para actualizar versiones antiguas de Angular. Para una plataforma repartida entre varios equipos, mira Reescribir, híbrido o microfrontends.

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