Veille Angular, semaine 36

Sécurité

  • GHSA-f6mr-pjwc-34m4 (27 août, CVSS 8.6, élevée) : @angular/platform-server retire les espaces Unicode (comme l'espace insécable U+00A0) via String.prototype.trim() lors de la résolution d'URL en SSR, alors que le parsing WHATWG conservant ces caractères les laisse passer une validation same-origin faite avec new URL(input, trustedOrigin). Une URL relative validée comme same-origin peut ainsi devenir une URL protocol-relative pointant vers un domaine attaquant, avec fuite des identifiants attachés à la requête serveur.
  • GHSA-j3r3-mxqp-r2p4 (27 août, CVSS 8.6, élevée) : la sérialisation des noeuds d'instruction de traitement (<?...?>) en SSR n'inspectait pas les tags ancêtres de repli (noscript, iframe, noembed, noframes). Une donnée non fiable passée dans un tel noeud peut injecter une séquence de fermeture (</noscript) et faire exécuter le contenu suivant comme du HTML actif.
  • GHSA-v3p8-whq6-r5jg (27 août, CVSS 8.6, élevée) : même famille de bug, cette fois la traversée des ancêtres du sérialiseur ne franchissait pas les limites de DocumentFragment créées par un élément <template>, laissant du contenu non échappé dans les mêmes éléments de repli.
  • Les trois failles ci-dessus touchent @angular/platform-server de 20.0.0 à 22.1.3 et sont corrigées dans 22.1.4, 21.2.22 et 20.3.30 ; la ligne 19 est en fin de support et ne reçoit pas de correctif.
  • CVE-2026-14257 (CVSS 7.5, élevée) dans brace-expansion : la fonction expand() borne le nombre de résultats mais pas la longueur de chaque chaîne, ce qui permet un épuisement mémoire par enchaînement de groupes d'accolades. Nx embarque le correctif via la mise à jour vers brace-expansion 5.0.9 dans Nx 23.1.2.

Releases Angular core, CLI et Material

  • Angular 22.1.4 (26-27 août) : les trois correctifs de sécurité SSR ci-dessus, plus la protection contre la pollution de prototype de TransferState, l'usage du symbole NaN de la locale dans le formatage des nombres, et le remplacement de crashs par des RuntimeError typées quand l'hydratation ne retrouve pas le noeud DOM attendu.
  • Angular 22.2.0-next.4 (26-27 août) : reprend les correctifs de 22.1.4, avec en plus la déduplication des imports différés partagés entre plusieurs blocs @defer et le type-checking des blocs @defer avec clé.
  • Angular 21.2.22 et 20.3.30, lignes LTS (26-27 août) : portage des trois correctifs de sécurité SSR.
  • Angular CLI 22.1.6 (26 août) : dans @angular/build, regroupement des routes prérendues avec partage en mémoire des bundles serveur, exclusion des annotations side-effect dans les builds de tests unitaires ; dans @angular/ssr, propagation du signal d'abandon d'une requête web quand la requête Node correspondante est abandonnée.
  • Angular CLI 22.2.0-next.5 (26 août) : reprend les correctifs de 22.1.6 avec une prévention de fuite mémoire supplémentaire dans la compilation parallèle et ses caches.
  • Angular CLI 21.2.22 et 20.3.35 (26 août) : mise à jour de webpack-dev-server vers 5.2.6.
  • Angular Components 22.1.4 (26 août) : correction du sidenav qui restait bloqué lors de bascules rapides, message d'erreur explicite plutôt qu'un crash quand une colonne de table CDK est manquante.
  • Angular Components 22.2.0-next.3 (26 août) : reprend les deux correctifs ci-dessus et ajoute l'input disabledInteractive sur MatMenuItem.

Nx et outillage

  • Nx 23.1.2 (26 août), release stable : plus de 60 correctifs, dont la résolution des dépendances peer optionnelles webpack pour Angular, la détection de changement de template/style fiabilisée sous Windows, et la mise à jour de brace-expansion pour CVE-2026-14257.
  • Nx 23.2.0-beta.10 (26 août) et 23.2.0-beta.11 (27 août) : sortie pnpm pruned rendue installable et exécutable avec ses modules de workspace, filtrage de la sortie des tâches statiques, cohérence Vitest entre générateurs.

Testing et migration

  • Vitest v5.0.0-rc.3 (28 août) : parseSpecifications sort du statut expérimental, la couverture de code bascule sur les packages @vitest/istanbuljs, correction de la combinaison des filtres de projet et d'un blocage de l'UI navigateur.
  • Jest v30.5.0 (28 août) : whenCalledWith() configure une valeur de retour par liste d'arguments sur les mocks, jest.retryTimes() peut désormais rejouer un bloc describe entier, réécriture du file watcher sur @parcel/watcher et fdir, coût de résolution des modules réduit d'environ 66 %.
  • Playwright n'a publié aucune nouvelle version cette semaine : la dernière reste la 1.62.1 (30 juillet).

Écosystème et libs communautaires

  • NgRx 22.0.0 (24 août), première stable de la série alignée sur Angular 22.
  • AnalogJS v2.7.1 (26 août) : passage en stable de l'échappement HTML dans le renderer de code marked et dans la sortie Mermaid annoncé en beta la semaine dernière. v2.7.1-beta.4 (31 août) : résolution des ancres de fragment (#...) contre le document courant plutôt que dans le vide.
  • spartan-ng v1.3.4 (27 août) : propagation de l'input de stratégie de scroll à travers les wrappers d'overlay helm, le combobox ne referme plus le popover quand un item est sélectionné à la touche Entrée.

Découvertes

  • ng-brutalism (102 étoiles, v0.2.0) : bibliothèque de primitives UI Angular neo-brutalist, API directive-first, signals et zoneless, Tailwind v4, compatible Angular 21. Pourquoi tester : livre un système de composition complet (Surface, Section, Stack, Cluster, Split) pour un style visuel marqué que ni Material ni les kits headless généralistes ne couvrent.
  • semantic-components (21 étoiles) : bibliothèque de composants Angular sur Tailwind CSS 4, Angular CDK et Angular Aria, inspirée de shadcn/ui, compatible Angular 21 et plus. Pourquoi tester : porte l'approche shadcn/ui (composants copiés dans le projet plutôt qu'installés en dépendance) sur la pile Angular CDK/Aria native plutôt qu'un portage React.

AngularKit

Suite d'outils pour développeurs Angular francophones. Apprends, modernise tes réflexes, audite ta codebase.

Produits

Contact

Légal

© 2026 AngularKit. Tous droits réservés.