Compatibilidad de versiones • Angular

Compatibilidad de versiones

Las siguientes tablas describen las versiones de Node.js, TypeScript y RxJS que cada versión de Angular requiere.

Versiones con soporte activo

Esta tabla cubre versiones de Angular con soporte activo.

Angular Node.js TypeScript RxJS
21.0.x ^20.19.0 || ^22.12.0 || ^24.0.0 >=5.9.0 <6.0.0 ^6.5.3 || ^7.4.0
20.2.x || 20.3.x ^20.19.0 || ^22.12.0 || ^24.0.0 >=5.8.0 <6.0.0 ^6.5.3 || ^7.4.0
20.0.x || 20.1.x ^20.19.0 || ^22.12.0 || ^24.0.0 >=5.8.0 <5.9.0 ^6.5.3 || ^7.4.0
19.2.x ^18.19.1 || ^20.11.1 || ^22.0.0 >=5.5.0 <5.9.0 ^6.5.3 || ^7.4.0
19.1.x ^18.19.1 || ^20.11.1 || ^22.0.0 >=5.5.0 <5.8.0 ^6.5.3 || ^7.4.0
19.0.x ^18.19.1 || ^20.11.1 || ^22.0.0 >=5.5.0 <5.7.0 ^6.5.3 || ^7.4.0

Versiones de Angular sin soporte

Esta tabla cubre versiones de Angular que ya no están bajo soporte a largo plazo (LTS). Esta información era correcta cuando cada versión salió de LTS y se proporciona sin ninguna garantía adicional. Se incluye aquí como referencia histórica.

Angular Node.js TypeScript RxJS
18.1.x || 18.2.x ^18.19.1 || ^20.11.1 || ^22.0.0 >=5.4.0 <5.6.0 ^6.5.3 || ^7.4.0
18.0.x ^18.19.1 || ^20.11.1 || ^22.0.0 >=5.4.0 <5.5.0 ^6.5.3 || ^7.4.0
17.3.x ^18.13.0 || ^20.9.0 >=5.2.0 <5.5.0 ^6.5.3 || ^7.4.0
17.1.x || 17.2.x ^18.13.0 || ^20.9.0 >=5.2.0 <5.4.0 ^6.5.3 || ^7.4.0
17.0.x ^18.13.0 || ^20.9.0 >=5.2.0 <5.3.0 ^6.5.3 || ^7.4.0
16.1.x || 16.2.x ^16.14.0 || ^18.10.0 >=4.9.3 <5.2.0 ^6.5.3 || ^7.4.0
16.0.x ^16.14.0 || ^18.10.0 >=4.9.3 <5.1.0 ^6.5.3 || ^7.4.0
15.1.x || 15.2.x ^14.20.0 || ^16.13.0 || ^18.10.0 >=4.8.2 <5.0.0 ^6.5.3 || ^7.4.0
15.0.x ^14.20.0 || ^16.13.0 || ^18.10.0 ~4.8.2 ^6.5.3 || ^7.4.0
14.2.x || 14.3.x ^14.15.0 || ^16.10.0 >=4.6.2 <4.9.0 ^6.5.3 || ^7.4.0
14.0.x || 14.1.x ^14.15.0 || ^16.10.0 >=4.6.2 <4.8.0 ^6.5.3 || ^7.4.0
13.3.x || 13.4.x ^12.20.0 || ^14.15.0 || ^16.10.0 >=4.4.3 <4.7.0 ^6.5.3 || ^7.4.0
13.1.x || 13.2.x ^12.20.0 || ^14.15.0 || ^16.10.0 >=4.4.3 <4.6.0 ^6.5.3 || ^7.4.0
13.0.x ^12.20.0 || ^14.15.0 || ^16.10.0 ~4.4.3 ^6.5.3 || ^7.4.0
12.2.x ^12.14.0 || ^14.15.0 >=4.2.3 <4.4.0 ^6.5.3 || ^7.0.0
12.1.x ^12.14.0 || ^14.15.0 >=4.2.3 <4.4.0 ^6.5.3
12.0.x ^12.14.0 || ^14.15.0 ~4.2.3 ^6.5.3
11.2.x ^10.13.0 || ^12.11.0 >=4.0.0 <4.2.0 ^6.5.3
11.1.x ^10.13.0 || ^12.11.0 >=4.0.0 <4.2.0 ^6.5.3
11.0.x ^10.13.0 || ^12.11.0 ~4.0.0 ^6.5.3
10.2.x ^10.13.0 || ^12.11.0 >=3.9.0 <4.1.0 ^6.5.3
10.1.x ^10.13.0 || ^12.11.0 >=3.9.0 <4.1.0 ^6.5.3
10.0.x ^10.13.0 || ^12.11.0 ~3.9.0 ^6.5.3
9.1.x ^10.13.0 || ^12.11.0 >=3.6.0 <3.9.0 ^6.5.3
9.0.x ^10.13.0 || ^12.11.0 >=3.6.0 <3.8.0 ^6.5.3

Antes de v9

Hasta Angular v9, las versiones de Angular y Angular CLI no estaban sincronizadas.

