# angular-cli v22.2.0-next.4 — 22.2.0-next.4 - Product: angular-cli (https://whatsnew.fyi/product/angular-cli) - Vendor: angular-cli - Date: 2026-08-19 - Version: v22.2.0-next.4 - Original notes: https://github.com/angular/angular-cli/releases/tag/v22.2.0-next.4 - Permalink: https://whatsnew.fyi/product/angular-cli/releases/v22.2.0-next.4 - Labels: Pre-release What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **fixed** — Transform fail() to expect.fail() in refactor-jasmine-vitest - **fixed** — Enforce MCP roots in get_best_practices tool - **fixed** — Handle errors from isAllowedWorkspacePath in best-practices tool - **fixed** — Throw on out-of-roots workspace in best-practices tool - **added** — Support splitting browser and server stats jsonfiles for easier consumption - **fixed** — Correct misleading error message for top-level await - **fixed** — Disable code splitting for unit test builds - **fixed** — Preserve integrity and crossorigin in autoCsp loader - **changed** — Traverse AST with iterative post-order walker in i18n inliner ###### @schematics/angular | Commit | Description | | -- | -- | | [![fix - ce1b60f89](https://img.shields.io/badge/ce1b60f89-fix-green)](https://github.com/angular/angular-cli/commit/ce1b60f89699c3a76496a0489e5f2b9e4fe62429) | transform fail() to expect.fail() in refactor-jasmine-vitest | ###### @angular/cli | Commit | Description | | -- | -- | | [![fix - 34e1e0bb5](https://img.shields.io/badge/34e1e0bb5-fix-green)](https://github.com/angular/angular-cli/commit/34e1e0bb5d5ccf374f51a1b241158f6f2ea0dd42) | enforce MCP roots in get_best_practices tool | | [![fix - 2b060630c](https://img.shields.io/badge/2b060630c-fix-green)](https://github.com/angular/angular-cli/commit/2b060630c66ce688b7ecbe51d282955869e5d4b0) | handle errors from isAllowedWorkspacePath in best-practices tool | | [![fix - 24fd8fce2](https://img.shields.io/badge/24fd8fce2-fix-green)](https://github.com/angular/angular-cli/commit/24fd8fce2a3ff035acdc5f3e036eb4ba21f71a76) | throw on out-of-roots workspace in best-practices tool | ###### @angular/build | Commit | Description | | -- | -- | | [![feat - 175273931](https://img.shields.io/badge/175273931-feat-blue)](https://github.com/angular/angular-cli/commit/175273931ebb0cf08bf62dd1694dbde5ff5229b6) | Support splitting browser and server stats jsonfiles for easier consumption | | [![fix - 1ee0beca7](https://img.shields.io/badge/1ee0beca7-fix-green)](https://github.com/angular/angular-cli/commit/1ee0beca7b243cc4c06eb42b25d216d7b256b097) | correct misleading error message for top-level await | | [![fix - 0ffe2d27f](https://img.shields.io/badge/0ffe2d27f-fix-green)](https://github.com/angular/angular-cli/commit/0ffe2d27f256a5755809fa4788e4adb97c65b806) | disable code splitting for unit test builds | | [![fix - 50994d76e](https://img.shields.io/badge/50994d76e-fix-green)](https://github.com/angular/angular-cli/commit/50994d76e59a4b632f1782c51cd60f80c9cd50fb) | preserve integrity and crossorigin in autoCsp loader | | [![perf - d6fd24320](https://img.shields.io/badge/d6fd24320-perf-orange)](https://github.com/angular/angular-cli/commit/d6fd243207ad1c3e242b8592698afa986320cc6c) | traverse AST with iterative post-order walker in i18n inliner |