Parece mentira pero ya tenemos encima fin de año, y también lo tenemos encima a Angular 13, la nueva versión del framework de Google. Ya que se encuentra en etapa de pre-release, podemos afirmar que la plataforma no recibirá más features y solo se dedicarán a estabilizarla, entonces, ¿qué se nos ofrece?
Full Ivy
Hace como 2 años, y luego de demorarse por unas 3 versiones, Angular 9 nos trajo el motor de render Ivy; un motor, si se quiere, revolucionario para el sistema que prometía optimizar los bundles para reducción del peso y mejora del rendimiento. Sin embargo, ha costado mucho estabilizar dicho motor, a tal punto que aun en Angular 12 no se integra al 100% de la plataforma. El deadline para Google ha sido Angular 13, y en esta versión si prometen que los builds serán realizados completamente con Ivy, una gran noticia y una gran oportunidad para actualizar los proyectos a dicha versión.
Actualización de Dependencias
Esto suele ser una constante en cada versión, pero no quiero dejar de mencionarlo: Angular 13 funcionará con Typescript 4.4, y de hecho requerirá mínimo la versión 4.4.2. Esto se sumará, seguramente, a una actualización general de paquetes, pero quiero mencionar la actualización de una dependencia que no tiene ritmos tan vertiginosos de salida a producción: RxJS. Así es, la "programación reactiva" en Angular 13 requerirá de la nueva RxJS 7, interesante para aprovechar todo lo que ofrece dicha librería, que en esta última versión incluye novedades de interés.
Y no tanto una dependencia sino una "ausencia de soporte": Angular 13 no será compatible con IE 11. De esta manera IE deja de ser compatible en Angular, y habiendo dejado de serlo también en Bootstrap creo que es preciso afirmar que ya es un "ex-navegador".
Router, Routing, muchas novedades en Routing
La parte de rutas viene dando algunos problemas hace ya tiempo, así que se han dedicado fuertemente a eso en esta versión. Entre las mejoras hay una muy interesante que consiste en no reemplazar le URL del navegador si la ruta es cancelada mientras se realiza la navegación; esto permite evitar muchísimos bugs relacionados a la obtención del nombre de la ruta.
Api $localize
El uso de distintos idiomas ha sido siempre complicado, yo mismo paso de emplear el sistema "estándar" de Angular. No obstante, a partir de Angular 13, han incluido una nueva API con muchos menos errores y de manejo más simple, segun prometen.
Angular Material
Como siempre, actualizaron los compiladores para Material. Pero en esta ocación particular han incluido varios opciones de Accesibilidad (a11y). La más interesante es la posibilidad de agregar un modo de alto contraste (que se suma al oscuro y al claro).