Angular Angular CLI Node.js TypeScript RxJS
8.2.x 8.2.x || 8.3.x ^10.9.0 >=3.4.2 <3.6.0 ^6.4.0
8.0.x || 8.1.x 8.0.x || 8.1.x ^10.9.0 ~3.4.2 ^6.4.0
7.2.x 7.2.x || 7.3.x ^8.9.0 || ^10.9.0 >=3.1.3 <3.3.0 ^6.0.0
7.0.x || 7.1.x 7.0.x || 7.1.x ^8.9.0 || ^10.9.0 ~3.1.3 ^6.0.0
6.1.x 6.1.x || 6.2.x ^8.9.0 >=2.7.2 <3.0.0 ^6.0.0
6.0.x 6.0.x ^8.9.0 ~2.7.2 ^6.0.0
5.2.x 1.6.x || 1.7.x ^6.9.0 || ^8.9.0 >=2.4.2 <2.7.0 ^5.5.0
5.0.x || 5.1.x 1.5.x ^6.9.0 || ^8.9.0 ~2.4.2 ^5.5.0
4.2.x || 4.3.x || 4.4.x 1.4.x ^6.9.0 || ^8.9.0 >=2.1.6 <2.5.0 ^5.0.1
4.2.x || 4.3.x || 4.4.x 1.3.x ^6.9.0 >=2.1.6 <2.5.0 ^5.0.1
4.0.x || 4.1.x 1.0.x || 1.1.x || 1.2.x ^6.9.0 >=2.1.6 <2.4.0 ^5.0.1
2.x - ^6.9.0 >=1.8.0 <2.2.0 ^5.0.1

Soporte de navegadores

Angular usa el criterio "widely available" Baseline para definir el soporte de navegadores. Para cada versión principal, Angular soporta los navegadores incluidos en el Baseline de una fecha elegida cercana a la fecha de lanzamiento de esa versión principal.

El Baseline "widely available" incluye navegadores lanzados hace menos de 30 meses (2.5 años) de la fecha elegida dentro del conjunto de navegadores principales de Baseline (Chrome, Edge, Firefox, Safari) y apunta a soportar aproximadamente el 95% de los usuarios web.

Angular Fecha de Baseline Conjunto de navegadores
v21 2025-10-20 Conjunto de navegadores
v20 2025-04-30 Conjunto de navegadores

Las versiones de Angular anteriores a v20 soportan las siguientes versiones específicas de navegadores:

Navegador Versiones compatibles
Chrome 2 versiones más recientes
Firefox última y versión de soporte extendido (ESR)
Edge 2 versiones principales más recientes
Safari 2 versiones principales más recientes
iOS 2 versiones principales más recientes
Android 2 versiones principales más recientes

Polyfills

Angular está construido sobre los estándares más recientes de la plataforma web. Apuntar a una gama tan amplia de navegadores es un desafío porque no todos soportan todas las características de los navegadores modernos. Puedes compensar esto cargando scripts polyfill ("polyfills") para los navegadores que debes soportar. A continuación, encontrarás instrucciones sobre cómo incluir polyfills en tu proyecto.

IMPORTANTE: Los polyfills sugeridos son los que ejecutan aplicaciones Angular completas. Es posible que necesites polyfills adicionales para soportar características no cubiertas por esta lista.

ÚTIL: Los polyfills no pueden transformar mágicamente un navegador antiguo y lento en uno moderno y rápido.

Habilitando polyfills en proyectos CLI

El Angular CLI proporciona soporte para polyfills. Si no estás usando el CLI para crear tus proyectos, consulta las Instrucciones de polyfills para usuarios sin CLI.

La opción polyfills del builder de navegador y pruebas puede ser una ruta completa de un archivo (Ejemplo: src/polyfills.ts) o, relativa al espacio de trabajo actual o especificador de módulo (Ejemplo: zone.js).

Si creas un archivo TypeScript, asegúrate de incluirlo en la propiedad files de tu archivo tsconfig.

{  "extends": "./tsconfig.json",  "compilerOptions": {    ...  },  "files": [    "src/main.ts",    "src/polyfills.ts"  ]  ...}

Polyfills para usuarios sin CLI

Si no estás usando el CLI, agrega tus scripts polyfill directamente a la página web host (index.html).

Por ejemplo:

src/index.html

<!-- polyfills pre-zone --><script src="node_modules/core-js/client/shim.min.js"></script><script>  /**   * puedes configurar algunos flags de zone que pueden deshabilitar la intercepción de zone para algunas   * actividades asíncronas para mejorar el rendimiento de inicio - usa estas opciones solo   * si sabes lo que estás haciendo, ya que podría resultar en errores difíciles de rastrear.   */  // __Zone_disable_requestAnimationFrame = true; // deshabilitar patch de requestAnimationFrame  // __Zone_disable_on_property = true; // deshabilitar patch de onProperty como onclick  // __zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // deshabilitar patch de eventNames especificados  /*   * en las herramientas de desarrollo de Edge, addEventListener también será envuelto por zone.js   * con el siguiente flag, se omitirá el patch de `zone.js` para Edge.   */  // __Zone_enable_cross_context_check = true;</script><!-- zone.js requerido por Angular --><script src="node_modules/zone.js/bundles/zone.umd.js"></script><!-- polyfills de la aplicación -->